Exposes Direct3D12-specific functionality of a buffer object. More...
#include <BufferD3D12.h>
Public Member Functions | |
virtual ID3D12Resource *DILIGENT_CALL_TYPE | GetD3D12Buffer (Uint64 &DataStartByteOffset, IDeviceContext *pContext)=0 |
Returns a pointer to the ID3D12Resource interface of the internal Direct3D12 object. | |
virtual void DILIGENT_CALL_TYPE | SetD3D12ResourceState (D3D12_RESOURCE_STATES state)=0 |
Sets the buffer usage state. | |
virtual D3D12_RESOURCE_STATES DILIGENT_CALL_TYPE | GetD3D12ResourceState () const =0 |
Returns current D3D12 buffer state. | |
![]() | |
virtual const BufferDesc &DILIGENT_CALL_TYPE | GetDesc () const override=0 |
Returns the buffer description used to create the object. | |
virtual void DILIGENT_CALL_TYPE | CreateView (const BufferViewDesc &ViewDesc, IBufferView **ppView)=0 |
Creates a new buffer view. | |
virtual IBufferView *DILIGENT_CALL_TYPE | GetDefaultView (BUFFER_VIEW_TYPE ViewType)=0 |
Returns the pointer to the default view. | |
virtual Uint64 DILIGENT_CALL_TYPE | GetNativeHandle ()=0 |
Returns native buffer handle specific to the underlying graphics API. | |
virtual void DILIGENT_CALL_TYPE | SetState (RESOURCE_STATE State)=0 |
Sets the buffer usage state. | |
virtual RESOURCE_STATE DILIGENT_CALL_TYPE | GetState () const =0 |
Returns the internal buffer state. | |
virtual MEMORY_PROPERTIES DILIGENT_CALL_TYPE | GetMemoryProperties () const =0 |
Returns the buffer memory properties, see Diligent::MEMORY_PROPERTIES. | |
virtual void DILIGENT_CALL_TYPE | FlushMappedRange (Uint64 StartOffset, Uint64 Size)=0 |
virtual void DILIGENT_CALL_TYPE | InvalidateMappedRange (Uint64 StartOffset, Uint64 Size)=0 |
virtual SparseBufferProperties DILIGENT_CALL_TYPE | GetSparseProperties () const =0 |
Returns the sparse buffer memory properties. | |
![]() | |
virtual Int32 DILIGENT_CALL_TYPE | GetUniqueID () const =0 |
Returns unique identifier assigned to an object. | |
virtual void DILIGENT_CALL_TYPE | SetUserData (IObject *pUserData)=0 |
Stores a pointer to the user-provided data object. | |
virtual IObject *DILIGENT_CALL_TYPE | GetUserData () const =0 |
Returns a pointer to the user data object previously set with SetUserData() method. | |
![]() | |
virtual void DILIGENT_CALL_TYPE | QueryInterface (const INTERFACE_ID &IID, IObject **ppInterface)=0 |
Queries the specific interface. | |
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE | AddRef ()=0 |
Increments the number of strong references by 1. | |
virtual ReferenceCounterValueType DILIGENT_CALL_TYPE | Release ()=0 |
virtual IReferenceCounters *DILIGENT_CALL_TYPE | GetReferenceCounters () const =0 |
Exposes Direct3D12-specific functionality of a buffer object.
|
pure virtual |
Returns a pointer to the ID3D12Resource
interface of the internal Direct3D12 object.
[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] | pContext | - Device context within which address of the buffer is requested. |
The method does NOT increment the reference counter of the returned object, so Release() must not be called.
|
pure virtual |
Returns current D3D12 buffer state.
If the state is unknown to the engine (Diligent::RESOURCE_STATE_UNKNOWN), returns D3D12_RESOURCE_STATE_COMMON
(0).
|
pure virtual |
Sets the buffer usage state.
[in] | state | - D3D12 resource state to be set for this buffer |