@hackage vulkan2.1.0.0

Bindings to the Vulkan graphics API.

  • Installation

  • Dependencies (3)

  • Dependents (10)

    @hackage/keid-core, @hackage/VulkanMemoryAllocator, @hackage/dear-imgui, @hackage/acme-everything, @hackage/keid-frp-banana, @hackage/keid-ui-dearimgui, Show all…
  • Package Flags

      xlib
       (on by default)

      Enable xlib specific extensions

      xlib_xrandr
       (on by default)

      Enable xlib_xrandr specific extensions

      xcb
       (on by default)

      Enable xcb specific extensions

      wayland
       (on by default)

      Enable wayland specific extensions

      mir
       (on by default)

      Enable mir specific extensions

      android
       (on by default)

      Enable android specific extensions

      win32
       (on by default)

      Enable win32 specific extensions

      vi
       (on by default)

      Enable vi specific extensions

      ios
       (on by default)

      Enable ios specific extensions

      macos
       (on by default)

      Enable macos specific extensions

      safe-foreign-calls
       (off by default)

      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.

Vulkan

Haskell bindings to the Vulkan graphics API

Building

This package requires GHC 8.0 or higher due to the use of the DuplicateRecordFields and Strict language extensions.

Current Status

All the core Vulkan 1.0 and 1.1 functionality is here as well as all the extensions.

This is currently a 64 bit only library.

Examples can be found here

Differences from the vulkan API

Bools are strongly typed, this doesn't prevent any valid usage apart from passing the numeric literals 0 and 1 to functions.

Ideas

TODO: Move these to issues:

Wrappers for passing in size, pointer pair Wrappers for passing in null terminated list

withXXX functions for create/destroy pairs.

Haddock tables soon: https://github.com/haskell/haddock/pull/718