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. Constants
- 20.5.2. Structures
- 20.5.3. Device selection
- 20.5.4. Instance & device
- 20.5.5. Host image copy
- 20.5.6. Shader objects
- 20.5.7. Shaders & pipelines
- 20.5.8. Dynamic rendering
- 20.5.9. Mesh shaders
- 20.5.10. Hardware ray tracing
- 20.5.11. Render passes
- 20.5.12. Builders
- 20.5.13. Memory & brackets
- 20.5.14. Command recording
- 20.5.15. Conveniences
- 20.5.16. Compute tier & device capabilities
- 20.5.17. Pipeline introspection
- 20.5.18. Video memory budget
- 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::VkCommandBuffer - 20.7.2.2.
vulkan::VkPipelineStageFlags2 - 20.7.2.3.
vulkan::VkAccessFlags2 - 20.7.2.4.
vulkan::VkPhysicalDevice - 20.7.2.5.
vulkan::VkQueue - 20.7.2.6.
vulkan::VkMemoryPropertyFlags - 20.7.2.7.
vulkan::VkImage - 20.7.2.8.
vulkan::VkAccessFlags - 20.7.2.9.
vulkan::VkPipelineStageFlags - 20.7.2.10.
vulkan::VkBufferUsageFlags - 20.7.2.11.
vulkan::VkShaderStageFlags - 20.7.2.12.
vulkan::VkImageAspectFlags - 20.7.2.13.
vulkan::VkImageUsageFlags - 20.7.2.14.
vulkan::VkSampleCountFlags - 20.7.2.15.
vulkan::VkClearValue - 20.7.2.16.
vulkan::VkRect2D - 20.7.2.17.
vulkan::VkVertexInputBindingDescription - 20.7.2.18.
vulkan::VkVertexInputAttributeDescription - 20.7.2.19.
vulkan::VkPhysicalDeviceFeatures2 - 20.7.2.20.
vulkan::VkGraphicsPipelineCreateInfo - 20.7.2.21.
vulkan::VkPipelineRenderingCreateInfo
- 20.7.2.1.
- 20.7.3.
vulkan_structsview structs