Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::RenderDeviceVkImpl Class Referencefinal

Render device implementation in Vulkan backend. More...

#include <RenderDeviceVkImpl.hpp>

Inheritance diagram for Diligent::RenderDeviceVkImpl:
Diligent::RenderDeviceNextGenBase< RenderDeviceBase< EngineVkImplTraits >, ICommandQueueVk > Diligent::RenderDeviceBase< EngineImplTraits > Diligent::ObjectBase< EngineImplTraits::RenderDeviceInterface > Diligent::RefCountedObject< EngineImplTraits::RenderDeviceInterface >

Public Member Functions

virtual void DILIGENT_CALL_TYPE CreateGraphicsPipelineState (const GraphicsPipelineStateCreateInfo &PSOCreateInfo, IPipelineState **ppPipelineState) override final
 Implementation of IRenderDevice::CreateGraphicsPipelineState() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateComputePipelineState (const ComputePipelineStateCreateInfo &PSOCreateInfo, IPipelineState **ppPipelineState) override final
 Implementation of IRenderDevice::CreateComputePipelineState() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateRayTracingPipelineState (const RayTracingPipelineStateCreateInfo &PSOCreateInfo, IPipelineState **ppPipelineState) override final
 Implementation of IRenderDevice::CreateRayTracingPipelineState() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateBuffer (const BufferDesc &BuffDesc, const BufferData *pBuffData, IBuffer **ppBuffer) override final
 Implementation of IRenderDevice::CreateBuffer() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateShader (const ShaderCreateInfo &ShaderCreateInfo, IShader **ppShader, IDataBlob **ppCompilerOutput) override final
 Implementation of IRenderDevice::CreateShader() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateTexture (const TextureDesc &TexDesc, const TextureData *pData, ITexture **ppTexture) override final
 Implementation of IRenderDevice::CreateTexture() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateSampler (const SamplerDesc &SamplerDesc, ISampler **ppSampler) override final
 Implementation of IRenderDevice::CreateSampler() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateFence (const FenceDesc &Desc, IFence **ppFence) override final
 Implementation of IRenderDevice::CreateFence() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateQuery (const QueryDesc &Desc, IQuery **ppQuery) override final
 Implementation of IRenderDevice::CreateQuery() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateRenderPass (const RenderPassDesc &Desc, IRenderPass **ppRenderPass) override final
 Implementation of IRenderDevice::CreateRenderPass() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateFramebuffer (const FramebufferDesc &Desc, IFramebuffer **ppFramebuffer) override final
 Implementation of IRenderDevice::CreateFramebuffer() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateBLAS (const BottomLevelASDesc &Desc, IBottomLevelAS **ppBLAS) override final
 Implementation of IRenderDevice::CreateBLAS() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateTLAS (const TopLevelASDesc &Desc, ITopLevelAS **ppTLAS) override final
 Implementation of IRenderDevice::CreateTLAS() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateSBT (const ShaderBindingTableDesc &Desc, IShaderBindingTable **ppSBT) override final
 Implementation of IRenderDevice::CreateSBT() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreatePipelineResourceSignature (const PipelineResourceSignatureDesc &Desc, IPipelineResourceSignature **ppSignature) override final
 Implementation of IRenderDevice::CreatePipelineResourceSignature() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateDeviceMemory (const DeviceMemoryCreateInfo &CreateInfo, IDeviceMemory **ppMemory) override final
 Implementation of IRenderDevice::CreateDeviceMemory() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreatePipelineStateCache (const PipelineStateCacheCreateInfo &CreateInfo, IPipelineStateCache **ppPipelineStateCache) override final
 Implementation of IRenderDevice::CreatePipelineStateCache() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE CreateDeferredContext (IDeviceContext **ppContext) override final
 Implementation of IRenderDevice::CreateDeferredContext() in Vulkan backend.
 
virtual VkDevice DILIGENT_CALL_TYPE GetVkDevice () override final
 Implementation of IRenderDeviceVk::GetVkDevice().
 
