Chicane

VulkanBackend

Header
Includes/Chicane/Renderer/Backend/Vulkan.hpp
Namespace
Chicane::Renderer::VulkanBackend

Constructors

NameDescription
VulkanBackend()

Destructors

NameDescription
~VulkanBackend()

Override Functions

AccessReturnModifierNameDescription
protected
void
onInit()
protected
void
onShutdown()
protected
void
onResize()
protected
void
onLoad(
const  DrawTextureResource& inResources
)
protected
void
onRender(
const  Frame& inFrame
)

Functions

AccessReturnModifierNameDescription
public
vk::Viewport
const
getVkViewport(
Layer* inLayer
)
public
vk::Rect2D
const
getVkScissor(
Layer* inLayer
)
private
void
buildInstance()
private
void
destroyInstance()
private
void
buildDebugMessenger()
private
void
destroyDebugMessenger()
private
void
buildSurface()
private
void
destroySurface()
private
void
buildQueues()
private
void
buildDevices()
private
void
destroyDevices()
private
void
updateResourceBudget()
private
void
buildCommandPool()
private
void
destroyCommandPool()
private
void
buildMainCommandBuffer()
private
void
buildSwapchain()
private
void
destroySwapchain()
private
void
rebuildSwapchain()
private
void
buildFrames()
private
void
destroyFrames()
private
void
buildLayers()
private
void
buildTextureDescriptor()
private
void
buildTextureData(
const  DrawTexture::List& inTextures
)
private
void
destroyTextureData()

Members

AccessTypeModifierNameDescription
public
vk::Instance
instance
public
vk::PhysicalDevice
physicalDevice
public
vk::Device
logicalDevice
public
vk::SurfaceKHR
surface
public
vk::Queue
graphicsQueue
public
vk::CommandBuffer
mainCommandBuffer
public
swapchain
public
std::vector<VulkanFrame>
frames
public
textureDescriptor
public
std::vector<std::unique_ptr<VulkanTexture>>
textures
private
std::uint32_t
m_currentFrameIndex
private
vk::detail::DispatchLoaderDynamic
m_dispatcher
private
vk::DebugUtilsMessengerEXT
m_debugMessenger
private
vk::Queue
m_presentQueue
private
vk::CommandPool
m_mainCommandPool