Exposes Vulkan-specific functionality of a buffer object. More...
#include <BufferVk.h>
Public Member Functions | |
virtual VkBuffer DILIGENT_CALL_TYPE | GetVkBuffer () const =0 |
Returns a Vulkan handle of the internal buffer object. | |
virtual void DILIGENT_CALL_TYPE | SetAccessFlags (VkAccessFlags AccessFlags)=0 |
Sets the Vulkan access flags. | |
virtual VkAccessFlags DILIGENT_CALL_TYPE | GetAccessFlags () const =0 |
Returns Vulkan access flags corresponding to the buffer state. | |
virtual VkDeviceAddress DILIGENT_CALL_TYPE | GetVkDeviceAddress () const =0 |
Returns a Vulkan device address of the internal buffer object. | |
![]() | |
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 Vulkan-specific functionality of a buffer object.
|
pure virtual |
Returns Vulkan access flags corresponding to the buffer state.
If the buffer state is known to the engine (i.e. not Diligent::RESOURCE_STATE_UNKNOWN), returns Vulkan access flags corresponding to the state. If the state is unknown, returns 0.
|
pure virtual |
Sets the Vulkan access flags.
[in] | AccessFlags | - Vulkan access flags to be set for this buffer |