Toast Engine
Loading...
Searching...
No Matches
renderer::VulkanCore Class Reference

Public Member Functions

 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 &

The documentation for this class was generated from the following files:
  • engine/src/toast/renderer/vulkan_core.hpp
  • engine/src/toast/renderer/vulkan_core.cpp