Module vulkan

Source
Available on vulkan only.
Expand description

Vulkan API internals.

§Vulkan API internals.

§Stack memory

Ash expects slices, which we don’t generally have available. We cope with this requirement by the combination of the following ways:

  • temporarily allocating Vec on heap, where overhead is permitted
  • growing temporary local storage

§Framebuffers and Render passes

Render passes are cached on the device and kept forever.

Framebuffers are also cached on the device, but they are removed when any of the image views (they have) gets removed. If Vulkan supports image-less framebuffers, then the actual views are excluded from the framebuffer key.

§Fences

If timeline semaphores are available, they are used 1:1 with wgpu-hal fences. Otherwise, we manage a pool of VkFence objects behind each hal::Fence.

!

Structs§

AccelerationStructure
Adapter
Api
BindGroup
BindGroupLayout
Buffer
CommandBuffer
CommandEncoder
ComputePipeline
DebugUtilsCreateInfo
DebugUtilsMessengerUserData
User data needed by instance::debug_utils_messenger_callback.
Device
Instance
InstanceShared
PipelineCache
PipelineLayout
QuerySet
Queue
RenderPipeline
Sampler
Surface
SurfaceTexture
Texture
TextureView
Workarounds
Workaround flags.

Enums§

Fence
The Api::Fence type for vulkan::Api.
ShaderModule