virtual VkPhysicalDevice DILIGENT_CALL_TYPE GetVkPhysicalDevice () override final
 Implementation of IRenderDeviceVk::GetVkPhysicalDevice().
 
virtual VkInstance DILIGENT_CALL_TYPE GetVkInstance () override final
 Implementation of IRenderDeviceVk::GetVkInstance().
 
virtual Uint32 DILIGENT_CALL_TYPE GetVkVersion () override final
 Implementation of IRenderDeviceVk::GetVkVersion().
 
virtual void DILIGENT_CALL_TYPE CreateTextureFromVulkanImage (VkImage vkImage, const TextureDesc &TexDesc, RESOURCE_STATE InitialState, ITexture **ppTexture) override final
 Implementation of IRenderDeviceVk::CreateTextureFromVulkanImage().
 
virtual void DILIGENT_CALL_TYPE CreateBufferFromVulkanResource (VkBuffer vkBuffer, const BufferDesc &BuffDesc, RESOURCE_STATE InitialState, IBuffer **ppBuffer) override final
 Implementation of IRenderDeviceVk::CreateBufferFromVulkanResource().
 
virtual void DILIGENT_CALL_TYPE CreateBLASFromVulkanResource (VkAccelerationStructureKHR vkBLAS, const BottomLevelASDesc &Desc, RESOURCE_STATE InitialState, IBottomLevelAS **ppBLAS) override final
 Implementation of IRenderDeviceVk::CreateBLASFromVulkanResource().
 
virtual void DILIGENT_CALL_TYPE CreateTLASFromVulkanResource (VkAccelerationStructureKHR vkTLAS, const TopLevelASDesc &Desc, RESOURCE_STATE InitialState, ITopLevelAS **ppTLAS) override final
 Implementation of IRenderDeviceVk::CreateTLASFromVulkanResource().
 
virtual void DILIGENT_CALL_TYPE CreateFenceFromVulkanResource (VkSemaphore vkTimelineSemaphore, const FenceDesc &Desc, IFence **ppFence) override final
 Implementation of IRenderDeviceVk::CreateFenceFromVulkanResource().
 
virtual void DILIGENT_CALL_TYPE IdleGPU () override final
 Implementation of IRenderDevice::IdleGPU() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE ReleaseStaleResources (bool ForceRelease=false) override final
 Implementation of IRenderDevice::ReleaseStaleResources() in Vulkan backend.
 
virtual SparseTextureFormatInfo DILIGENT_CALL_TYPE GetSparseTextureFormatInfo (TEXTURE_FORMAT TexFormat, RESOURCE_DIMENSION Dimension, Uint32 SampleCount) const override final
 Implementation of IRenderDevice::GetSparseTextureFormatInfo() in Vulkan backend.
 
virtual void DILIGENT_CALL_TYPE GetDeviceFeaturesVk (DeviceFeaturesVk &FeaturesVk) const override final
 Implementation of IRenderDeviceVk::GetDeviceFeaturesVk().
 
- Public Member Functions inherited from Diligent::RenderDeviceBase< EngineImplTraits >
 RenderDeviceBase (IReferenceCounters *pRefCounters, IMemoryAllocator &RawMemAllocator, IEngineFactory *pEngineFactory, const EngineCreateInfo &EngineCI, const GraphicsAdapterInfo &AdapterInfo)
 
virtual void DILIGENT_CALL_TYPE CreateResourceMapping (const ResourceMappingCreateInfo &ResMappingCI, IResourceMapping **ppMapping) override final
 Implementation of IRenderDevice::CreateResourceMapping().
 
virtual const RenderDeviceInfo &DILIGENT_CALL_TYPE GetDeviceInfo () const override final
 Implementation of IRenderDevice::GetDeviceInfo().
 
virtual const GraphicsAdapterInfo &DILIGENT_CALL_TYPE GetAdapterInfo () const override final
 Implementation of IRenderDevice::GetAdapterInfo().
 
