Go to the documentation of this file.
53 bool bIsDeviceInternal =
false);
60 GLuint GLTextureHandle,
62 bool bIsDeviceInternal);
70 bool bIsDeviceInternal);
123 bool bIsDefaultView)
override;
136 #if GL_ARB_shader_image_load_store
137 # ifdef DILIGENT_DEBUG
140 VERIFY((RequiredBarriers & TextureBarriers) != 0,
"At least one texture memory barrier flag should be set");
141 VERIFY((RequiredBarriers & ~TextureBarriers) == 0,
"Inappropriate texture memory barrier flag");
virtual void CreateViewInternal(const struct TextureViewDesc &ViewDesc, ITextureView **ppView, bool bIsDefaultView) override
Definition: TextureBaseGL.cpp:352
Base interface for a reference counter object that stores the number of strong and weak references an...
Definition: ReferenceCounters.h:44
virtual void QueryInterface(const INTERFACE_ID &IID, IObject **ppInterface) override
TextureBaseGL(IReferenceCounters *pRefCounters, FixedBlockMemoryAllocator &TexViewObjAllocator, RenderDeviceGLImpl *pDeviceGL, const TextureDesc &TexDesc, GLenum BindTarget, const TextureData *pInitData=nullptr, bool bIsDeviceInternal=false)
Definition: TextureBaseGL.cpp:44
virtual void AttachToFramebuffer(const struct TextureViewDesc &ViewDesc, GLenum AttachmentPoint)=0
Texture view implementation in OpenGL backend.
Definition: TextureViewGLImpl.hpp:38
Base interface for all dynamic objects in the engine.
Definition: Object.h:41
Device context implementation in OpenGL backend.
Definition: DeviceContextGLImpl.hpp:51
IBuffer * GetPBO()
Definition: TextureBaseGL.hpp:115
virtual void * GetNativeHandle() override final
Implementation of ITexture::GetNativeHandle() in OpenGL backend.
Definition: TextureBaseGL.hpp:102
Texture view interface.
Definition: TextureView.h:202
Definition: AsyncWritableResource.hpp:76
virtual GLenum GetBindTarget() const override final
Implementation of ITextureGL::GetBindTarget().
Definition: TextureBaseGL.hpp:79
Box.
Definition: GraphicsTypes.h:2407
static constexpr Uint32 PBOOffsetAlignment
Definition: TextureBaseGL.hpp:113
const GLObjectWrappers::GLTextureObj & GetGLHandle() const
Definition: TextureBaseGL.hpp:76
Unique interface identifier.
Definition: InterfaceID.h:37
Buffer interface.
Definition: Buffer.h:187
Texture description.
Definition: Texture.h:47
const GLenum m_GLTexFormat
Definition: TextureBaseGL.hpp:130
Template class that implements reference counting.
Definition: RefCntAutoPtr.hpp:73
#define DILIGENT_CALL_TYPE
Definition: CommonDefinitions.h:45
Describes the initial data to store in the texture.
Definition: Texture.h:221
void EnsureMemoryBarrier(MEMORY_BARRIER RequiredBarriers, class AsyncWritableResource *pRes=nullptr)
Definition: GLContextState.cpp:383
Base implementation of a texture object in OpenGL backend.
Definition: TextureBaseGL.hpp:41
uint32_t Uint32
32-bit unsigned integer
Definition: BasicTypes.h:51
Base implementation of the ITexture interface.
Definition: TextureBase.hpp:71
MEMORY_BARRIER
Definition: AsyncWritableResource.hpp:33
virtual GLuint GetGLTextureHandle() override final
Implementation of ITextureGL::GetGLTextureHandle().
Definition: TextureBaseGL.hpp:99
Render device implementation in OpenGL backend.
Definition: RenderDeviceGLImpl.hpp:45
__forceinline void TextureMemoryBarrier(MEMORY_BARRIER RequiredBarriers, class GLContextState &GLContextState)
Definition: TextureBaseGL.hpp:134
void CopyData(DeviceContextGLImpl *pDeviceCtxGL, TextureBaseGL *pSrcTextureGL, Uint32 SrcMipLevel, Uint32 SrcSlice, const Box *pSrcBox, Uint32 DstMipLevel, Uint32 DstSlice, Uint32 DstX, Uint32 DstY, Uint32 DstZ)
Definition: TextureBaseGL.cpp:520
GLenum GetGLTexFormat() const
Definition: TextureBaseGL.hpp:81
@ MEMORY_BARRIER_ALL_TEXTURE_BARRIERS
Definition: AsyncWritableResource.hpp:67
virtual void UpdateData(class GLContextState &CtxState, Uint32 MipLevel, Uint32 Slice, const Box &DstBox, const TextureSubResData &SubresData)=0
Definition: TextureBaseGL.cpp:499
Definition: GLObjectWrapper.hpp:36
Definition: GLContextState.hpp:39
const GLenum m_BindTarget
Definition: TextureBaseGL.hpp:129
#define VERIFY(...)
Definition: DebugUtilities.hpp:76
Memory allocator that allocates memory in a fixed-size chunks.
Definition: FixedBlockMemoryAllocator.hpp:56
Texture view description.
Definition: TextureView.h:80
RefCntAutoPtr< IBuffer > m_pPBO
Definition: TextureBaseGL.hpp:128
~TextureBaseGL()
Definition: TextureBaseGL.cpp:339
void SetDefaultGLParameters()
Definition: TextureBaseGL.cpp:650
The library uses Direct3D-style math:
Definition: AdvancedMath.hpp:37
GLObjectWrappers::GLTextureObj m_GlTexture
Definition: TextureBaseGL.hpp:127
Describes data for one subresource.
Definition: Texture.h:165