20. GPU (Vulkan)
dasVulkan — the daslang binding for Vulkan,
generated from the Khronos vk.xml registry, documented here at its ergonomic
vulkan_boost tier: the RAII handle wrappers and their creators, the
hand-written builder/bracket core, and the windowing helpers. The raw vulkan
symbols (generated 1:1 from vk.xml) are not duplicated here — see the
Vulkan specification
for the C API surface, and dasVulkan overview for how the boost layer maps
onto it.
Start with 01 - The Rotating Triangle: shaders authored in daslang, lowered to SPIR-V at compile time, drawn through the boost layer.
- 20.1. dasVulkan overview
- 20.2. Runtime — result checking, array interop, ownership, versioning
- 20.3. Handles — RAII ownership wrappers (one per Vulkan handle)
- 20.4. Commands — RAII creators returning owning handle wrappers
- 20.5. Boost — selection, builders, block brackets, conveniences
- 20.5.1. Structures
- 20.5.2. Device selection
- 20.5.3. Instance & device
- 20.5.4. Shaders & pipelines
- 20.5.5. Mesh shaders
- 20.5.6. Hardware ray tracing
- 20.5.7. Render passes
- 20.5.8. Builders
- 20.5.9. Memory & brackets
- 20.5.10. Command recording
- 20.5.11. Conveniences
- 20.5.12. Compute tier & device capabilities
- 20.5.13. Pipeline introspection
- 20.6. Window — surface, swapchain, frame sync, and the present loop
- 20.7. External types
- 20.7.1. Core enums
- 20.7.2. Core handles and aliases
- 20.7.2.1.
vulkan::VkPhysicalDevice - 20.7.2.2.
vulkan::VkQueue - 20.7.2.3.
vulkan::VkMemoryPropertyFlags - 20.7.2.4.
vulkan::VkImage - 20.7.2.5.
vulkan::VkAccessFlags - 20.7.2.6.
vulkan::VkPipelineStageFlags - 20.7.2.7.
vulkan::VkBufferUsageFlags - 20.7.2.8.
vulkan::VkShaderStageFlags - 20.7.2.9.
vulkan::VkImageAspectFlags - 20.7.2.10.
vulkan::VkImageUsageFlags - 20.7.2.11.
vulkan::VkSampleCountFlags - 20.7.2.12.
vulkan::VkClearValue - 20.7.2.13.
vulkan::VkRect2D - 20.7.2.14.
vulkan::VkVertexInputBindingDescription - 20.7.2.15.
vulkan::VkVertexInputAttributeDescription - 20.7.2.16.
vulkan::VkPhysicalDeviceFeatures2
- 20.7.2.1.
- 20.7.3.
vulkan_structsview structs