29 #include "DeviceObject.h" 35 static constexpr INTERFACE_ID IID_Buffer =
36 { 0xec47ead3, 0xa2c4, 0x44f2, { 0x81, 0xc5, 0x52, 0x48, 0xd1, 0x4f, 0x10, 0xe4 } };
204 virtual void QueryInterface(
const Diligent::INTERFACE_ID &IID, IObject **ppInterface ) = 0;
bool operator==(const BufferDesc &RHS) const
Tests if two structures are equivalent.
Definition: Buffer.h:163
Buffer view description.
Definition: BufferView.h:39
Helper value storing the total number of modes in the enumeration.
Definition: Buffer.h:53
BufferData()
Initializes the structure members with default values.
Definition: Buffer.h:191
Describes the buffer initial data.
Definition: Buffer.h:176
Base interface for all objects created by the render device Diligent::IRenderDevice.
Definition: DeviceObject.h:40
virtual void CreateView(const struct BufferViewDesc &ViewDesc, class IBufferView **ppView)=0
Creates a new buffer view.
virtual void UpdateData(class IDeviceContext *pContext, Uint32 Offset, Uint32 Size, const PVoid pData)=0
Updates the data in the buffer.
Undefined type.
Definition: GraphicsTypes.h:41
BUFFER_MODE Mode
Buffer mode.
Definition: Buffer.h:78
Namespace for the OpenGL implementation of the graphics engine.
Definition: BufferD3D11Impl.h:34
Uint32 ElementByteStride
Buffer element stride, in bytes. For a structured buffer (BufferDesc::Mode equals Diligent::BUFFER_MO...
Definition: Buffer.h:131
USAGE Usage
Buffer usage, see Diligent::USAGE for details.
Definition: Buffer.h:71
Undefined mode.
Definition: Buffer.h:44
Structured buffer.
Definition: Buffer.h:50
virtual void Unmap(IDeviceContext *pContext, MAP_TYPE MapType, Uint32 MapFlags)=0
Unmaps the previously mapped buffer.
BufferDesc()
Initializes the structure members with default values.
Definition: Buffer.h:145
Buffer interface.
Definition: Buffer.h:200
Formated buffer.
Definition: Buffer.h:47
Device context interface.
Definition: DeviceContext.h:443
BUFFER_MODE
Describes the buffer access mode.
Definition: Buffer.h:41
Uint32 uiSizeInBytes
Size of the buffer, in bytes. For a uniform buffer, this must be multiple of 16.
Definition: Buffer.h:60
virtual void * GetNativeHandle()=0
Returns native buffer handle specific to the underlying graphics API.
A resource that requires read and write access by the GPU and can also be occasionally written by the...
Definition: GraphicsTypes.h:95
Buffer description.
Definition: Buffer.h:57
VALUE_TYPE
Value type.
Definition: GraphicsTypes.h:39
virtual void CopyData(IDeviceContext *pContext, IBuffer *pSrcBuffer, Uint32 SrcOffset, Uint32 DstOffset, Uint32 Size)=0
Copies the data from other buffer.
virtual void Map(IDeviceContext *pContext, MAP_TYPE MapType, Uint32 MapFlags, PVoid &pMappedData)=0
Maps the buffer.
USAGE
Resource usage.
Definition: GraphicsTypes.h:84
virtual IBufferView * GetDefaultView(BUFFER_VIEW_TYPE ViewType)=0
Returns the pointer to the default view.
Describes common device object attributes.
Definition: GraphicsTypes.h:900
virtual void QueryInterface(const Diligent::INTERFACE_ID &IID, IObject **ppInterface)=0
Queries the specific interface, see IObject::QueryInterface() for details.
Uint32 DataSize
Data size, in bytes.
Definition: Buffer.h:182
BufferFormat Format
Buffer format.
Definition: Buffer.h:124
Uint32 BindFlags
Buffer bind flags, see Diligent::BIND_FLAGS for details.
Definition: Buffer.h:68
Buffer view interface.
Definition: BufferView.h:91
const void * pData
Pointer to the data.
Definition: Buffer.h:179
MAP_TYPE
Resource mapping type.
Definition: GraphicsTypes.h:125
Uint32 CPUAccessFlags
CPU access flags or 0 if no CPU access is allowed, see Diligent::CPU_ACCESS_FLAG for details...
Definition: Buffer.h:75
BUFFER_VIEW_TYPE
Buffer view type.
Definition: GraphicsTypes.h:219
virtual const BufferDesc & GetDesc() const =0
Returns the buffer description used to create the object.