Go to the documentation of this file.
43 {0xec47ead3, 0xa2c4, 0x44f2, {0x81, 0xc5, 0x52, 0x48, 0xd1, 0x4f, 0x10, 0xe4}};
109 #if DILIGENT_CPP_INTERFACE
122 uiSizeInBytes {_uiSizeInBytes },
123 BindFlags {_BindFlags },
125 CPUAccessFlags {_CPUAccessFlags },
127 ElementByteStride {_ElementByteStride},
128 CommandQueueMask {_CommandQueueMask }
144 Usage == RHS.
Usage &&
164 #if DILIGENT_CPP_INTERFACE
177 #define DILIGENT_INTERFACE_NAME IBuffer
178 #include "../../../Primitives/interface/DefineInterfaceHelperMacros.h"
180 #define IBufferInclusiveMethods \
181 IDeviceObjectInclusiveMethods; \
182 IBufferMethods Buffer
189 #if DILIGENT_CPP_INTERFACE
244 #include "../../../Primitives/interface/UndefInterfaceHelperMacros.h"
246 #if DILIGENT_C_INTERFACE
250 # define IBuffer_GetDesc(This) (const struct BufferDesc*)IDeviceObject_GetDesc(This)
252 # define IBuffer_CreateView(This, ...) CALL_IFACE_METHOD(Buffer, CreateView, This, __VA_ARGS__)
253 # define IBuffer_GetDefaultView(This, ...) CALL_IFACE_METHOD(Buffer, GetDefaultView, This, __VA_ARGS__)
254 # define IBuffer_GetNativeHandle(This) CALL_IFACE_METHOD(Buffer, GetNativeHandle, This)
255 # define IBuffer_SetState(This, ...) CALL_IFACE_METHOD(Buffer, SetState, This, __VA_ARGS__)
256 # define IBuffer_GetState(This) CALL_IFACE_METHOD(Buffer, GetState, This)
Buffer view description.
Definition: BufferView.h:88
#define DILIGENT_END_INTERFACE
Definition: DefineInterfaceHelperMacros.h:88
struct INTERFACE_ID INTERFACE_ID
Definition: InterfaceID.h:54
CPU_ACCESS_FLAGS
Allowed CPU access mode flags when mapping a resource.
Definition: GraphicsTypes.h:191
#define VIRTUAL
Definition: DefineInterfaceHelperMacros.h:83
Uint32 uiSizeInBytes
Size of the buffer, in bytes. For a uniform buffer, this must be multiple of 16.
Definition: Buffer.h:77
USAGE
Resource usage.
Definition: GraphicsTypes.h:143
#define DILIGENT_BEGIN_INTERFACE(Name, Base)
Definition: CommonDefinitions.h:97
uint64_t Uint64
64-bit unsigned integer
Definition: BasicTypes.h:50
BIND_FLAGS BindFlags
Buffer bind flags, see Diligent::BIND_FLAGS for details.
Definition: Buffer.h:85
BUFFER_MODE Mode
Buffer mode, see Diligent::BUFFER_MODE.
Definition: Buffer.h:95
bool operator==(const Plane3D &p1, const Plane3D &p2)
Definition: AdvancedMath.hpp:442
Base interface for all objects created by the render device Diligent::IRenderDevice.
Definition: DeviceObject.h:52
#define THIS
Definition: DefineInterfaceHelperMacros.h:81
Buffer interface.
Definition: Buffer.h:187
CPU_ACCESS_FLAGS CPUAccessFlags
CPU access flags or 0 if no CPU access is allowed, see Diligent::CPU_ACCESS_FLAGS for details.
Definition: Buffer.h:92
BufferData(const void *_pData, Uint32 _DataSize)
Definition: Buffer.h:168
#define PURE
Definition: DefineInterfaceHelperMacros.h:85
Describes common device object attributes.
Definition: GraphicsTypes.h:1196
BIND_FLAGS
Resource binding flags.
Definition: GraphicsTypes.h:115
Uint32 ElementByteStride
Buffer element stride, in bytes.
Definition: Buffer.h:104
#define DILIGENT_END_NAMESPACE
Definition: CommonDefinitions.h:86
#define CONST
Definition: DefineInterfaceHelperMacros.h:84
struct BufferDesc BufferDesc
Definition: Buffer.h:152
BufferData() noexcept
Definition: Buffer.h:166
BufferDesc() noexcept
Definition: Buffer.h:113
#define DILIGENT_DERIVE(TypeName)
Definition: CommonDefinitions.h:90
@ BUFFER_MODE_FORMATTED
Formated buffer. Access to the buffer will use format conversion operations. In this mode,...
Definition: Buffer.h:56
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
#define DEFAULT_INITIALIZER(x)
Definition: CommonDefinitions.h:93
@ BUFFER_MODE_NUM_MODES
Helper value storing the total number of modes in the enumeration.
Definition: Buffer.h:70
@ BUFFER_MODE_UNDEFINED
Undefined mode.
Definition: Buffer.h:51
BUFFER_MODE
Describes the buffer access mode.
Definition: Buffer.h:48
Buffer description.
Definition: Buffer.h:74
#define REF
Definition: DefineGlobalFuncHelperMacros.h:39
#define METHOD(Name)
Definition: DefineInterfaceHelperMacros.h:87
#define DILIGENT_TYPED_ENUM(EnumName, EnumType)
Definition: CommonDefinitions.h:88
BufferDesc(Uint32 _uiSizeInBytes, BIND_FLAGS _BindFlags, USAGE _Usage=BufferDesc{}.Usage, CPU_ACCESS_FLAGS _CPUAccessFlags=BufferDesc{}.CPUAccessFlags, BUFFER_MODE _Mode=BufferDesc{}.Mode, Uint32 _ElementByteStride=BufferDesc{}.ElementByteStride, Uint64 _CommandQueueMask=BufferDesc{}.CommandQueueMask) noexcept
Definition: Buffer.h:115
@ BIND_NONE
Undefined binding.
Definition: GraphicsTypes.h:117
Uint64 CommandQueueMask
Defines which command queues this buffer can be used with.
Definition: Buffer.h:107
uint8_t Uint8
8-bit unsigned integer
Definition: BasicTypes.h:53
#define DILIGENT_BEGIN_NAMESPACE(Name)
Definition: CommonDefinitions.h:82
@ BUFFER_MODE_STRUCTURED
Structured buffer. In this mode, ElementByteStride member of BufferDesc defines the structure stride.
Definition: Buffer.h:60
USAGE Usage
Buffer usage, see Diligent::USAGE for details.
Definition: Buffer.h:88
@ BUFFER_MODE_RAW
Raw buffer. In this mode, the buffer is accessed as raw bytes. Formatted views of a raw buffer can al...
Definition: Buffer.h:67
RESOURCE_STATE
Resource usage state.
Definition: GraphicsTypes.h:2814
Buffer view interface.
Definition: BufferView.h:155
BUFFER_VIEW_TYPE
Buffer view type.
Definition: GraphicsTypes.h:303
Describes the buffer initial data.
Definition: Buffer.h:155
@ CPU_ACCESS_NONE
No CPU access.
Definition: GraphicsTypes.h:193
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
#define THIS_
Definition: DefineInterfaceHelperMacros.h:82
@ USAGE_DEFAULT
A resource that requires read and write access by the GPU and can also be occasionally written by the...
Definition: GraphicsTypes.h:156