packages feed

vulkan-api-1.1.2.1: vulkan-api.cabal

--
-- Do not modify this file directly
-- it is autogenerated at genvulkan/src/Write/Cabal.hs
--
name:                vulkan-api
version:             1.1.2.1
synopsis:            Low-level low-overhead vulkan api bindings
description:
    Haskell bindings for vulkan api as described in vk.xml.
    .
    You can find some simple examples at <https://github.com/achirkin/vulkan/tree/master/vulkan-examples vulkan-examples> page
    or a more complete triangle rendering program at <https://github.com/achirkin/vulkan/tree/master/vulkan-triangles vulkan-triangles> page.
    .
    For further information, please refer to <https://github.com/achirkin/vulkan#readme README.md>.
homepage:            https://github.com/achirkin/vulkan#readme
license:             BSD3
license-file:        LICENSE
author:              Artem Chirkin
maintainer:          chirkin@arch.ethz.ch
copyright:           Copyright: (c) 2018 Artem Chirkin
category:            vulkan, bsd3, graphics, library, opengl
build-type:          Simple
cabal-version:       >=1.22
extra-source-files:
    include/vulkan/*.h
    include/vulkan_loader.h
    cbits/vulkan_loader.c

flag usePlatformAndroidKhr
    description:
      Enable platform-specific extensions protected by CPP macros VK_USE_PLATFORM_ANDROID_KHR
    default: False

flag usePlatformIosMvk
    description:
      Enable platform-specific extensions protected by CPP macros VK_USE_PLATFORM_IOS_MVK
    default: False

flag usePlatformMacosMvk
    description:
      Enable platform-specific extensions protected by CPP macros VK_USE_PLATFORM_MACOS_MVK
    default: False

flag usePlatformMirKhr
    description:
      Enable platform-specific extensions protected by CPP macros VK_USE_PLATFORM_MIR_KHR
    default: False

flag usePlatformViNn
    description:
      Enable platform-specific extensions protected by CPP macros VK_USE_PLATFORM_VI_NN
    default: False

flag usePlatformWaylandKhr
    description:
      Enable platform-specific extensions protected by CPP macros VK_USE_PLATFORM_WAYLAND_KHR
    default: False

flag usePlatformWin32Khr
    description:
      Enable platform-specific extensions protected by CPP macros VK_USE_PLATFORM_WIN32_KHR
    default: False

flag usePlatformXcbKhr
    description:
      Enable platform-specific extensions protected by CPP macros VK_USE_PLATFORM_XCB_KHR
    default: False

flag usePlatformXlibKhr
    description:
      Enable platform-specific extensions protected by CPP macros VK_USE_PLATFORM_XLIB_KHR
    default: False

flag usePlatformXlibXrandrExt
    description:
      Enable platform-specific extensions protected by CPP macros VK_USE_PLATFORM_XLIB_XRANDR_EXT
    default: False

flag useNativeFFI-1-0
    description:
      Enable foreign-imported functions from Vulkan 1.0 feature set
    default: False

flag useNativeFFI-1-1
    description:
      Enable foreign-imported functions from Vulkan 1.1 feature set
    default: False

library

    build-tools:         hsc2hs
    hs-source-dirs:      src, src-gen
    exposed-modules:

        Graphics.Vulkan
        Graphics.Vulkan.Constants
        Graphics.Vulkan.Core_1_0
        Graphics.Vulkan.Core_1_1
        Graphics.Vulkan.Ext
        Graphics.Vulkan.Ext.VK_AMD_buffer_marker
        Graphics.Vulkan.Ext.VK_AMD_draw_indirect_count
        Graphics.Vulkan.Ext.VK_AMD_gcn_shader
        Graphics.Vulkan.Ext.VK_AMD_gpu_shader_half_float
        Graphics.Vulkan.Ext.VK_AMD_gpu_shader_int16
        Graphics.Vulkan.Ext.VK_AMD_mixed_attachment_samples
        Graphics.Vulkan.Ext.VK_AMD_negative_viewport_height
        Graphics.Vulkan.Ext.VK_AMD_rasterization_order
        Graphics.Vulkan.Ext.VK_AMD_shader_ballot
        Graphics.Vulkan.Ext.VK_AMD_shader_core_properties
        Graphics.Vulkan.Ext.VK_AMD_shader_explicit_vertex_parameter
        Graphics.Vulkan.Ext.VK_AMD_shader_fragment_mask
        Graphics.Vulkan.Ext.VK_AMD_shader_image_load_store_lod
        Graphics.Vulkan.Ext.VK_AMD_shader_info
        Graphics.Vulkan.Ext.VK_AMD_shader_trinary_minmax
        Graphics.Vulkan.Ext.VK_AMD_texture_gather_bias_lod
        Graphics.Vulkan.Ext.VK_EXT_blend_operation_advanced
        Graphics.Vulkan.Ext.VK_EXT_conservative_rasterization
        Graphics.Vulkan.Ext.VK_EXT_debug_marker
        Graphics.Vulkan.Ext.VK_EXT_debug_report
        Graphics.Vulkan.Ext.VK_EXT_debug_utils
        Graphics.Vulkan.Ext.VK_EXT_depth_range_unrestricted
        Graphics.Vulkan.Ext.VK_EXT_descriptor_indexing
        Graphics.Vulkan.Ext.VK_EXT_direct_mode_display
        Graphics.Vulkan.Ext.VK_EXT_discard_rectangles
        Graphics.Vulkan.Ext.VK_EXT_display_control
        Graphics.Vulkan.Ext.VK_EXT_display_surface_counter
        Graphics.Vulkan.Ext.VK_EXT_external_memory_dma_buf
        Graphics.Vulkan.Ext.VK_EXT_external_memory_host
        Graphics.Vulkan.Ext.VK_EXT_global_priority
        Graphics.Vulkan.Ext.VK_EXT_hdr_metadata
        Graphics.Vulkan.Ext.VK_EXT_post_depth_coverage
        Graphics.Vulkan.Ext.VK_EXT_queue_family_foreign
        Graphics.Vulkan.Ext.VK_EXT_sample_locations
        Graphics.Vulkan.Ext.VK_EXT_sampler_filter_minmax
        Graphics.Vulkan.Ext.VK_EXT_shader_stencil_export
        Graphics.Vulkan.Ext.VK_EXT_shader_subgroup_ballot
        Graphics.Vulkan.Ext.VK_EXT_shader_subgroup_vote
        Graphics.Vulkan.Ext.VK_EXT_shader_viewport_index_layer
        Graphics.Vulkan.Ext.VK_EXT_swapchain_colorspace
        Graphics.Vulkan.Ext.VK_EXT_validation_cache
        Graphics.Vulkan.Ext.VK_EXT_validation_flags
        Graphics.Vulkan.Ext.VK_EXT_vertex_attribute_divisor
        Graphics.Vulkan.Ext.VK_GOOGLE_display_timing
        Graphics.Vulkan.Ext.VK_IMG_filter_cubic
        Graphics.Vulkan.Ext.VK_IMG_format_pvrtc
        Graphics.Vulkan.Ext.VK_KHR_16bit_storage
        Graphics.Vulkan.Ext.VK_KHR_bind_memory2
        Graphics.Vulkan.Ext.VK_KHR_dedicated_allocation
        Graphics.Vulkan.Ext.VK_KHR_descriptor_update_template
        Graphics.Vulkan.Ext.VK_KHR_device_group
        Graphics.Vulkan.Ext.VK_KHR_device_group_creation
        Graphics.Vulkan.Ext.VK_KHR_display
        Graphics.Vulkan.Ext.VK_KHR_display_swapchain
        Graphics.Vulkan.Ext.VK_KHR_external_fence
        Graphics.Vulkan.Ext.VK_KHR_external_fence_capabilities
        Graphics.Vulkan.Ext.VK_KHR_external_fence_fd
        Graphics.Vulkan.Ext.VK_KHR_external_memory
        Graphics.Vulkan.Ext.VK_KHR_external_memory_capabilities
        Graphics.Vulkan.Ext.VK_KHR_external_memory_fd
        Graphics.Vulkan.Ext.VK_KHR_external_semaphore
        Graphics.Vulkan.Ext.VK_KHR_external_semaphore_capabilities
        Graphics.Vulkan.Ext.VK_KHR_external_semaphore_fd
        Graphics.Vulkan.Ext.VK_KHR_get_memory_requirements2
        Graphics.Vulkan.Ext.VK_KHR_get_physical_device_properties2
        Graphics.Vulkan.Ext.VK_KHR_get_surface_capabilities2
        Graphics.Vulkan.Ext.VK_KHR_image_format_list
        Graphics.Vulkan.Ext.VK_KHR_incremental_present
        Graphics.Vulkan.Ext.VK_KHR_maintenance1
        Graphics.Vulkan.Ext.VK_KHR_maintenance2
        Graphics.Vulkan.Ext.VK_KHR_maintenance3
        Graphics.Vulkan.Ext.VK_KHR_multiview
        Graphics.Vulkan.Ext.VK_KHR_push_descriptor
        Graphics.Vulkan.Ext.VK_KHR_relaxed_block_layout
        Graphics.Vulkan.Ext.VK_KHR_sampler_mirror_clamp_to_edge
        Graphics.Vulkan.Ext.VK_KHR_sampler_ycbcr_conversion
        Graphics.Vulkan.Ext.VK_KHR_shader_draw_parameters
        Graphics.Vulkan.Ext.VK_KHR_shared_presentable_image
        Graphics.Vulkan.Ext.VK_KHR_storage_buffer_storage_class
        Graphics.Vulkan.Ext.VK_KHR_surface
        Graphics.Vulkan.Ext.VK_KHR_swapchain
        Graphics.Vulkan.Ext.VK_KHR_variable_pointers
        Graphics.Vulkan.Ext.VK_NVX_device_generated_commands
        Graphics.Vulkan.Ext.VK_NVX_multiview_per_view_attributes
        Graphics.Vulkan.Ext.VK_NV_clip_space_w_scaling
        Graphics.Vulkan.Ext.VK_NV_dedicated_allocation
        Graphics.Vulkan.Ext.VK_NV_external_memory
        Graphics.Vulkan.Ext.VK_NV_external_memory_capabilities
        Graphics.Vulkan.Ext.VK_NV_fill_rectangle
        Graphics.Vulkan.Ext.VK_NV_fragment_coverage_to_color
        Graphics.Vulkan.Ext.VK_NV_framebuffer_mixed_samples
        Graphics.Vulkan.Ext.VK_NV_geometry_shader_passthrough
        Graphics.Vulkan.Ext.VK_NV_glsl_shader
        Graphics.Vulkan.Ext.VK_NV_sample_mask_override_coverage
        Graphics.Vulkan.Ext.VK_NV_shader_subgroup_partitioned
        Graphics.Vulkan.Ext.VK_NV_viewport_array2
        Graphics.Vulkan.Ext.VK_NV_viewport_swizzle
        Graphics.Vulkan.Marshal
        Graphics.Vulkan.Marshal.Create
        Graphics.Vulkan.Marshal.Internal
        Graphics.Vulkan.Marshal.Proc
    other-modules:
        Graphics.Vulkan.Types.BaseTypes
        Graphics.Vulkan.Types.Bitmasks
        Graphics.Vulkan.Types.Defines
        Graphics.Vulkan.Types.Enum.AccessFlags
        Graphics.Vulkan.Types.Enum.Attachment
        Graphics.Vulkan.Types.Enum.Blend
        Graphics.Vulkan.Types.Enum.BorderColor
        Graphics.Vulkan.Types.Enum.Buffer
        Graphics.Vulkan.Types.Enum.ChromaLocation
        Graphics.Vulkan.Types.Enum.Color
        Graphics.Vulkan.Types.Enum.Command
        Graphics.Vulkan.Types.Enum.CompareOp
        Graphics.Vulkan.Types.Enum.ComponentSwizzle
        Graphics.Vulkan.Types.Enum.CompositeAlphaFlagsKHR
        Graphics.Vulkan.Types.Enum.ConservativeRasterizationModeEXT
        Graphics.Vulkan.Types.Enum.CoverageModulationModeNV
        Graphics.Vulkan.Types.Enum.CullModeFlags
        Graphics.Vulkan.Types.Enum.Debug
        Graphics.Vulkan.Types.Enum.DependencyFlags
        Graphics.Vulkan.Types.Enum.Descriptor
        Graphics.Vulkan.Types.Enum.Device
        Graphics.Vulkan.Types.Enum.DiscardRectangleModeEXT
        Graphics.Vulkan.Types.Enum.Display
        Graphics.Vulkan.Types.Enum.DynamicState
        Graphics.Vulkan.Types.Enum.External
        Graphics.Vulkan.Types.Enum.Fence
        Graphics.Vulkan.Types.Enum.Filter
        Graphics.Vulkan.Types.Enum.Format
        Graphics.Vulkan.Types.Enum.FramebufferCreateFlagBits
        Graphics.Vulkan.Types.Enum.FrontFace
        Graphics.Vulkan.Types.Enum.Image
        Graphics.Vulkan.Types.Enum.IndexType
        Graphics.Vulkan.Types.Enum.IndirectCommands
        Graphics.Vulkan.Types.Enum.InstanceCreateFlagBits
        Graphics.Vulkan.Types.Enum.InternalAllocationType
        Graphics.Vulkan.Types.Enum.LogicOp
        Graphics.Vulkan.Types.Enum.Memory
        Graphics.Vulkan.Types.Enum.Object
        Graphics.Vulkan.Types.Enum.PeerMemoryFeatureFlag
        Graphics.Vulkan.Types.Enum.PhysicalDeviceType
        Graphics.Vulkan.Types.Enum.Pipeline
        Graphics.Vulkan.Types.Enum.PointClippingBehavior
        Graphics.Vulkan.Types.Enum.PolygonMode
        Graphics.Vulkan.Types.Enum.PresentModeKHR
        Graphics.Vulkan.Types.Enum.PrimitiveTopology
        Graphics.Vulkan.Types.Enum.Query
        Graphics.Vulkan.Types.Enum.Queue
        Graphics.Vulkan.Types.Enum.RasterizationOrderAMD
        Graphics.Vulkan.Types.Enum.RenderPassCreateFlagBits
        Graphics.Vulkan.Types.Enum.Result
        Graphics.Vulkan.Types.Enum.SampleCountFlags
        Graphics.Vulkan.Types.Enum.Sampler
        Graphics.Vulkan.Types.Enum.SemaphoreImportFlag
        Graphics.Vulkan.Types.Enum.Shader
        Graphics.Vulkan.Types.Enum.SharingMode
        Graphics.Vulkan.Types.Enum.Sparse
        Graphics.Vulkan.Types.Enum.Stencil
        Graphics.Vulkan.Types.Enum.StructureType
        Graphics.Vulkan.Types.Enum.SubgroupFeatureFlags
        Graphics.Vulkan.Types.Enum.Subpass
        Graphics.Vulkan.Types.Enum.Surface
        Graphics.Vulkan.Types.Enum.SwapchainCreateFlagsKHR
        Graphics.Vulkan.Types.Enum.SystemAllocationScope
        Graphics.Vulkan.Types.Enum.TessellationDomainOrigin
        Graphics.Vulkan.Types.Enum.ValidationC
        Graphics.Vulkan.Types.Enum.VertexInputRate
        Graphics.Vulkan.Types.Enum.ViewportCoordinateSwizzleNV
        Graphics.Vulkan.Types.Funcpointers
        Graphics.Vulkan.Types.Handles
        Graphics.Vulkan.Types.Include
        Graphics.Vulkan.Types.Struct.AcquireNextImageInfoKHR
        Graphics.Vulkan.Types.Struct.AllocationCallbacks
        Graphics.Vulkan.Types.Struct.ApplicationInfo
        Graphics.Vulkan.Types.Struct.Attachment
        Graphics.Vulkan.Types.Struct.Bind
        Graphics.Vulkan.Types.Struct.Buffer
        Graphics.Vulkan.Types.Struct.Clear
        Graphics.Vulkan.Types.Struct.Cmd
        Graphics.Vulkan.Types.Struct.Command
        Graphics.Vulkan.Types.Struct.ComponentMapping
        Graphics.Vulkan.Types.Struct.ComputePipelineCreateInfo
        Graphics.Vulkan.Types.Struct.CopyDescriptorSet
        Graphics.Vulkan.Types.Struct.Debug
        Graphics.Vulkan.Types.Struct.DebugUtilsLabelEXT
        Graphics.Vulkan.Types.Struct.DebugUtilsMessengerCallbackDataEXT
        Graphics.Vulkan.Types.Struct.DebugUtilsMessengerCreateInfoEXT
        Graphics.Vulkan.Types.Struct.DebugUtilsObjectNameInfoEXT
        Graphics.Vulkan.Types.Struct.DedicatedAllocation
        Graphics.Vulkan.Types.Struct.Descriptor
        Graphics.Vulkan.Types.Struct.Device
        Graphics.Vulkan.Types.Struct.DispatchIndirectCommand
        Graphics.Vulkan.Types.Struct.Display
        Graphics.Vulkan.Types.Struct.DrawInd
        Graphics.Vulkan.Types.Struct.EventCreateInfo
        Graphics.Vulkan.Types.Struct.Export
        Graphics.Vulkan.Types.Struct.ExtensionProperties
        Graphics.Vulkan.Types.Struct.Extent
        Graphics.Vulkan.Types.Struct.External
        Graphics.Vulkan.Types.Struct.Fence
        Graphics.Vulkan.Types.Struct.FormatProperties
        Graphics.Vulkan.Types.Struct.FramebufferCreateInfo
        Graphics.Vulkan.Types.Struct.HdrMetadataEXT
        Graphics.Vulkan.Types.Struct.Image
        Graphics.Vulkan.Types.Struct.Import
        Graphics.Vulkan.Types.Struct.IndirectCommands
        Graphics.Vulkan.Types.Struct.InputAttachmentAspectReference
        Graphics.Vulkan.Types.Struct.InstanceCreateInfo
        Graphics.Vulkan.Types.Struct.LayerProperties
        Graphics.Vulkan.Types.Struct.MappedMemoryRange
        Graphics.Vulkan.Types.Struct.Memory
        Graphics.Vulkan.Types.Struct.MultisamplePropertiesEXT
        Graphics.Vulkan.Types.Struct.ObjectTable
        Graphics.Vulkan.Types.Struct.Offset
        Graphics.Vulkan.Types.Struct.PastPresentationTimingGOOGLE
        Graphics.Vulkan.Types.Struct.PhysicalDevice
        Graphics.Vulkan.Types.Struct.PhysicalDeviceFeatures
        Graphics.Vulkan.Types.Struct.Pipeline
        Graphics.Vulkan.Types.Struct.Present
        Graphics.Vulkan.Types.Struct.ProtectedSubmitInfo
        Graphics.Vulkan.Types.Struct.PushConstantRange
        Graphics.Vulkan.Types.Struct.QueryPoolCreateInfo
        Graphics.Vulkan.Types.Struct.QueueFamilyProperties
        Graphics.Vulkan.Types.Struct.Rect
        Graphics.Vulkan.Types.Struct.RefreshCycleDurationGOOGLE
        Graphics.Vulkan.Types.Struct.RenderPass
        Graphics.Vulkan.Types.Struct.SampleLocation
        Graphics.Vulkan.Types.Struct.Sampler
        Graphics.Vulkan.Types.Struct.Semaphore
        Graphics.Vulkan.Types.Struct.Shader
        Graphics.Vulkan.Types.Struct.SharedPresentSurfaceCapabilitiesKHR
        Graphics.Vulkan.Types.Struct.Sparse
        Graphics.Vulkan.Types.Struct.Specialization
        Graphics.Vulkan.Types.Struct.StencilOpState
        Graphics.Vulkan.Types.Struct.SubmitInfo
        Graphics.Vulkan.Types.Struct.Subpass
        Graphics.Vulkan.Types.Struct.SubresourceLayout
        Graphics.Vulkan.Types.Struct.Surface
        Graphics.Vulkan.Types.Struct.SwapchainC
        Graphics.Vulkan.Types.Struct.TextureLODGatherFormatPropertiesAMD
        Graphics.Vulkan.Types.Struct.Validation
        Graphics.Vulkan.Types.Struct.VertexInput
        Graphics.Vulkan.Types.Struct.Viewport
        Graphics.Vulkan.Types.Struct.WriteDescriptorSet
        Graphics.Vulkan.Types.Struct.XYColorEXT
    if flag(usePlatformAndroidKhr)
      cpp-options: -DVK_USE_PLATFORM_ANDROID_KHR
      exposed-modules:
        Graphics.Vulkan.Ext.VK_ANDROID_external_memory_android_hardware_buffer
        Graphics.Vulkan.Ext.VK_KHR_android_surface
      other-modules:
        Graphics.Vulkan.Types.Struct.PlatformAndroidKhr

    if flag(usePlatformIosMvk)
      cpp-options: -DVK_USE_PLATFORM_IOS_MVK
      exposed-modules:
        Graphics.Vulkan.Ext.VK_MVK_ios_surface
      other-modules:
        Graphics.Vulkan.Types.Struct.PlatformIosMvk

    if flag(usePlatformMacosMvk)
      cpp-options: -DVK_USE_PLATFORM_MACOS_MVK
      exposed-modules:
        Graphics.Vulkan.Ext.VK_MVK_macos_surface
      other-modules:
        Graphics.Vulkan.Types.Struct.PlatformMacosMvk

    if flag(usePlatformMirKhr)
      cpp-options: -DVK_USE_PLATFORM_MIR_KHR
      exposed-modules:
        Graphics.Vulkan.Ext.VK_KHR_mir_surface
      other-modules:
        Graphics.Vulkan.Types.Struct.PlatformMirKhr

    if flag(usePlatformViNn)
      cpp-options: -DVK_USE_PLATFORM_VI_NN
      exposed-modules:
        Graphics.Vulkan.Ext.VK_NN_vi_surface
      other-modules:
        Graphics.Vulkan.Types.Struct.PlatformViNn

    if flag(usePlatformWaylandKhr)
      cpp-options: -DVK_USE_PLATFORM_WAYLAND_KHR
      exposed-modules:
        Graphics.Vulkan.Ext.VK_KHR_wayland_surface
      other-modules:
        Graphics.Vulkan.Types.Struct.PlatformWaylandKhr

    if flag(usePlatformWin32Khr)
      cpp-options: -DVK_USE_PLATFORM_WIN32_KHR
      exposed-modules:
        Graphics.Vulkan.Ext.VK_KHR_external_fence_win32
        Graphics.Vulkan.Ext.VK_KHR_external_memory_win32
        Graphics.Vulkan.Ext.VK_KHR_external_semaphore_win32
        Graphics.Vulkan.Ext.VK_KHR_win32_keyed_mutex
        Graphics.Vulkan.Ext.VK_KHR_win32_surface
        Graphics.Vulkan.Ext.VK_NV_external_memory_win32
        Graphics.Vulkan.Ext.VK_NV_win32_keyed_mutex
      other-modules:
        Graphics.Vulkan.Types.Struct.PlatformWin32Khr

    if flag(usePlatformXcbKhr)
      cpp-options: -DVK_USE_PLATFORM_XCB_KHR
      exposed-modules:
        Graphics.Vulkan.Ext.VK_KHR_xcb_surface
      other-modules:
        Graphics.Vulkan.Types.Struct.PlatformXcbKhr

    if flag(usePlatformXlibKhr)
      cpp-options: -DVK_USE_PLATFORM_XLIB_KHR
      exposed-modules:
        Graphics.Vulkan.Ext.VK_KHR_xlib_surface
      other-modules:
        Graphics.Vulkan.Types.Struct.PlatformXlibKhr

    if flag(usePlatformXlibXrandrExt)
      cpp-options: -DVK_USE_PLATFORM_XLIB_XRANDR_EXT
      exposed-modules:
        Graphics.Vulkan.Ext.VK_EXT_acquire_xlib_display
      other-modules:

    if flag(useNativeFFI-1-0)
      cpp-options: -DNATIVE_FFI_VK_VERSION_1_0

    if flag(useNativeFFI-1-1)
      cpp-options: -DNATIVE_FFI_VK_VERSION_1_1

    build-depends:
        base >= 4.9 && < 5
    default-language:    Haskell2010
    ghc-options:         -Wall
    include-dirs:        include
    c-sources:           cbits/vulkan_loader.c
    if flag(useNativeFFI-1-0) || flag(useNativeFFI-1-1)
      if os(windows)
        extra-libraries: vulkan-1
      if os(darwin)
        frameworks:      MoltenVK
      if !os(windows) && !os(darwin)
        extra-libraries: vulkan
    else
      cpp-options:       -DVK_NO_PROTOTYPES
      cc-options:        -DVK_NO_PROTOTYPES

source-repository head
    type:     git
    location: https://github.com/achirkin/vulkan
    subdir:   vulkan-api