donner::gpu::vulkan::VulkanDevice - the Vulkan backend for the Donner GPU runtime.
More...
#include <atomic>#include <cstdint>#include <functional>#include <memory>#include <optional>#include <span>#include <string>#include <vector>#include "donner/gpu/Device.h"Classes | |
| class | donner::gpu::vulkan::VulkanSurfaceRetirement |
| Shared, atomically readable retirement disposition for an external Vulkan surface. More... | |
| class | donner::gpu::vulkan::VulkanSharedRoot |
| One native Vulkan instance, device and graphics queue shared by runtime devices. More... | |
| class | donner::gpu::vulkan::VulkanPresentationProbe |
| Presentation instance held while an embedder creates its platform surface. More... | |
| class | donner::gpu::vulkan::VulkanDevice |
| Vulkan backend of the Donner GPU runtime. More... | |
| struct | donner::gpu::vulkan::VulkanDevice::SystemCapabilities |
| What the physical device Create selects supports, which every device it opens shares. More... | |
| struct | donner::gpu::vulkan::VulkanDevice::RecordedImageBarrierForTest |
| One image barrier the backend recorded, reported as plain numbers so this header stays free of Vulkan types. Test accessor: which barriers are emitted is the whole contract of the resource-state model, and it is not observable in the pixels a test reads back. More... | |
| struct | donner::gpu::vulkan::VulkanDevice::NativeContextForTest |
| Borrowed native objects for tests that submit their own synchronization gate. Valid only until this device is destroyed; callers must use the owning thread, release every gate, and finish their native work before destroying any of these objects or the device. More... | |
| struct | donner::gpu::vulkan::VulkanDevice::BufferWriteStats |
| Snapshot of queued buffer-write ownership, without polling the queue. More... | |
| struct | donner::gpu::vulkan::VulkanDevice::SurfaceAcquisitionForTest |
| What a surface's acquisition bookkeeping looks like from outside, for the contracts whose only other symptom is timing dependent. More... | |
Namespaces | |
| namespace | donner |
| Top-level Donner namespace, which is split into different sub-namespaces such as donner::svg and donner::css. | |
Enumerations | |
| enum class | donner::gpu::vulkan::VulkanSurfaceRetirementState { Unattached , Live , Retired , Unproven , Released } |
| One external surface's irreversible backend retirement disposition. | |
Functions | |
| std::vector< const char * > | donner::gpu::vulkan::SelectPresentationExtensionsForTest (std::span< const char *const > offeredExtensions, std::span< const char *const > requiredExtensions) |
| Selects presentation instance extensions from the names a loader offers. Exposed for deterministic platform-companion extension tests. | |
donner::gpu::vulkan::VulkanDevice - the Vulkan backend for the Donner GPU runtime.
| struct donner::gpu::vulkan::VulkanDevice::SystemCapabilities |
What the physical device Create selects supports, which every device it opens shares.
| Class Members | ||
|---|---|---|
| uint32_t | maxTextureDimension2D = 0 | Largest width or height of a 2D texture the physical device allocates, from its maxImageDimension2D limit and capped at kMaxTextureDimension, the largest extent the runtime accepts. |
| struct donner::gpu::vulkan::VulkanDevice::RecordedImageBarrierForTest |
One image barrier the backend recorded, reported as plain numbers so this header stays free of Vulkan types. Test accessor: which barriers are emitted is the whole contract of the resource-state model, and it is not observable in the pixels a test reads back.
| struct donner::gpu::vulkan::VulkanDevice::NativeContextForTest |
Borrowed native objects for tests that submit their own synchronization gate. Valid only until this device is destroyed; callers must use the owning thread, release every gate, and finish their native work before destroying any of these objects or the device.
| Class Members | ||
|---|---|---|
| const VulkanApi * | api | Device entry points, owned by this device. |
| void * | device | Borrowed VkDevice. |
| void * | instance | Borrowed VkInstance, for a test that stands in for an embedder. |
| void * | queue | Borrowed VkQueue. |
| uint32_t | queueFamilyIndex | Family of the borrowed queue. |
| struct donner::gpu::vulkan::VulkanDevice::BufferWriteStats |
Snapshot of queued buffer-write ownership, without polling the queue.
| struct donner::gpu::vulkan::VulkanDevice::SurfaceAcquisitionForTest |
What a surface's acquisition bookkeeping looks like from outside, for the contracts whose only other symptom is timing dependent.
| std::vector< const char * > donner::gpu::vulkan::SelectPresentationExtensionsForTest | ( | std::span< const char *const > | offeredExtensions, |
| std::span< const char *const > | requiredExtensions ) |
Selects presentation instance extensions from the names a loader offers. Exposed for deterministic platform-companion extension tests.
| offeredExtensions | NUL-terminated names offered by the loader. |
| requiredExtensions | NUL-terminated embedder-required names. |