gpu-rendering-vulkan-guidelisted
Install: claude install-skill xonovex/platform
# Vulkan Rendering Guidelines
The concrete Vulkan API for a low-level renderer. This skill is the Vulkan _how_;
apply **gpu-rendering-guide** for the _why_ and the API-agnostic architecture (render
graphs, binding model, sync model, frames-in-flight, memory strategy). For the general
allocator principle behind device memory see memory-management-guide.
## Requirements
- Vulkan 1.3 (or 1.2 + the relevant extensions: `VK_KHR_synchronization2`, `VK_KHR_dynamic_rendering`, `VK_EXT_descriptor_indexing`, `VK_KHR_timeline_semaphore`).
- Validation layers + synchronization validation on in development; a frame debugger (RenderDoc-class) for capture.
## Setup
- **Device & queues** - `VkInstance` → physical device → `VkDevice`; select graphics/compute/transfer queue families, see [references/device-and-queues.md](references/device-and-queues.md)
- **Device memory** - `VkPhysicalDeviceMemoryProperties` types/heaps; few `vkAllocateMemory` + sub-allocation; staging, see [references/device-memory.md](references/device-memory.md)
## Resources & sync
- **Images/buffers & barriers** - `VkImage`/`VkBuffer` + views, `VkImageMemoryBarrier2` stage/access masks, layout transitions, see [references/resources-and-barriers.md](references/resources-and-barriers.md)
- **Synchronization** - `VkSemaphore` (binary + timeline), `VkFence`, pipeline stage/access masks, submit-time waits, see [references/synchronization.md](references/synchronization.md)
## Pipelines & binding
- **Descriptors** - `Vk