dasVulkan documentation
Part of the daslang ecosystem. See also the daslang documentation and daslang.io.
dasVulkan is the daslang binding for Vulkan,
generated from the Khronos vk.xml registry. It ships two layers:
vulkan — the raw binding: the full Vulkan API surface (core + extensions), generated as a daslang C++ module dispatching through volk. It mirrors the C API 1:1 and is not re-documented here — consult the Vulkan specification for those symbols.
vulkan_boost — the ergonomic layer documented on this site: RAII-owning handle wrappers with
finalize, idiomatic structs (array<T>instead of count+pointer pairs, auto-filledsType), named arguments with defaults, and block-bracketing helpers.
Source code: https://github.com/borisbat/dasVulkan
Install
Via daspkg:
daslang utils/daspkg/main.das -- install github.com/borisbat/dasVulkan
Or add to your project’s .das_package:
[export]
def dependencies(version : string) {
require_package("github.com/borisbat/dasVulkan")
}
Then run daspkg install.
Building the module needs no Vulkan SDK — the vendored Vulkan-Headers and volk’s runtime loading cover it. A real GPU or Mesa lavapipe (software ICD, used in CI) provides the runtime.
Contents
- dasVulkan boost API
- 1. Overview
- 2. Runtime — result checking, array interop, ownership, versioning
- 3. Handles — RAII ownership wrappers (one per Vulkan handle)
- 4. Commands — RAII creators returning owning handle wrappers
- 5. Boost — selection, builders, block brackets, conveniences
- 6. Window — surface, swapchain, frame sync, and the present loop
- 7. External types