virtual const TextureFormatInfo &DILIGENT_CALL_TYPE GetTextureFormatInfo (TEXTURE_FORMAT TexFormat) const override final
 Implementation of IRenderDevice::GetTextureFormatInfo().
 
virtual const TextureFormatInfoExt &DILIGENT_CALL_TYPE GetTextureFormatInfoExt (TEXTURE_FORMAT TexFormat) override final
 Implementation of IRenderDevice::GetTextureFormatInfoExt().
 
virtual void DILIGENT_CALL_TYPE CreateTilePipelineState (const TilePipelineStateCreateInfo &PSOCreateInfo, IPipelineState **ppPipelineState) override
 Base implementation of IRenderDevice::CreateTilePipelineState().
 
void SetImmediateContext (size_t Ctx, DeviceContextImplType *pImmediateContext)
 Set weak reference to the immediate context.
 
size_t GetNumImmediateContexts () const
 Returns the number of immediate contexts.
 
size_t GetNumDeferredContexts () const
 Returns number of deferred contexts.
 

Additional Inherited Members

- Protected Member Functions inherited from Diligent::RenderDeviceBase< EngineImplTraits >
template<typename ObjectType, typename ObjectDescType, typename ObjectConstructorType>
void CreateDeviceObject (const Char *ObjectTypeName, const ObjectDescType &Desc, ObjectType **ppObject, ObjectConstructorType ConstructObject)
 Helper template function to facilitate device object creation.
 
- Protected Attributes inherited from Diligent::RenderDeviceBase< EngineImplTraits >
ObjectsRegistry< SamplerDesc, RefCntAutoPtr< ISampler > > m_SamplersRegistry
 Sampler state registry.
 
std::vector< RefCntWeakPtr< DeviceContextImplType >, STDAllocatorRawMem< RefCntWeakPtr< DeviceContextImplType > > > m_wpImmediateContexts
 
std::mutex m_DeferredCtxMtx
 Weak references to deferred contexts.
 
IMemoryAllocatorm_RawMemAllocator
 Raw memory allocator.
 
FixedBlockMemoryAllocator m_TexObjAllocator
 Allocator for texture objects.
 
FixedBlockMemoryAllocator m_TexViewObjAllocator
 Allocator for texture view objects.
 
FixedBlockMemoryAllocator m_BufObjAllocator
 Allocator for buffer objects.
 
FixedBlockMemoryAllocator m_BuffViewObjAllocator
 Allocator for buffer view objects.
 
FixedBlockMemoryAllocator m_ShaderObjAllocator
 Allocator for shader objects.
 
FixedBlockMemoryAllocator m_SamplerObjAllocator
 Allocator for sampler objects.
 
FixedBlockMemoryAllocator m_PSOAllocator
 Allocator for pipeline state objects.
 
FixedBlockMemoryAllocator m_SRBAllocator
 Allocator for shader resource binding objects.
 
FixedBlockMemoryAllocator m_ResMappingAllocator
 Allocator for resource mapping objects.
 
FixedBlockMemoryAllocator m_FenceAllocator
 Allocator for fence objects.
 
FixedBlockMemoryAllocator m_QueryAllocator
 Allocator for query objects.
 
FixedBlockMemoryAllocator m_RenderPassAllocator
 Allocator for render pass objects.
 
FixedBlockMemoryAllocator m_FramebufferAllocator
 Allocator for framebuffer objects.
 
FixedBlockMemoryAllocator m_BLASAllocator
 Allocator for bottom-level acceleration structure objects.
 
FixedBlockMemoryAllocator m_TLASAllocator
 Allocator for top-level acceleration structure objects.
 
FixedBlockMemoryAllocator m_SBTAllocator
 Allocator for shader binding table objects.
 
FixedBlockMemoryAllocator m_PipeResSignAllocator
 Allocator for pipeline resource signature objects.
 
FixedBlockMemoryAllocator m_MemObjAllocator
 Allocator for device memory objects.
 
FixedBlockMemoryAllocator m_PSOCacheAllocator
 Allocator for pipeline state cache objects.
 

Detailed Description

Render device implementation in Vulkan backend.