Skip to main content

Module vulkan

Module vulkan 

Source
Expand description

GPU-free, CPU-side pieces of the Vulkan backend: the repr(C) uniform structs mirrored in the GLSL shaders (std140/std430 layouts) and the per-pass GPU-timing slot arithmetic. The blocks every backend shares live in crate::render::uniforms. None of these touch a Vulkan device or command buffer, and they are unit-tested without a GPU. They live in core::render (not the excluded concinnity-device crate) and are compiled unconditionally, so their layout tests run on every platform’s CI and count toward coverage. The Vulkan backend re-exports them under vulkan so it keeps its existing pass_timing / uniforms paths.

Modules§

pass_timing
Per-pass GPU timing on Vulkan via TIMESTAMP queries. The slot layout is the shared one (crate::render::pass_timing); this module only re-exports it so the backend keeps its crate::render::vulkan::pass_timing path.
uniforms
repr(C) uniform / push-constant structs only the Vulkan frame encoders bind (std140 / std430 / push-constant layouts). Each is mirrored field-for-field in a .glsl/.vert/.frag/.comp shader under vulkan/shaders/, or in the one .slang block Vulkan alone declares.