7. External types

Types defined by the raw vulkan binding and the generated vulkan_structs view module that the documented boost surface references but does not own. The raw layer mirrors the Vulkan C API 1:1 and is not re-documented here — see the Vulkan specification for the authoritative field-by-field reference. This page anchors the labels so the generated boost pages can link without dangling references.

7.1. Core enums

7.1.1. vulkan::VkResult

Return code for almost every Vulkan command. VK_SUCCESS is 0; negative values are errors. The boost create_* / command wrappers run it through vk_check — left to default they panic on a non-success code, or forward it to a caller-supplied var result : VkResult?.

7.1.2. vulkan::VkFormat

Pixel / vertex-attribute format enum (VK_FORMAT_R8G8B8A8_UNORM, …). Passed to image, image-view, render-pass, and swapchain creation.

7.1.3. vulkan::VkImageLayout

Image memory layout (VK_IMAGE_LAYOUT_UNDEFINED, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, …) used in render passes and barriers.

7.1.4. vulkan::VkPipelineBindPoint

Selects which bind point a pipeline / descriptor set binds to — GRAPHICS or COMPUTE. The trailing bind_point argument to cmd_bind_pipeline (defaults to GRAPHICS).

7.2. Core handles and aliases

7.2.1. vulkan::VkPhysicalDevice

Raw non-owning handle for a physical GPU, returned by select_physical_device and consumed by device creation and memory queries. Has no RAII wrapper (it is owned by the instance, not created or destroyed).

7.2.2. vulkan::VkQueue

Raw non-owning handle for a device queue, returned by get_device_queue. Owned by the device; no separate destroy.

7.2.3. vulkan::VkMemoryPropertyFlags

Bitfield of memory-property bits (DEVICE_LOCAL, HOST_VISIBLE, HOST_COHERENT, …) used by find_memory_type to pick a heap.

7.2.4. vulkan::VkClearValue

Union of a clear color or depth/stencil value. clear_color builds one; record_render_pass consumes it.

7.2.5. vulkan::VkRect2D

An offset + extent rectangle. full_area builds one covering the whole target; used as the render-pass render area.

7.3. vulkan_structs view structs

7.3.1. vulkan_structs::*CreateInfo

The idiomatic view structs accepted by the create_* creators on the Commands — RAII creators returning owning handle wrappers page. Each shadows the matching Vulkan Vk*CreateInfo struct with daslang-friendly fields: array<T> instead of count+pointer pairs, string instead of const char*, boost handle types instead of raw ones, and sType filled automatically. Because they are generated 1:1 from vk.xml, their fields are documented field-by-field in the Vulkan specification; see Overview for the view-struct mechanism.