Diligent::RenderDeviceVkImpl class final

Render device implementation in Vulkan backend.

Contents

Base classes

template<class TBase, typename CommandQueueType>
class RenderDeviceNextGenBase<RenderDeviceBase<EngineVkImplTraits>, ICommandQueueVk>
Base implementation of the render device for next-generation backends.

Public functions

void CreateGraphicsPipelineState(const GraphicsPipelineStateCreateInfo& PSOCreateInfo, IPipelineState** ppPipelineState) final
Implementation of IRenderDevice::CreateGraphicsPipelineState() in Vulkan backend.
void CreateComputePipelineState(const ComputePipelineStateCreateInfo& PSOCreateInfo, IPipelineState** ppPipelineState) final
Implementation of IRenderDevice::CreateComputePipelineState() in Vulkan backend.
void CreateRayTracingPipelineState(const RayTracingPipelineStateCreateInfo& PSOCreateInfo, IPipelineState** ppPipelineState) final
Implementation of IRenderDevice::CreateRayTracingPipelineState() in Vulkan backend.
void CreateBuffer(const BufferDesc& BuffDesc, const BufferData* pBuffData, IBuffer** ppBuffer) final
Implementation of IRenderDevice::CreateBuffer() in Vulkan backend.
void CreateShader(const ShaderCreateInfo& ShaderCreateInfo, IShader** ppShader) final
Implementation of IRenderDevice::CreateShader() in Vulkan backend.
void CreateTexture(const TextureDesc& TexDesc, const TextureData* pData, ITexture** ppTexture) final
Implementation of IRenderDevice::CreateTexture() in Vulkan backend.
void CreateSampler(const SamplerDesc& SamplerDesc, ISampler** ppSampler) final
Implementation of IRenderDevice::CreateSampler() in Vulkan backend.
void CreateFence(const FenceDesc& Desc, IFence** ppFence) final
Implementation of IRenderDevice::CreateFence() in Vulkan backend.
void CreateQuery(const QueryDesc& Desc, IQuery** ppQuery) final
Implementation of IRenderDevice::CreateQuery() in Vulkan backend.
void CreateRenderPass(const RenderPassDesc& Desc, IRenderPass** ppRenderPass) final
Implementation of IRenderDevice::CreateRenderPass() in Vulkan backend.
void CreateFramebuffer(const FramebufferDesc& Desc, IFramebuffer** ppFramebuffer) final
Implementation of IRenderDevice::CreateFramebuffer() in Vulkan backend.
void CreateBLAS(const BottomLevelASDesc& Desc, IBottomLevelAS** ppBLAS) final
Implementation of IRenderDevice::CreateBLAS() in Vulkan backend.
void CreateTLAS(const TopLevelASDesc& Desc, ITopLevelAS** ppTLAS) final
Implementation of IRenderDevice::CreateTLAS() in Vulkan backend.
void CreateSBT(const ShaderBindingTableDesc& Desc, IShaderBindingTable** ppSBT) final
Implementation of IRenderDevice::CreateSBT() in Vulkan backend.
void CreatePipelineResourceSignature(const PipelineResourceSignatureDesc& Desc, IPipelineResourceSignature** ppSignature) final
Implementation of IRenderDevice::CreatePipelineResourceSignature() in Vulkan backend.
auto GetVkDevice() -> VkDevice final
Implementation of IRenderDeviceVk::GetVkDevice().
auto GetVkPhysicalDevice() -> VkPhysicalDevice final
Implementation of IRenderDeviceVk::GetVkPhysicalDevice().
auto GetVkInstance() -> VkInstance final
Implementation of IRenderDeviceVk::GetVkInstance().
auto GetVkVersion() -> Uint32 final
Implementation of IRenderDeviceVk::GetVkVersion().
void CreateTextureFromVulkanImage(VkImage vkImage, const TextureDesc& TexDesc, RESOURCE_STATE InitialState, ITexture** ppTexture) final
Implementation of IRenderDeviceVk::CreateTextureFromVulkanImage().
void CreateBufferFromVulkanResource(VkBuffer vkBuffer, const BufferDesc& BuffDesc, RESOURCE_STATE InitialState, IBuffer** ppBuffer) final
Implementation of IRenderDeviceVk::CreateBufferFromVulkanResource().
void CreateBLASFromVulkanResource(VkAccelerationStructureKHR vkBLAS, const BottomLevelASDesc& Desc, RESOURCE_STATE InitialState, IBottomLevelAS** ppBLAS) final
Implementation of IRenderDeviceVk::CreateBLASFromVulkanResource().
void CreateTLASFromVulkanResource(VkAccelerationStructureKHR vkTLAS, const TopLevelASDesc& Desc, RESOURCE_STATE InitialState, ITopLevelAS** ppTLAS) final
Implementation of IRenderDeviceVk::CreateTLASFromVulkanResource().
void IdleGPU() final
Implementation of IRenderDevice::IdleGPU() in Vulkan backend.
void ReleaseStaleResources(bool ForceRelease = false) final
Implementation of IRenderDevice::ReleaseStaleResources() in Vulkan backend.