Diligent Engine API Reference
|
Implementation of the Diligent::IBufferD3D12 interface. More...
Public Member Functions | |
virtual void | QueryInterface (const Diligent::INTERFACE_ID &IID, IObject **ppInterface) override |
Queries the specific interface, see IObject::QueryInterface() for details. | |
virtual void | UpdateData (IDeviceContext *pContext, Uint32 Offset, Uint32 Size, const PVoid pData) override |
Base implementation of IBuffer::UpdateData(); validates input parameters. | |
virtual void | CopyData (IDeviceContext *pContext, IBuffer *pSrcBuffer, Uint32 SrcOffset, Uint32 DstOffset, Uint32 Size) override |
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 |
Base implementation of IBuffer::Unmap() | |
virtual ID3D12Resource * | GetD3D12Buffer (size_t &DataStartByteOffset, Uint32 ContextId) override final |
Returns a pointer to the ID3D12Resource interface of the internal Direct3D12 object. More... | |
Public Member Functions inherited from Diligent::BufferBase< IBufferD3D12, BufferViewD3D12Impl, FixedBlockMemoryAllocator, FixedBlockMemoryAllocator > | |
BufferBase (FixedBlockMemoryAllocator &BuffObjAllocator, FixedBlockMemoryAllocator &BuffViewObjAllocator, IRenderDevice *pDevice, const BufferDesc &BuffDesc, bool bIsDeviceInternal=false) | |
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... | |
Public Member Functions inherited from Diligent::DeviceObjectBase< IBufferD3D12, BufferDesc, FixedBlockMemoryAllocator > | |
DeviceObjectBase (FixedBlockMemoryAllocator &ObjAllocator, class IRenderDevice *pDevice, const BufferDesc &ObjDesc, IObject *pOwner=nullptr, bool bIsDeviceInternal=false) | |
virtual const BufferDesc & | GetDesc () const override final |
UniqueIdentifier | GetUniqueID () const |
Returns unique identifier. More... | |
Public Member Functions inherited from Diligent::RefCountedObject< IBufferD3D12, FixedBlockMemoryAllocator > | |
virtual IReferenceCounters * | GetReferenceCounters () const override final |
virtual Atomics::Long | AddRef () override |
virtual Atomics::Long | Release () override |
Implementation of the Diligent::IBufferD3D12 interface.
|
inlinefinaloverridevirtual |
Returns a pointer to the ID3D12Resource interface of the internal Direct3D12 object.
The method does NOT call AddRef() on the returned interface, so Release() must not be called.
[in] | DataStartByteOffset | - Offset from the beginning of the buffer to the start of the data. This parameter is required for dynamic buffers, which are suballocated in a dynamic upload heap |
[in] | ContextId | - Id of the context within which address of the buffer is requested. |
Implements Diligent::IBufferD3D12.