Crate gfx_backend_vulkan

Source
Expand description

§Vulkan backend internals.

§Stack memory

Most of the code just passes the data through. The only problem that affects all the pieces is related to memory allocation: Vulkan expects slices, but the API gives us Iterator. So we end up using a lot of inplace_it to get things collected on stack.

§Framebuffers

One part that has actual logic is related to framebuffers. HAL is modelled after image-less framebuffers. If the the Vulkan implementation supports it, we map it 1:1, and everything is great. If it doesn’t expose KHR_imageless_framebuffer, however, than we have to keep all the created framebuffers internally in an internally-synchronized map, per B::Framebuffer. !

Structs§

Device
Instance
PhysicalDevice
PhysicalDeviceFeatures
Aggregate of the vk::PhysicalDevice*Features structs used by gfx.
PhysicalDeviceInfo
Information gathered about a physical device. Used to
Queue
QueueFamily
RawInstance
Version
Helper wrapper around vk::make_version.

Enums§

Backend
DebugMessenger

Type Aliases§

RawCommandQueue