Go to the documentation of this file.
52 bool bIsDeviceInternal);
60 bool bIsDeviceInternal);
94 const GLenum m_GLUsageHint;
99 #if GL_ARB_shader_image_load_store
100 # ifdef DILIGENT_DEBUG
103 VERIFY((RequiredBarriers & BufferBarriers) != 0,
"At least one buffer memory barrier flag should be set");
104 VERIFY((RequiredBarriers & ~BufferBarriers) == 0,
"Inappropriate buffer memory barrier flag");
Buffer view description.
Definition: BufferView.h:88
Base interface for a reference counter object that stores the number of strong and weak references an...
Definition: ReferenceCounters.h:44
void * PVoid
Definition: BasicTypes.h:56
@ MEMORY_BARRIER_ALL_BUFFER_BARRIERS
Definition: AsyncWritableResource.hpp:50
virtual void CreateViewInternal(const struct BufferViewDesc &ViewDesc, IBufferView **ppView, bool bIsDefaultView) override
Definition: BufferGLImpl.cpp:350
Base interface for all dynamic objects in the engine.
Definition: Object.h:41
Device context implementation in OpenGL backend.
Definition: DeviceContextGLImpl.hpp:51
const GLObjectWrappers::GLBufferObj & GetGLHandle()
Definition: BufferGLImpl.hpp:75
Uint32 Length
Definition: DXBCUtils.cpp:59
virtual void QueryInterface(const INTERFACE_ID &IID, IObject **ppInterface) override
Queries the specific interface, see IObject::QueryInterface() for details.
Definition: AsyncWritableResource.hpp:76
void Map(GLContextState &CtxState, MAP_TYPE MapType, Uint32 MapFlags, PVoid &pMappedData)
Definition: BufferGLImpl.cpp:267
Template class implementing base functionality of the buffer object.
Definition: BufferBase.hpp:59
Unique interface identifier.
Definition: InterfaceID.h:37
void CopyData(GLContextState &CtxState, BufferGLImpl &SrcBufferGL, Uint32 SrcOffset, Uint32 DstOffset, Uint32 Size)
Definition: BufferGLImpl.cpp:241
Definition: VAOCache.hpp:47
BufferGLImpl(IReferenceCounters *pRefCounters, FixedBlockMemoryAllocator &BuffViewObjMemAllocator, RenderDeviceGLImpl *pDeviceGL, const BufferDesc &BuffDesc, GLContextState &CtxState, const BufferData *pBuffData, bool bIsDeviceInternal)
Definition: BufferGLImpl.cpp:72
virtual void * GetNativeHandle() override final
Implementation of IBuffer::GetNativeHandle() in OpenGL backend.
Definition: BufferGLImpl.hpp:81
#define DILIGENT_CALL_TYPE
Definition: CommonDefinitions.h:45
void EnsureMemoryBarrier(MEMORY_BARRIER RequiredBarriers, class AsyncWritableResource *pRes=nullptr)
Definition: GLContextState.cpp:383
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
MEMORY_BARRIER
Definition: AsyncWritableResource.hpp:33
Render device implementation in OpenGL backend.
Definition: RenderDeviceGLImpl.hpp:45
Buffer object implementation in OpenGL backend.
Definition: BufferGLImpl.hpp:41
void Unmap(GLContextState &CtxState)
Definition: BufferGLImpl.cpp:333
Buffer description.
Definition: Buffer.h:74
virtual GLuint GetGLBufferHandle() override final
Implementation of IBufferGL::GetGLBufferHandle().
Definition: BufferGLImpl.hpp:78
Definition: GLObjectWrapper.hpp:36
__forceinline void BufferMemoryBarrier(MEMORY_BARRIER RequiredBarriers, GLContextState &GLContextState)
Definition: BufferGLImpl.hpp:97
Definition: GLContextState.hpp:39
#define VERIFY(...)
Definition: DebugUtilities.hpp:76
Memory allocator that allocates memory in a fixed-size chunks.
Definition: FixedBlockMemoryAllocator.hpp:56
void MapRange(GLContextState &CtxState, MAP_TYPE MapType, Uint32 MapFlags, Uint32 Offset, Uint32 Length, PVoid &pMappedData)
Definition: BufferGLImpl.cpp:272
void UpdateData(GLContextState &CtxState, Uint32 Offset, Uint32 Size, const void *pData)
Definition: BufferGLImpl.cpp:221
Buffer view interface.
Definition: BufferView.h:155
MAP_TYPE
Resource mapping type.
Definition: GraphicsTypes.h:206
Describes the buffer initial data.
Definition: Buffer.h:155
~BufferGLImpl()
Definition: BufferGLImpl.cpp:214
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37