cabal-version: 1.12

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

name:           vulkan
version:        3.1.0.0
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:        BSD3
license-file:   LICENSE
build-type:     Simple
extra-source-files:
    readme.md
    changelog.md
    default.nix

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

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

executable info
  main-is: Main.hs
  other-modules:
      Paths_vulkan
  hs-source-dirs:
      examples/info
  default-extensions: AllowAmbiguousTypes CPP DataKinds DefaultSignatures DeriveAnyClass 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
  if flag(build-examples)
    build-depends:
        base <4.14
      , bytestring
      , pretty-simple
      , vulkan
    buildable: True
  else
    buildable: False
  default-language: Haskell2010

executable sdl-triangle
  main-is: Main.hs
  other-modules:
      ShaderQQ
      Paths_vulkan
  hs-source-dirs:
      examples/sdl-triangle
  default-extensions: AllowAmbiguousTypes CPP DataKinds DefaultSignatures DeriveAnyClass 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
  c-sources:
      examples/sdl-triangle/DebugCallback.c
  if flag(build-examples)
    build-depends:
        base <4.14
      , bytestring
      , extra
      , file-embed
      , managed
      , pretty-show
      , say
      , sdl2
      , template-haskell
      , temporary
      , text
      , transformers
      , typed-process
      , vector
      , vulkan
    buildable: True
  else
    buildable: False
  default-language: Haskell2010