Diligent Engine  v.2.4.g
Public Types | Public Member Functions | List of all members
Diligent::TopLevelASVkImpl Class Referencefinal

#include <TopLevelASVkImpl.hpp>

Inheritance diagram for Diligent::TopLevelASVkImpl:
Diligent::TopLevelASBase< EngineVkImplTraits > Diligent::DeviceObjectBase< EngineVkImplTraits ::TopLevelASInterface, EngineVkImplTraits ::RenderDeviceImplType, TopLevelASDesc > Diligent::ObjectBase< EngineVkImplTraits ::TopLevelASInterface > Diligent::RefCountedObject< EngineVkImplTraits ::TopLevelASInterface >

Public Types

using TTopLevelASBase = TopLevelASBase< EngineVkImplTraits >
 
- Public Types inherited from Diligent::TopLevelASBase< EngineVkImplTraits >
using TDeviceObjectBase = DeviceObjectBase< BaseInterface, RenderDeviceImplType, TopLevelASDesc >
 
- Public Types inherited from Diligent::DeviceObjectBase< EngineVkImplTraits ::TopLevelASInterface, EngineVkImplTraits ::RenderDeviceImplType, TopLevelASDesc >
typedef ObjectBase< EngineVkImplTraits ::TopLevelASInterface > TBase
 

Public Member Functions

 TopLevelASVkImpl (IReferenceCounters *pRefCounters, RenderDeviceVkImpl *pRenderDeviceVk, const TopLevelASDesc &Desc)
 
 TopLevelASVkImpl (IReferenceCounters *pRefCounters, RenderDeviceVkImpl *pRenderDeviceVk, const TopLevelASDesc &Desc, RESOURCE_STATE InitialState, VkAccelerationStructureKHR vkTLAS)
 
 ~TopLevelASVkImpl ()
 
virtual void * GetNativeHandle () override final
 Implementation of ITopLevelAS::GetNativeHandle() in Vulkan backend. More...
 
virtual VkAccelerationStructureKHR GetVkTLAS () const override
 Implementation of ITopLevelASVk::GetVkTLAS(). More...
 
virtual VkDeviceAddress GetVkDeviceAddress () const override
 Implementation of ITopLevelASVk::GetVkDeviceAddress(). More...
 
const VkAccelerationStructureKHR * GetVkTLASPtr () const
 
- Public Member Functions inherited from Diligent::TopLevelASBase< EngineVkImplTraits >
 TopLevelASBase (IReferenceCounters *pRefCounters, RenderDeviceImplType *pDevice, const TopLevelASDesc &Desc, bool bIsDeviceInternal=false)
 
 ~TopLevelASBase ()
 
bool SetInstanceData (const TLASBuildInstanceData *pInstances, const Uint32 InstanceCount, const Uint32 BaseContributionToHitGroupIndex, const Uint32 HitGroupStride, const HIT_GROUP_BINDING_MODE BindingMode) noexcept
 
bool UpdateInstances (const TLASBuildInstanceData *pInstances, const Uint32 InstanceCount, const Uint32 BaseContributionToHitGroupIndex, const Uint32 HitGroupStride, const HIT_GROUP_BINDING_MODE BindingMode) noexcept
 
void CopyInstancceData (const TopLevelASBase &Src) noexcept
 
virtual TLASInstanceDesc GetInstanceDesc (const char *Name) const override final
 Implementation of ITopLevelAS::GetInstanceDesc(). More...
 
virtual TLASBuildInfo GetBuildInfo () const override final
 Implementation of ITopLevelAS::GetBuildInfo(). More...
 
virtual void SetState (RESOURCE_STATE State) override final
 Implementation of ITopLevelAS::SetState(). More...
 
virtual RESOURCE_STATE GetState () const override final
 Implementation of ITopLevelAS::GetState(). More...
 
virtual ScratchBufferSizes GetScratchBufferSizes () const override final
 Implementation of ITopLevelAS::GetScratchBufferSizes(). More...
 
bool IsInKnownState () const
 
bool CheckState (RESOURCE_STATE State) const
 
- Public Member Functions inherited from Diligent::DeviceObjectBase< EngineVkImplTraits ::TopLevelASInterface, EngineVkImplTraits ::RenderDeviceImplType, TopLevelASDesc >
 DeviceObjectBase (IReferenceCounters *pRefCounters, EngineVkImplTraits ::RenderDeviceImplType *pDevice, const TopLevelASDesc &ObjDesc, bool bIsDeviceInternal=false)
 
 DeviceObjectBase (const DeviceObjectBase &)=delete
 
 DeviceObjectBase (DeviceObjectBase &&)=delete
 
DeviceObjectBaseoperator= (const DeviceObjectBase &)=delete
 
