Diligent Engine API Reference
Public Member Functions | List of all members
Diligent::BufferD3D11Impl Class Reference

Implementation of the Diligent::IBufferD3D11 interface. More...

Inheritance diagram for Diligent::BufferD3D11Impl:
Diligent::BufferBase< IBufferD3D11, BufferViewD3D11Impl, FixedBlockMemoryAllocator > Diligent::DeviceObjectBase< IBufferD3D11, BufferDesc > Diligent::ObjectBase< IBufferD3D11 > Diligent::RefCountedObject< IBufferD3D11 > Diligent::IBufferD3D11 Diligent::IBuffer Diligent::IDeviceObject

Public Member Functions

virtual void QueryInterface (const Diligent::INTERFACE_ID &IID, IObject **ppInterface) override final
 Queries the specific interface, see IObject::QueryInterface() for details.
 
virtual void UpdateData (IDeviceContext *pContext, Uint32 Offset, Uint32 Size, const PVoid pData) override final
 Base implementation of IBuffer::UpdateData(); validates input parameters.
 
virtual void CopyData (IDeviceContext *pContext, IBuffer *pSrcBuffer, Uint32 SrcOffset, Uint32 DstOffset, Uint32 Size) override final
 Base implementation of IBuffer::CopyData(); validates input parameters.
 
virtual void Map (IDeviceContext *pContext, MAP_TYPE MapType, Uint32 MapFlags, PVoid &pMappedData) override final
 Base implementation of IBuffer::Map(); validates input parameters.
 
virtual void Unmap (IDeviceContext *pContext, MAP_TYPE MapType, Uint32 MapFlags) override final
 Base implementation of IBuffer::Unmap()
 
virtual ID3D11Buffer * GetD3D11Buffer () override final
 Returns a pointer to the ID3D11Buffer interface of the internal Direct3D11 object. More...
 
virtual void * GetNativeHandle () override final
 Returns native buffer handle specific to the underlying graphics API. More...
 
- Public Member Functions inherited from Diligent::BufferBase< IBufferD3D11, BufferViewD3D11Impl, FixedBlockMemoryAllocator >
 BufferBase (IReferenceCounters *pRefCounters, FixedBlockMemoryAllocator &BuffViewObjAllocator, IRenderDevice *pDevice, const BufferDesc &BuffDesc, bool bIsDeviceInternal)
 
virtual void CreateView (const struct BufferViewDesc &ViewDesc, IBufferView **ppView) override
 Implementation of IBuffer::CreateView(); calls CreateViewInternal() virtual function that creates buffer view for the specific engine implementation.
 
virtual IBufferViewGetDefaultView (BUFFER_VIEW_TYPE ViewType) override
 Implementation of IBuffer::GetDefaultView().
 
void CreateDefaultViews ()
 Creates default buffer views. More...
 
- Public Member Functions inherited from Diligent::DeviceObjectBase< IBufferD3D11, BufferDesc >
 DeviceObjectBase (IReferenceCounters *pRefCounters, IRenderDevice *pDevice, const BufferDesc &ObjDesc, bool bIsDeviceInternal=false)
 
virtual const BufferDescGetDesc () const override final
 
UniqueIdentifier GetUniqueID () const
 Returns unique identifier. More...
 
- Public Member Functions inherited from Diligent::IDeviceObject
virtual void QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0
 Queries the specific interface, see IObject::QueryInterface() for details.
 

Additional Inherited Members

- Protected Member Functions inherited from Diligent::BufferBase< IBufferD3D11, BufferViewD3D11Impl, FixedBlockMemoryAllocator >
void CorrectBufferViewDesc (struct BufferViewDesc &ViewDesc)
 Corrects buffer view description and validates view parameters.
 
- Protected Attributes inherited from Diligent::BufferBase< IBufferD3D11, BufferViewD3D11Impl, FixedBlockMemoryAllocator >
std::unique_ptr< BufferViewD3D11Impl, STDDeleter< BufferViewD3D11Impl, FixedBlockMemoryAllocator > > m_pDefaultUAV
 Default UAV addressing the entire buffer.
 
std::unique_ptr< BufferViewD3D11Impl, STDDeleter< BufferViewD3D11Impl, FixedBlockMemoryAllocator > > m_pDefaultSRV
 Default SRV addressing the entire buffer.
 
- Protected Attributes inherited from Diligent::DeviceObjectBase< IBufferD3D11, BufferDesc >
const String m_ObjectNameCopy
 Copy of a device object name. More...
 
BufferDesc m_Desc
 Object description.
 

Detailed Description

Implementation of the Diligent::IBufferD3D11 interface.

Member Function Documentation

◆ GetD3D11Buffer()

virtual ID3D11Buffer* Diligent::BufferD3D11Impl::GetD3D11Buffer ( )
inlinefinaloverridevirtual

Returns a pointer to the ID3D11Buffer interface of the internal Direct3D11 object.

The method does NOT call AddRef() on the returned interface, so Release() must not be called.

Implements Diligent::IBufferD3D11.

◆ GetNativeHandle()

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

Returns native buffer handle specific to the underlying graphics API.

Returns
pointer to ID3D11Resource interface, for D3D11 implementation
pointer to ID3D12Resource interface, for D3D12 implementation
GL buffer handle, for GL implementation

Implements Diligent::IBuffer.