VulkanCore.jl

Julia bindings for the Vulkan API
Popularity
75 Stars
Updated Last
7 Months Ago
Started In
February 2016

VulkanCore

CI TagBot

VulkanCore wraps Vulkan and exposes the library calls necessary to work with Vulkan. It is targeted for developers wanting to directly work with Vulkan in Julia.

If you are looking for a high-level idiomatic Julia API you might wish to take a look at Vulkan.jl.

Installation

You are required to have a Vulkan capable device and the appropriate drivers.

If these are present, run:

pkg> add VulkanCore

References

Usage

The Vulkan wrapper is generated using Clang.jl with the generator file.

The API aims to replicate the Vulkan C-API and is thus very bare bones and hands-on.

using VulkanCore.LibVulkan

count = Ref{Cuint}(0)

# Scan layers
err = vkEnumerateInstanceLayerProperties(count, C_NULL)
@assert err == VK_SUCCESS

global_layer_properties = Vector{VkLayerProperties}(undef, count[])
err = vkEnumerateInstanceLayerProperties(count, global_layer_properties)
@assert err == VK_SUCCESS

Contributing

You are welcome to submit pull-request for improvements, but since this is primarily a wrapper you might focus your attention on the high-level API at Vulkan.jl.

Thanks

This package is inspired by the work done on CUDArt.jl and OpenCL.jl.

A big thank you also to all core Julia developers, who made this possible in the first place.

Required Packages

No packages found.

Used By Packages