DeviceObjectBaseoperator= (DeviceObjectBase &&)=delete
 
virtual ~DeviceObjectBase ()
 
virtual Atomics::Long Release () override final
 
virtual const TopLevelASDescGetDesc () const override final
 
virtual Int32 GetUniqueID () const override final
 Returns unique identifier. More...
 
virtual void SetUserData (IObject *pUserData) override final
 Implementation of IDeviceObject::SetUserData. More...
 
virtual IObjectGetUserData () const override final
 Implementation of IDeviceObject::GetUserData. More...
 
EngineVkImplTraits ::RenderDeviceImplType * GetDevice () const
 
- Public Member Functions inherited from Diligent::ObjectBase< EngineVkImplTraits ::TopLevelASInterface >
 ObjectBase (IReferenceCounters *pRefCounters)
 
virtual void QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)
 
- Public Member Functions inherited from Diligent::RefCountedObject< EngineVkImplTraits ::TopLevelASInterface >
 RefCountedObject (IReferenceCounters *pRefCounters, BaseCtorArgTypes &&... BaseCtorArgs) noexcept
 
virtual ~RefCountedObject ()
 
virtual IReferenceCountersGetReferenceCounters () const override final
 
virtual ReferenceCounterValueType AddRef () override final
 
ReferenceCounterValueType Release (TPreObjectDestroy PreObjectDestroy)
 

Additional Inherited Members

- Static Public Member Functions inherited from Diligent::DeviceObjectBase< EngineVkImplTraits ::TopLevelASInterface, EngineVkImplTraits ::RenderDeviceImplType, TopLevelASDesc >
static bool IsSameObject (const DeviceObjectBase *pObj1, const DeviceObjectBase *pObj2)
 
- Protected Member Functions inherited from Diligent::RefCountedObject< EngineVkImplTraits ::TopLevelASInterface >
void operator delete (void *ptr)
 
void operator delete (void *ptr, ObjectAllocatorType &Allocator, const Char *dbgDescription, const char *dbgFileName, const Int32 dbgLineNumber)
 
- Protected Attributes inherited from Diligent::TopLevelASBase< EngineVkImplTraits >
RESOURCE_STATE m_State
 
TLASBuildInfo m_BuildInfo
 
ScratchBufferSizes m_ScratchSize
 
std::unordered_map< HashMapStringKey, InstanceDesc, HashMapStringKey::Hasherm_Instances
 
StringPool m_StringPool
 
- Protected Attributes inherited from Diligent::DeviceObjectBase< EngineVkImplTraits ::TopLevelASInterface, EngineVkImplTraits ::RenderDeviceImplType, TopLevelASDesc >
EngineVkImplTraits ::RenderDeviceImplType *const m_pDevice
 Pointer to the device. More...
 
TopLevelASDesc m_Desc
 Object description. More...
 
UniqueIdHelper< EngineVkImplTraits ::TopLevelASInterface > m_UniqueID
 
const bool m_bIsDeviceInternal
 
RefCntAutoPtr< IObjectm_pUserData
 

Member Typedef Documentation

◆ TTopLevelASBase

Constructor & Destructor Documentation

◆ TopLevelASVkImpl() [1/2]

Diligent::TopLevelASVkImpl::TopLevelASVkImpl ( IReferenceCounters pRefCounters,
RenderDeviceVkImpl pRenderDeviceVk,
const TopLevelASDesc Desc 
)

◆ TopLevelASVkImpl() [2/2]

Diligent::TopLevelASVkImpl::TopLevelASVkImpl ( IReferenceCounters pRefCounters,
RenderDeviceVkImpl pRenderDeviceVk,
const TopLevelASDesc Desc,
RESOURCE_STATE  InitialState,
VkAccelerationStructureKHR  vkTLAS 
)

◆ ~TopLevelASVkImpl()

Diligent::TopLevelASVkImpl::~TopLevelASVkImpl ( )

Member Function Documentation

◆ GetNativeHandle()

virtual void* Diligent::TopLevelASVkImpl::GetNativeHandle ( )
inlinefinaloverridevirtual

Implementation of ITopLevelAS::GetNativeHandle() in Vulkan backend.

◆ GetVkDeviceAddress()

virtual VkDeviceAddress Diligent::TopLevelASVkImpl::GetVkDeviceAddress ( ) const
inlineoverridevirtual

◆ GetVkTLAS()

virtual VkAccelerationStructureKHR Diligent::TopLevelASVkImpl::GetVkTLAS ( ) const
inlineoverridevirtual

Implementation of ITopLevelASVk::GetVkTLAS().

◆ GetVkTLASPtr()

const VkAccelerationStructureKHR* Diligent::TopLevelASVkImpl::GetVkTLASPtr ( ) const
inline

The documentation for this class was generated from the following files: