cabal-version: 2.2

-- This file has been generated from package.yaml by hpack version 0.33.0.
--
-- see: https://github.com/sol/hpack
--
-- hash: ab4f11203014cb17410935e123ca7ec6a20dfab05bbc237d3c7519e80d55be2a

name:           vulkan
version:        3.6.1
synopsis:       Bindings to the Vulkan graphics API.
category:       Graphics
homepage:       https://github.com/expipiplus1/vulkan#readme
bug-reports:    https://github.com/expipiplus1/vulkan/issues
maintainer:     Joe Hermaszewski <live.long.and.prosper@monoid.al>
license:        BSD-3-Clause
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    readme.md
    changelog.md

source-repository head
  type: git
  location: https://github.com/expipiplus1/vulkan

flag generic-instances
  description: Derive Generic instances for all structs. Disabled by default because of code size and compile time impact.
  manual: True
  default: False

flag safe-foreign-calls
  description: Do not mark foreign imports as 'unsafe'. This means that callbacks from Vulkan to Haskell will work. If you are using these then make sure this flag is enabled.
  manual: True
  default: False

library
  exposed-modules:
      Vulkan
      Vulkan.Core10
      Vulkan.Core10.AllocationCallbacks
      Vulkan.Core10.APIConstants
      Vulkan.Core10.Buffer
      Vulkan.Core10.BufferView
      Vulkan.Core10.CommandBuffer
      Vulkan.Core10.CommandBufferBuilding
      Vulkan.Core10.CommandPool
      Vulkan.Core10.DescriptorSet
      Vulkan.Core10.Device
      Vulkan.Core10.DeviceInitialization
      Vulkan.Core10.Enums
      Vulkan.Core10.Enums.AccessFlagBits
      Vulkan.Core10.Enums.AttachmentDescriptionFlagBits
      Vulkan.Core10.Enums.AttachmentLoadOp
      Vulkan.Core10.Enums.AttachmentStoreOp
      Vulkan.Core10.Enums.BlendFactor
      Vulkan.Core10.Enums.BlendOp
      Vulkan.Core10.Enums.BorderColor
      Vulkan.Core10.Enums.BufferCreateFlagBits
      Vulkan.Core10.Enums.BufferUsageFlagBits
      Vulkan.Core10.Enums.BufferViewCreateFlags
      Vulkan.Core10.Enums.ColorComponentFlagBits
      Vulkan.Core10.Enums.CommandBufferLevel
      Vulkan.Core10.Enums.CommandBufferResetFlagBits
      Vulkan.Core10.Enums.CommandBufferUsageFlagBits
      Vulkan.Core10.Enums.CommandPoolCreateFlagBits
      Vulkan.Core10.Enums.CommandPoolResetFlagBits
      Vulkan.Core10.Enums.CompareOp
      Vulkan.Core10.Enums.ComponentSwizzle
      Vulkan.Core10.Enums.CullModeFlagBits
      Vulkan.Core10.Enums.DependencyFlagBits
      Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits
      Vulkan.Core10.Enums.DescriptorPoolResetFlags
      Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits
      Vulkan.Core10.Enums.DescriptorType
      Vulkan.Core10.Enums.DeviceCreateFlags
      Vulkan.Core10.Enums.DeviceQueueCreateFlagBits
      Vulkan.Core10.Enums.DynamicState
      Vulkan.Core10.Enums.EventCreateFlags
      Vulkan.Core10.Enums.FenceCreateFlagBits
      Vulkan.Core10.Enums.Filter
      Vulkan.Core10.Enums.Format
      Vulkan.Core10.Enums.FormatFeatureFlagBits
      Vulkan.Core10.Enums.FramebufferCreateFlagBits
      Vulkan.Core10.Enums.FrontFace
      Vulkan.Core10.Enums.ImageAspectFlagBits
      Vulkan.Core10.Enums.ImageCreateFlagBits
      Vulkan.Core10.Enums.ImageLayout
      Vulkan.Core10.Enums.ImageTiling
      Vulkan.Core10.Enums.ImageType
      Vulkan.Core10.Enums.ImageUsageFlagBits
      Vulkan.Core10.Enums.ImageViewCreateFlagBits
      Vulkan.Core10.Enums.ImageViewType
      Vulkan.Core10.Enums.IndexType
      Vulkan.Core10.Enums.InstanceCreateFlags
      Vulkan.Core10.Enums.InternalAllocationType
      Vulkan.Core10.Enums.LogicOp
      Vulkan.Core10.Enums.MemoryHeapFlagBits
      Vulkan.Core10.Enums.MemoryMapFlags
      Vulkan.Core10.Enums.MemoryPropertyFlagBits
      Vulkan.Core10.Enums.ObjectType
      Vulkan.Core10.Enums.PhysicalDeviceType
      Vulkan.Core10.Enums.PipelineBindPoint
      Vulkan.Core10.Enums.PipelineCacheCreateFlagBits
      Vulkan.Core10.Enums.PipelineCacheHeaderVersion
      Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags
      Vulkan.Core10.Enums.PipelineCreateFlagBits
      Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags
      Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags
      Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags
      Vulkan.Core10.Enums.PipelineLayoutCreateFlags
      Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags
      Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags
      Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits
      Vulkan.Core10.Enums.PipelineStageFlagBits
      Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags
      Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags
      Vulkan.Core10.Enums.PipelineViewportStateCreateFlags
      Vulkan.Core10.Enums.PolygonMode
      Vulkan.Core10.Enums.PrimitiveTopology
      Vulkan.Core10.Enums.QueryControlFlagBits
      Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits
      Vulkan.Core10.Enums.QueryPoolCreateFlags
      Vulkan.Core10.Enums.QueryResultFlagBits
      Vulkan.Core10.Enums.QueryType
      Vulkan.Core10.Enums.QueueFlagBits
      Vulkan.Core10.Enums.RenderPassCreateFlagBits
      Vulkan.Core10.Enums.Result
      Vulkan.Core10.Enums.SampleCountFlagBits
      Vulkan.Core10.Enums.SamplerAddressMode
      Vulkan.Core10.Enums.SamplerCreateFlagBits
      Vulkan.Core10.Enums.SamplerMipmapMode
      Vulkan.Core10.Enums.SemaphoreCreateFlags
      Vulkan.Core10.Enums.ShaderModuleCreateFlagBits
      Vulkan.Core10.Enums.ShaderStageFlagBits
      Vulkan.Core10.Enums.SharingMode
      Vulkan.Core10.Enums.SparseImageFormatFlagBits
      Vulkan.Core10.Enums.SparseMemoryBindFlagBits
      Vulkan.Core10.Enums.StencilFaceFlagBits
      Vulkan.Core10.Enums.StencilOp
      Vulkan.Core10.Enums.StructureType
      Vulkan.Core10.Enums.SubpassContents
      Vulkan.Core10.Enums.SubpassDescriptionFlagBits
      Vulkan.Core10.Enums.SystemAllocationScope
      Vulkan.Core10.Enums.VendorId
      Vulkan.Core10.Enums.VertexInputRate
      Vulkan.Core10.Event
      Vulkan.Core10.ExtensionDiscovery
      Vulkan.Core10.Fence
      Vulkan.Core10.FuncPointers
      Vulkan.Core10.FundamentalTypes
      Vulkan.Core10.Handles
      Vulkan.Core10.Image
      Vulkan.Core10.ImageView
      Vulkan.Core10.LayerDiscovery
      Vulkan.Core10.Memory
      Vulkan.Core10.MemoryManagement
      Vulkan.Core10.OtherTypes
      Vulkan.Core10.Pass
      Vulkan.Core10.Pipeline
      Vulkan.Core10.PipelineCache
      Vulkan.Core10.PipelineLayout
      Vulkan.Core10.Query
      Vulkan.Core10.Queue
      Vulkan.Core10.QueueSemaphore
      Vulkan.Core10.Sampler
      Vulkan.Core10.Shader
      Vulkan.Core10.SparseResourceMemoryManagement
      Vulkan.Core11
      Vulkan.Core11.DeviceInitialization
      Vulkan.Core11.Enums
      Vulkan.Core11.Enums.ChromaLocation
      Vulkan.Core11.Enums.CommandPoolTrimFlags
      Vulkan.Core11.Enums.DescriptorUpdateTemplateCreateFlags
      Vulkan.Core11.Enums.DescriptorUpdateTemplateType
      Vulkan.Core11.Enums.ExternalFenceFeatureFlagBits
      Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits
      Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits
      Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits
      Vulkan.Core11.Enums.ExternalSemaphoreFeatureFlagBits
      Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits
      Vulkan.Core11.Enums.FenceImportFlagBits
      Vulkan.Core11.Enums.MemoryAllocateFlagBits
      Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits
      Vulkan.Core11.Enums.PointClippingBehavior
      Vulkan.Core11.Enums.SamplerYcbcrModelConversion
      Vulkan.Core11.Enums.SamplerYcbcrRange
      Vulkan.Core11.Enums.SemaphoreImportFlagBits
      Vulkan.Core11.Enums.SubgroupFeatureFlagBits
      Vulkan.Core11.Enums.TessellationDomainOrigin
      Vulkan.Core11.Handles
      Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory
      Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup
      Vulkan.Core11.Promoted_From_VK_KHR_16bit_storage
      Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2
      Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation
      Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template
      Vulkan.Core11.Promoted_From_VK_KHR_device_group
      Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation
      Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2
      Vulkan.Core11.Promoted_From_VK_KHR_external_fence
      Vulkan.Core11.Promoted_From_VK_KHR_external_fence_capabilities
      Vulkan.Core11.Promoted_From_VK_KHR_external_memory
      Vulkan.Core11.Promoted_From_VK_KHR_external_memory_capabilities
      Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore
      Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities
      Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2
      Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2
      Vulkan.Core11.Promoted_From_VK_KHR_maintenance1
      Vulkan.Core11.Promoted_From_VK_KHR_maintenance2
      Vulkan.Core11.Promoted_From_VK_KHR_maintenance3
      Vulkan.Core11.Promoted_From_VK_KHR_multiview
      Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion
      Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters
      Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers
      Vulkan.Core12
      Vulkan.Core12.Enums
      Vulkan.Core12.Enums.DescriptorBindingFlagBits
      Vulkan.Core12.Enums.DriverId
      Vulkan.Core12.Enums.ResolveModeFlagBits
      Vulkan.Core12.Enums.SamplerReductionMode
      Vulkan.Core12.Enums.SemaphoreType
      Vulkan.Core12.Enums.SemaphoreWaitFlagBits
      Vulkan.Core12.Enums.ShaderFloatControlsIndependence
      Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing
      Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset
      Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax
      Vulkan.Core12.Promoted_From_VK_EXT_scalar_block_layout
      Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage
      Vulkan.Core12.Promoted_From_VK_KHR_8bit_storage
      Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address
      Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2
      Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve
      Vulkan.Core12.Promoted_From_VK_KHR_draw_indirect_count
      Vulkan.Core12.Promoted_From_VK_KHR_driver_properties
      Vulkan.Core12.Promoted_From_VK_KHR_image_format_list
      Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer
      Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts
      Vulkan.Core12.Promoted_From_VK_KHR_shader_atomic_int64
      Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8
      Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls
      Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types
      Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore
      Vulkan.Core12.Promoted_From_VK_KHR_uniform_buffer_standard_layout
      Vulkan.Core12.Promoted_From_VK_KHR_vulkan_memory_model
      Vulkan.CStruct
      Vulkan.CStruct.Extends
      Vulkan.CStruct.Utils
      Vulkan.Dynamic
      Vulkan.Exception
      Vulkan.Extensions
      Vulkan.Extensions.Handles
      Vulkan.Extensions.VK_AMD_buffer_marker
      Vulkan.Extensions.VK_AMD_device_coherent_memory
      Vulkan.Extensions.VK_AMD_display_native_hdr
      Vulkan.Extensions.VK_AMD_draw_indirect_count
      Vulkan.Extensions.VK_AMD_gcn_shader
      Vulkan.Extensions.VK_AMD_gpu_shader_half_float
      Vulkan.Extensions.VK_AMD_gpu_shader_int16
      Vulkan.Extensions.VK_AMD_memory_overallocation_behavior
      Vulkan.Extensions.VK_AMD_mixed_attachment_samples
      Vulkan.Extensions.VK_AMD_negative_viewport_height
      Vulkan.Extensions.VK_AMD_pipeline_compiler_control
      Vulkan.Extensions.VK_AMD_rasterization_order
      Vulkan.Extensions.VK_AMD_shader_ballot
      Vulkan.Extensions.VK_AMD_shader_core_properties
      Vulkan.Extensions.VK_AMD_shader_core_properties2
      Vulkan.Extensions.VK_AMD_shader_explicit_vertex_parameter
      Vulkan.Extensions.VK_AMD_shader_fragment_mask
      Vulkan.Extensions.VK_AMD_shader_image_load_store_lod
      Vulkan.Extensions.VK_AMD_shader_info
      Vulkan.Extensions.VK_AMD_shader_trinary_minmax
      Vulkan.Extensions.VK_AMD_texture_gather_bias_lod
      Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer
      Vulkan.Extensions.VK_EXT_acquire_xlib_display
      Vulkan.Extensions.VK_EXT_astc_decode_mode
      Vulkan.Extensions.VK_EXT_blend_operation_advanced
      Vulkan.Extensions.VK_EXT_buffer_device_address
      Vulkan.Extensions.VK_EXT_calibrated_timestamps
      Vulkan.Extensions.VK_EXT_conditional_rendering
      Vulkan.Extensions.VK_EXT_conservative_rasterization
      Vulkan.Extensions.VK_EXT_custom_border_color
      Vulkan.Extensions.VK_EXT_debug_marker
      Vulkan.Extensions.VK_EXT_debug_report
      Vulkan.Extensions.VK_EXT_debug_utils
      Vulkan.Extensions.VK_EXT_depth_clip_enable
      Vulkan.Extensions.VK_EXT_depth_range_unrestricted
      Vulkan.Extensions.VK_EXT_descriptor_indexing
      Vulkan.Extensions.VK_EXT_direct_mode_display
      Vulkan.Extensions.VK_EXT_directfb_surface
      Vulkan.Extensions.VK_EXT_discard_rectangles
      Vulkan.Extensions.VK_EXT_display_control
      Vulkan.Extensions.VK_EXT_display_surface_counter
      Vulkan.Extensions.VK_EXT_extended_dynamic_state
      Vulkan.Extensions.VK_EXT_external_memory_dma_buf
      Vulkan.Extensions.VK_EXT_external_memory_host
      Vulkan.Extensions.VK_EXT_filter_cubic
      Vulkan.Extensions.VK_EXT_fragment_density_map
      Vulkan.Extensions.VK_EXT_fragment_density_map2
      Vulkan.Extensions.VK_EXT_fragment_shader_interlock
      Vulkan.Extensions.VK_EXT_full_screen_exclusive
      Vulkan.Extensions.VK_EXT_global_priority
      Vulkan.Extensions.VK_EXT_hdr_metadata
      Vulkan.Extensions.VK_EXT_headless_surface
      Vulkan.Extensions.VK_EXT_host_query_reset
      Vulkan.Extensions.VK_EXT_image_drm_format_modifier
      Vulkan.Extensions.VK_EXT_index_type_uint8
      Vulkan.Extensions.VK_EXT_inline_uniform_block
      Vulkan.Extensions.VK_EXT_line_rasterization
      Vulkan.Extensions.VK_EXT_memory_budget
      Vulkan.Extensions.VK_EXT_memory_priority
      Vulkan.Extensions.VK_EXT_metal_surface
      Vulkan.Extensions.VK_EXT_pci_bus_info
      Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control
      Vulkan.Extensions.VK_EXT_pipeline_creation_feedback
      Vulkan.Extensions.VK_EXT_post_depth_coverage
      Vulkan.Extensions.VK_EXT_private_data
      Vulkan.Extensions.VK_EXT_queue_family_foreign
      Vulkan.Extensions.VK_EXT_robustness2
      Vulkan.Extensions.VK_EXT_sample_locations
      Vulkan.Extensions.VK_EXT_sampler_filter_minmax
      Vulkan.Extensions.VK_EXT_scalar_block_layout
      Vulkan.Extensions.VK_EXT_separate_stencil_usage
      Vulkan.Extensions.VK_EXT_shader_demote_to_helper_invocation
      Vulkan.Extensions.VK_EXT_shader_stencil_export
      Vulkan.Extensions.VK_EXT_shader_subgroup_ballot
      Vulkan.Extensions.VK_EXT_shader_subgroup_vote
      Vulkan.Extensions.VK_EXT_shader_viewport_index_layer
      Vulkan.Extensions.VK_EXT_subgroup_size_control
      Vulkan.Extensions.VK_EXT_swapchain_colorspace
      Vulkan.Extensions.VK_EXT_texel_buffer_alignment
      Vulkan.Extensions.VK_EXT_texture_compression_astc_hdr
      Vulkan.Extensions.VK_EXT_tooling_info
      Vulkan.Extensions.VK_EXT_transform_feedback
      Vulkan.Extensions.VK_EXT_validation_cache
      Vulkan.Extensions.VK_EXT_validation_features
      Vulkan.Extensions.VK_EXT_validation_flags
      Vulkan.Extensions.VK_EXT_vertex_attribute_divisor
      Vulkan.Extensions.VK_EXT_ycbcr_image_arrays
      Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface
      Vulkan.Extensions.VK_GGP_frame_token
      Vulkan.Extensions.VK_GGP_stream_descriptor_surface
      Vulkan.Extensions.VK_GOOGLE_decorate_string
      Vulkan.Extensions.VK_GOOGLE_display_timing
      Vulkan.Extensions.VK_GOOGLE_hlsl_functionality1
      Vulkan.Extensions.VK_GOOGLE_user_type
      Vulkan.Extensions.VK_IMG_filter_cubic
      Vulkan.Extensions.VK_IMG_format_pvrtc
      Vulkan.Extensions.VK_INTEL_performance_query
      Vulkan.Extensions.VK_INTEL_shader_integer_functions2
      Vulkan.Extensions.VK_KHR_16bit_storage
      Vulkan.Extensions.VK_KHR_8bit_storage
      Vulkan.Extensions.VK_KHR_android_surface
      Vulkan.Extensions.VK_KHR_bind_memory2
      Vulkan.Extensions.VK_KHR_buffer_device_address
      Vulkan.Extensions.VK_KHR_create_renderpass2
      Vulkan.Extensions.VK_KHR_dedicated_allocation
      Vulkan.Extensions.VK_KHR_deferred_host_operations
      Vulkan.Extensions.VK_KHR_depth_stencil_resolve
      Vulkan.Extensions.VK_KHR_descriptor_update_template
      Vulkan.Extensions.VK_KHR_device_group
      Vulkan.Extensions.VK_KHR_device_group_creation
      Vulkan.Extensions.VK_KHR_display
      Vulkan.Extensions.VK_KHR_display_swapchain
      Vulkan.Extensions.VK_KHR_draw_indirect_count
      Vulkan.Extensions.VK_KHR_driver_properties
      Vulkan.Extensions.VK_KHR_external_fence
      Vulkan.Extensions.VK_KHR_external_fence_capabilities
      Vulkan.Extensions.VK_KHR_external_fence_fd
      Vulkan.Extensions.VK_KHR_external_fence_win32
      Vulkan.Extensions.VK_KHR_external_memory
      Vulkan.Extensions.VK_KHR_external_memory_capabilities
      Vulkan.Extensions.VK_KHR_external_memory_fd
      Vulkan.Extensions.VK_KHR_external_memory_win32
      Vulkan.Extensions.VK_KHR_external_semaphore
      Vulkan.Extensions.VK_KHR_external_semaphore_capabilities
      Vulkan.Extensions.VK_KHR_external_semaphore_fd
      Vulkan.Extensions.VK_KHR_external_semaphore_win32
      Vulkan.Extensions.VK_KHR_get_display_properties2
      Vulkan.Extensions.VK_KHR_get_memory_requirements2
      Vulkan.Extensions.VK_KHR_get_physical_device_properties2
      Vulkan.Extensions.VK_KHR_get_surface_capabilities2
      Vulkan.Extensions.VK_KHR_image_format_list
      Vulkan.Extensions.VK_KHR_imageless_framebuffer
      Vulkan.Extensions.VK_KHR_incremental_present
      Vulkan.Extensions.VK_KHR_maintenance1
      Vulkan.Extensions.VK_KHR_maintenance2
      Vulkan.Extensions.VK_KHR_maintenance3
      Vulkan.Extensions.VK_KHR_multiview
      Vulkan.Extensions.VK_KHR_performance_query
      Vulkan.Extensions.VK_KHR_pipeline_executable_properties
      Vulkan.Extensions.VK_KHR_pipeline_library
      Vulkan.Extensions.VK_KHR_push_descriptor
      Vulkan.Extensions.VK_KHR_ray_tracing
      Vulkan.Extensions.VK_KHR_relaxed_block_layout
      Vulkan.Extensions.VK_KHR_sampler_mirror_clamp_to_edge
      Vulkan.Extensions.VK_KHR_sampler_ycbcr_conversion
      Vulkan.Extensions.VK_KHR_separate_depth_stencil_layouts
      Vulkan.Extensions.VK_KHR_shader_atomic_int64
      Vulkan.Extensions.VK_KHR_shader_clock
      Vulkan.Extensions.VK_KHR_shader_draw_parameters
      Vulkan.Extensions.VK_KHR_shader_float16_int8
      Vulkan.Extensions.VK_KHR_shader_float_controls
      Vulkan.Extensions.VK_KHR_shader_non_semantic_info
      Vulkan.Extensions.VK_KHR_shader_subgroup_extended_types
      Vulkan.Extensions.VK_KHR_shared_presentable_image
      Vulkan.Extensions.VK_KHR_spirv_1_4
      Vulkan.Extensions.VK_KHR_storage_buffer_storage_class
      Vulkan.Extensions.VK_KHR_surface
      Vulkan.Extensions.VK_KHR_surface_protected_capabilities
      Vulkan.Extensions.VK_KHR_swapchain
      Vulkan.Extensions.VK_KHR_swapchain_mutable_format
      Vulkan.Extensions.VK_KHR_timeline_semaphore
      Vulkan.Extensions.VK_KHR_uniform_buffer_standard_layout
      Vulkan.Extensions.VK_KHR_variable_pointers
      Vulkan.Extensions.VK_KHR_vulkan_memory_model
      Vulkan.Extensions.VK_KHR_wayland_surface
      Vulkan.Extensions.VK_KHR_win32_keyed_mutex
      Vulkan.Extensions.VK_KHR_win32_surface
      Vulkan.Extensions.VK_KHR_xcb_surface
      Vulkan.Extensions.VK_KHR_xlib_surface
      Vulkan.Extensions.VK_MVK_ios_surface
      Vulkan.Extensions.VK_MVK_macos_surface
      Vulkan.Extensions.VK_NN_vi_surface
      Vulkan.Extensions.VK_NV_clip_space_w_scaling
      Vulkan.Extensions.VK_NV_compute_shader_derivatives
      Vulkan.Extensions.VK_NV_cooperative_matrix
      Vulkan.Extensions.VK_NV_corner_sampled_image
      Vulkan.Extensions.VK_NV_coverage_reduction_mode
      Vulkan.Extensions.VK_NV_dedicated_allocation
      Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing
      Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints
      Vulkan.Extensions.VK_NV_device_diagnostics_config
      Vulkan.Extensions.VK_NV_device_generated_commands
      Vulkan.Extensions.VK_NV_external_memory
      Vulkan.Extensions.VK_NV_external_memory_capabilities
      Vulkan.Extensions.VK_NV_external_memory_win32
      Vulkan.Extensions.VK_NV_fill_rectangle
      Vulkan.Extensions.VK_NV_fragment_coverage_to_color
      Vulkan.Extensions.VK_NV_fragment_shader_barycentric
      Vulkan.Extensions.VK_NV_framebuffer_mixed_samples
      Vulkan.Extensions.VK_NV_geometry_shader_passthrough
      Vulkan.Extensions.VK_NV_glsl_shader
      Vulkan.Extensions.VK_NV_mesh_shader
      Vulkan.Extensions.VK_NV_ray_tracing
      Vulkan.Extensions.VK_NV_representative_fragment_test
      Vulkan.Extensions.VK_NV_sample_mask_override_coverage
      Vulkan.Extensions.VK_NV_scissor_exclusive
      Vulkan.Extensions.VK_NV_shader_image_footprint
      Vulkan.Extensions.VK_NV_shader_sm_builtins
      Vulkan.Extensions.VK_NV_shader_subgroup_partitioned
      Vulkan.Extensions.VK_NV_shading_rate_image
      Vulkan.Extensions.VK_NV_viewport_array2
      Vulkan.Extensions.VK_NV_viewport_swizzle
      Vulkan.Extensions.VK_NV_win32_keyed_mutex
      Vulkan.Extensions.VK_NVX_image_view_handle
      Vulkan.Extensions.VK_NVX_multiview_per_view_attributes
      Vulkan.Extensions.VK_QCOM_render_pass_shader_resolve
      Vulkan.Extensions.VK_QCOM_render_pass_store_ops
      Vulkan.Extensions.VK_QCOM_render_pass_transform
      Vulkan.NamedType
      Vulkan.Version
      Vulkan.Zero
  hs-source-dirs:
      src
  default-extensions: AllowAmbiguousTypes CPP DataKinds DefaultSignatures DeriveAnyClass DeriveGeneric DerivingStrategies DuplicateRecordFields FlexibleContexts FlexibleInstances GADTs GeneralizedNewtypeDeriving InstanceSigs LambdaCase MagicHash NoMonomorphismRestriction OverloadedStrings PartialTypeSignatures PatternSynonyms PolyKinds QuantifiedConstraints RankNTypes RecordWildCards RoleAnnotations ScopedTypeVariables StandaloneDeriving Strict TypeApplications TypeFamilyDependencies TypeOperators TypeSynonymInstances UndecidableInstances ViewPatterns
  ghc-options: -Wall -Wno-unticked-promoted-constructors -Wno-missing-pattern-synonym-signatures -Wno-unused-imports -Wno-missing-signatures -Wno-partial-type-signatures
  build-depends:
      base <4.15
    , bytestring
    , transformers
    , vector
  if os(windows)
    extra-libraries:
        vulkan-1
  else
    extra-libraries:
        vulkan
  if flag(safe-foreign-calls)
    cpp-options: -DSAFE_FOREIGN_CALLS
  if flag(generic-instances)
    cpp-options: -DGENERIC_INSTANCES
  default-language: Haskell2010