← ClaudeAtlas

gpu-rendering-vulkan-guidelisted

Use when implementing a Vulkan renderer: the concrete Vulkan API for device/queues, device memory + memory types + staging, images/buffers + pipeline barriers and layout transitions, descriptor sets/layouts + bindless, pipelines + pipeline cache + dynamic rendering, timeline semaphores + fences, command pools/buffers, and the swapchain. Triggers on Vk* types and vkCmd*/vkCreate* calls, VkImageMemoryBarrier2, VkDescriptorSet, VkPipeline, VkSemaphore, VkCommandPool, swapchain acquire/present, even when the user doesn't say 'Vulkan'.
xonovex/platform · ★ 5 · Web & Frontend · score 72
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