|
|
| VulkanCore (std::span< const char *const > required_instance_extensions, std::span< const char *const > required_device_extensions={}) noexcept |
|
| VulkanCore (const VulkanCore &)=delete |
|
auto | operator= (const VulkanCore &) -> VulkanCore &=delete |
|
auto | getInstance () const noexcept -> const vk::raii::Instance & |
|
auto | getDevice () const noexcept -> const vk::raii::Device & |
|
auto | getPhysicalDevice () const noexcept -> const vk::raii::PhysicalDevice & |
|
auto | getAllocator () const noexcept -> const vma::raii::Allocator & |
|
auto | getGraphicsQueueFamilyIndex () const noexcept -> uint32_t |
|
auto | getComputeQueueFamilyIndex () const noexcept -> uint32_t |
|
auto | getTransferQueueFamilyIndex () const noexcept -> uint32_t |
|
auto | getGraphicsQueue () const noexcept -> vk::Queue |
|
auto | getComputeQueue () const noexcept -> vk::Queue |
| | Only AsyncCompute submits to it.
|
|
auto | getTransferQueue () const noexcept -> vk::Queue |
|
auto | getRenderDocAPI () const noexcept -> const RENDERDOC_API_1_6_0 * |
|
auto | isRayTracingSupported () const noexcept -> bool |
|
auto | isMeshShaderSupported () const noexcept -> bool |
| | VK_EXT_mesh_shader with task shaders and the output limits the voxel meshlets need.
|
|
auto | getBufferAddress (vk::Buffer buffer) const -> vk::DeviceAddress |
|
auto | getScratchAllocationSize (vk::DeviceSize needed) const noexcept -> vk::DeviceSize |
|
auto | getAlignedScratchAddress (vk::Buffer buffer) const -> vk::DeviceAddress |
| | Pair with getScratchAllocationSize().
|
|
auto | isMemoryBudgetSupported () const noexcept -> bool |
|
auto | isFrameBoundarySupported () const noexcept -> bool |
|
auto | isTextureSharingSupported () const noexcept -> bool |
|
auto | getNsightMode () const noexcept -> NsightMode |
|
auto | validationEnabled () const noexcept -> bool |
|
auto | debugUtilsEnabled () const noexcept -> bool |
|
auto | supportsSamplerAnisotropy () const noexcept -> bool |
|
auto | maxSamplerAnisotropy () const noexcept -> float |
|
auto | getPipelineCache () const noexcept -> const vk::raii::PipelineCache & |
| | Usable from any thread.
|
|
void | loadPipelineCache () const |
| | Before creating pipelines. Missing or stale files are ignored.
|
|
void | savePipelineCache () const |
|
void | updateTracyMemory () const |
| | Replays live VRAM blocks to a newly connected Tracy and plots heap usage.
|
|
auto | asyncCompute () const noexcept -> AsyncCompute & |
| | The only way to submit compute work outside a frame.
|
|
auto | transferSubmitMutex () const noexcept -> std::mutex & |
| | Only contended when AsyncCompute shares the transfer queue.
|
|
auto | graphicsSubmitMutex () const noexcept -> std::mutex & |