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

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

#include <BufferVk.h>

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

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.
 
- 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 Vulkan-specific functionality of a buffer object.

Member Function Documentation

◆ GetAccessFlags()

virtual VkAccessFlags DILIGENT_CALL_TYPE Diligent::IBufferVk::GetAccessFlags ( ) const
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.

◆ SetAccessFlags()

virtual void DILIGENT_CALL_TYPE Diligent::IBufferVk::SetAccessFlags ( VkAccessFlags AccessFlags)
pure virtual

Sets the Vulkan access flags.

Parameters
[in]AccessFlags- Vulkan access flags to be set for this buffer