Template class implementing base functionality for a buffer object.
More...
|
| BufferBase (TBuffObjAllocator &BuffObjAllocator, TBuffViewObjAllocator &BuffViewObjAllocator, IRenderDevice *pDevice, const BufferDesc &BuffDesc, bool bIsDeviceInternal=false) |
|
virtual void | UpdateData (IDeviceContext *pContext, Uint32 Offset, Uint32 Size, const PVoid pData) override=0 |
| Base implementation of IBuffer::UpdateData(); validates input parameters.
|
|
virtual void | CopyData (IDeviceContext *pContext, IBuffer *pSrcBuffer, Uint32 SrcOffset, Uint32 DstOffset, Uint32 Size) override=0 |
| Base implementation of IBuffer::CopyData(); validates input parameters.
|
|
virtual void | Map (IDeviceContext *pContext, MAP_TYPE MapType, Uint32 MapFlags, PVoid &pMappedData) override |
| Base implementation of IBuffer::Map(); validates input parameters.
|
|
virtual void | Unmap (IDeviceContext *pContext, MAP_TYPE MapType) override=0 |
| Base implementation of IBuffer::Unmap()
|
|
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 IBufferView * | GetDefaultView (BUFFER_VIEW_TYPE ViewType) override |
| Implementation of IBuffer::GetDefaultView().
|
|
void | CreateDefaultViews () |
| Creates default buffer views. More...
|
|
| DeviceObjectBase (TBuffObjAllocator &ObjAllocator, class IRenderDevice *pDevice, const BufferDesc &ObjDesc, IObject *pOwner=nullptr, bool bIsDeviceInternal=false) |
|
UniqueIdentifier | GetUniqueID () const |
| Returns unique identifier. More...
|
|
|
std::unique_ptr< BufferViewImplType, STDDeleter< BufferViewImplType, TBuffViewObjAllocator > > | m_pDefaultUAV |
| Default UAV addressing the entire buffer.
|
|
std::unique_ptr< BufferViewImplType, STDDeleter< BufferViewImplType, TBuffViewObjAllocator > > | m_pDefaultSRV |
| Default SRV addressing the entire buffer.
|
|
const String | m_ObjectNameCopy |
| Copy of a device object name. More...
|
|
BufferDesc | m_Desc |
| Object description.
|
|
template<class BaseInterface, class BufferViewImplType, class TBuffObjAllocator, class TBuffViewObjAllocator>
class Diligent::BufferBase< BaseInterface, BufferViewImplType, TBuffObjAllocator, TBuffViewObjAllocator >
Template class implementing base functionality for a buffer object.
- Template Parameters
-
template<class BaseInterface, class BufferViewImplType, class TBuffObjAllocator, class TBuffViewObjAllocator>
Diligent::BufferBase< BaseInterface, BufferViewImplType, TBuffObjAllocator, TBuffViewObjAllocator >::BufferBase |
( |
TBuffObjAllocator & |
BuffObjAllocator, |
|
|
TBuffViewObjAllocator & |
BuffViewObjAllocator, |
|
|
IRenderDevice * |
pDevice, |
|
|
const BufferDesc & |
BuffDesc, |
|
|
bool |
bIsDeviceInternal = false |
|
) |
| |
|
inline |
- Parameters
-
BuffObjAllocator | - allocator that was used to allocate memory for this instance of the buffer object. |
BuffViewObjAllocator | - allocator that is used to allocate memory for the buffer view instances. This parameter is only used for debug purposes. |
pDevice | - pointer to the device. |
BuffDesc | - buffer description. |
bIsDeviceInternal | - flag indicating if the buffer is an internal device object and must not keep a strong reference to the device. |
template<class BaseInterface , class BufferViewImplType , class TBuffObjAllocator , class TBuffViewObjAllocator >
void Diligent::BufferBase< BaseInterface, BufferViewImplType, TBuffObjAllocator, TBuffViewObjAllocator >::CreateDefaultViews |
( |
| ) |
|