Diligent Engine
 
Loading...
Searching...
No Matches
Diligent::IBufferD3D12 Struct Referenceabstract

Exposes Direct3D12-specific functionality of a buffer object. More...

#include <BufferD3D12.h>

Inheritance diagram for Diligent::IBufferD3D12:
Diligent::IBuffer Diligent::IDeviceObject Diligent.IObject

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.
 
- Public Member Functions inherited from Diligent::IBuffer
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.
 
- Public Member Functions inherited from Diligent::IDeviceObject
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.
 
- Public Member Functions inherited from Diligent.IObject
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
 

Detailed Description

Exposes Direct3D12-specific functionality of a buffer object.

Member Function Documentation

◆ GetD3D12Buffer()

virtual ID3D12Resource *DILIGENT_CALL_TYPE Diligent::IBufferD3D12::GetD3D12Buffer ( Uint64 & DataStartByteOffset,
IDeviceContext * pContext )
pure virtual

Returns a pointer to the ID3D12Resource interface of the internal Direct3D12 object.

Parameters
[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.

◆ GetD3D12ResourceState()

virtual D3D12_RESOURCE_STATES DILIGENT_CALL_TYPE Diligent::IBufferD3D12::GetD3D12ResourceState ( ) const
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).

◆ SetD3D12ResourceState()

virtual void DILIGENT_CALL_TYPE Diligent::IBufferD3D12::SetD3D12ResourceState ( D3D12_RESOURCE_STATES state)
pure virtual

Sets the buffer usage state.

Parameters
[in]state- D3D12 resource state to be set for this buffer