Dali 3D User Interface Engine
List of all members | Public Types | Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
Dali::Internal::Context Class Reference

Context records the current GL state, and provides access to the OpenGL ES 2.0 API. More...

#include <context.h>

Collaboration diagram for Dali::Internal::Context:
Collaboration graph
[legend]

Public Types

enum  ClearMode { FORCE_CLEAR, CHECK_CACHED_VALUES }
 FrameBuffer Clear mode. More...
 

Public Member Functions

 Context (Integration::GlAbstraction &glAbstraction)
 Creates the Dali Context object. More...
 
 ~Context ()
 Destructor. More...
 
void GlContextCreated ()
 Called when the GL context has been created. More...
 
void GlContextDestroyed ()
 Called when the GL context has been destroyed. More...
 
bool IsGlContextCreated ()
 Query whether the OpenGL context has been created. More...
 
Integration::GlAbstractionGetAbstraction ()
 
const char * ErrorToString (GLenum errorCode)
 Helper to convert GL error code to string. More...
 
void PrintGlString (const char *stringName, GLenum stringId)
 Helper to print GL string to debug log. More...
 
void ActiveTexture (TextureUnit textureUnit)
 Wrapper for OpenGL ES 2.0 glActiveTexture() More...
 
void BeginQuery (GLenum target, GLuint id)
 Wrapper for OpenGL ES 3.0 glBeginQuery() More...
 
void BeginTransformFeedback (GLenum primitiveMode)
 Wrapper for OpenGL ES 3.0 glBeginTransformFeedback() More...
 
void BindArrayBuffer (GLuint buffer)
 The wrapper for OpenGL ES 2.0 glBindBuffer() has been replaced by BindArrayBuffer & BindElementArrayBuffer & BindTransformFeedbackBuffer. More...
 
void BindElementArrayBuffer (GLuint buffer)
 Wrapper for OpenGL ES 2.0 glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ...) More...
 
void BindTransformFeedbackBuffer (GLuint buffer)
 Wrapper for OpenGL ES 3.0 glBindBuffer(GL_TRANSFORM_FEEDBACK_BUFFER, ...) More...
 
void BindTransformFeedbackBufferBase (GLuint index, GLuint buffer)
 Wrapper for OpenGL ES 3.0 glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, ...) More...
 
void BindFramebuffer (GLenum target, GLuint framebuffer)
 Wrapper for OpenGL ES 2.0 glBindFramebuffer() More...
 
void BindRenderbuffer (GLenum target, GLuint renderbuffer)
 Wrapper for OpenGL ES 2.0 glBindRenderbuffer() More...
 
void BindTransformFeedback (GLenum target, GLuint id)
 Wrapper for OpenGL ES 3.0 glBindTransformFeedback() More...
 
void BindTextureForUnit (TextureUnit textureunit, GLuint texture)
 Helper to bind texture for rendering. More...
 
void Bind2dTexture (GLuint texture)
 Wrapper for OpenGL ES 2.0 glBindTexture(GL_TEXTURE_2D) More...
 
void SetDefaultBlendColor ()
 Wrapper for OpenGL ES 2.0 glBlendColor() More...
 
void SetCustomBlendColor (const Vector4 &color)
 Wrapper for OpenGL ES 2.0 glBlendColor() More...
 
void BlendEquation (GLenum mode)
 Wrapper for OpenGL ES 2.0 glBlendEquation() More...
 
void BlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha)
 Wrapper for OpenGL ES 2.0 glBlendEquationSeparate() More...
 
void BlendFunc (GLenum sfactor, GLenum dfactor)
 Wrapper for OpenGL ES 2.0 glBlendFunc() More...
 
void BlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
 Wrapper for OpenGL ES 2.0 glBlendFuncSeparate() More...
 
void BlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
 Wrapper for OpenGL ES 3.0 glBlitFramebuffer() More...
 
void BufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage)
 Wrapper for OpenGL ES 2.0 glBufferData() More...
 
void BufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data)
 Wrapper for OpenGL ES 2.0 glBufferSubData() More...
 
GLenum CheckFramebufferStatus (GLenum target)
 Wrapper for OpenGL ES 2.0 glCheckFramebufferStatus() More...
 
void Clear (GLbitfield mask, ClearMode mode)
 Wrapper for OpenGL ES 2.0 glClear() More...
 
void ClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
 Wrapper for OpenGL ES 2.0 glClearColor() More...
 
void ClearDepthf (GLclampf depth)
 Wrapper for OpenGL ES 2.0 glClearDepthf() More...
 
void ClearStencil (GLint s)
 Wrapper for OpenGL ES 2.0 glClearStencil() More...
 
void ColorMask (bool flag)
 Wrapper for OpenGL ES 2.0 glColorMask() More...
 
void CompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data)
 Wrapper for OpenGL ES 2.0 glCompressedTexImage2D() More...
 
void CompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)
 Wrapper for OpenGL ES 3.0 glCompressedTexImage3D() More...
 
void CompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data)
 Wrapper for OpenGL ES 2.0 glCompressedTexSubImage2D() More...
 
void CompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)
 Wrapper for OpenGL ES 3.0 glCompressedTexSubImage3D() More...
 
void CopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
 Wrapper for OpenGL ES 2.0 glCopyTexImage2D() More...
 
void CopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
 Wrapper for OpenGL ES 2.0 glCopyTexSubImage2D() More...
 
void CopyTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
 Wrapper for OpenGL ES 3.0 glCopyTexSubImage3D() More...
 
void CullFace (Dali::Renderer::FaceCullingMode mode)
 Wrapper for OpenGL ES 2.0 glCullFace() enables GL_CULL_FACE if in any of the face culling modes otherwise disables GL_CULL_FACE. More...
 
void DeleteBuffers (GLsizei n, const GLuint *buffers)
 Wrapper for OpenGL ES 2.0 glDeleteBuffers() More...
 
void DeleteFramebuffers (GLsizei n, const GLuint *framebuffers)
 Wrapper for OpenGL ES 2.0 glDeleteFramebuffers() More...
 
void DeleteQueries (GLsizei n, GLuint *ids)
 Wrapper for OpenGL ES 3.0 glDeleteQueries() More...
 
void DeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers)
 Wrapper for OpenGL ES 2.0 glDeleteRenderbuffers() More...
 
void DeleteTextures (GLsizei n, const GLuint *textures)
 Wrapper for OpenGL ES 2.0 glDeleteTextures() More...
 
void DeleteTransformFeedbacks (GLsizei n, GLuint *ids)
 Wrapper for OpenGL ES 3.0 glDeleteTransformFeedbacks() More...
 
void DepthFunc (GLenum func)
 Wrapper for OpenGL ES 2.0 glDepthFunc() More...
 
void DepthMask (GLboolean flag)
 Wrapper for OpenGL ES 2.0 glDepthMask() More...
 
void DepthRangef (GLclampf zNear, GLclampf zFar)
 Wrapper for OpenGL ES 2.0 glDepthRangef() More...
 
void DrawArrays (GLenum mode, GLint first, GLsizei count)
 The wrapper for OpenGL ES 2.0 glDisable() has been replaced by SetBlend, SetCullFace, SetDepthTest, SetDither, SetPolygonOffsetFill, SetSampleAlphaToCoverage, SetSampleCoverage, SetScissorTest & SetStencilTest. More...
 
void DrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei instanceCount)
 Wrapper for OpenGL ES 3.0 glDrawArraysInstanced() More...
 
void DrawBuffers (GLsizei n, const GLenum *bufs)
 Wrapper for OpenGL ES 3.0 glDrawBuffers() More...
 
void DrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices)
 Wrapper for OpenGL ES 2.0 glDrawElements() More...
 
void DrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instanceCount)
 Wrapper for OpenGL ES 3.0 glDrawElementsInstanced() More...
 
void DrawRangeElements (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices)
 Wrapper for OpenGL ES 3.0 glDrawRangeElements() More...
 
void GenQueries (GLsizei n, GLuint *ids)
 Wrapper for OpenGL ES 3.0 glGenQuerieS() More...
 
void GenTransformFeedbacks (GLsizei n, GLuint *ids)
 Wrapper for OpenGL ES 3.0 glGenTransformFeedbacks() More...
 
GLuint GetCurrentBoundArrayBuffer (GLenum target)
 
void EnableVertexAttributeArray (GLuint location)
 
void DisableVertexAttributeArray (GLuint location)
 
void VertexAttribDivisor (GLuint index, GLuint divisor)
 Wrapper for OpenGL ES 3.0 glVertexAttribDivisor() More...
 
void VertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *ptr)
 Wrapper for OpenGL ES 2.0 glVertexAttribPointer() More...
 
void InvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments)
 Wrapper for OpenGL ES 3.0 glInvalidateFramebuffer() More...
 
void SetBlend (bool enable)
 The wrapper for OpenGL ES 2.0 glEnable() has been replaced by SetBlend, SetCullFace, SetDepthTest, SetDither, SetPolygonOffsetFill, SetSampleAlphaToCoverage, SetSampleCoverage, SetScissorTest & SetStencilTest. More...
 
void EnableDepthBuffer (bool enable)
 This method replaces glEnable(GL_DEPTH_TEST) and glDisable(GL_DEPTH_TEST). More...
 
void SetDither (bool enable)
 This method replaces glEnable(GL_DITHER) and glDisable(GL_DITHER). More...
 
void SetPolygonOffsetFill (bool enable)
 This method replaces glEnable(GL_POLYGON_OFFSET_FILL) and glDisable(GL_POLYGON_OFFSET_FILL). More...
 
void SetSampleAlphaToCoverage (bool enable)
 This method replaces glEnable(GL_SAMPLE_ALPHA_TO_COVERAGE) and glDisable(GL_SAMPLE_ALPHA_TO_COVERAGE). More...
 
void SetSampleCoverage (bool enable)
 This method replaces glEnable(GL_SAMPLE_COVERAGE) and glDisable(GL_SAMPLE_COVERAGE). More...
 
void SetScissorTest (bool enable)
 This method replaces glEnable(GL_SCISSOR_TEST) and glDisable(GL_SCISSOR_TEST). More...
 
void EnableStencilBuffer (bool enable)
 This method replaces glEnable(GL_STENCIL_TEST) and glDisable(GL_STENCIL_TEST). More...
 
void EndQuery (GLenum target)
 Wrapper for OpenGL ES 3.0 glEndQuery() More...
 
void EndTransformFeedback ()
 Wrapper for OpenGL ES 3.0 glEndTransformFeedback() More...
 
void Finish (void)
 Wrapper for OpenGL ES 2.0 glFinish() More...
 
void Flush (void)
 Wrapper for OpenGL ES 2.0 glFlush() More...
 
void FramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
 Wrapper for OpenGL ES 2.0 glFramebufferRenderbuffer() More...
 
void FramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
 Wrapper for OpenGL ES 2.0 glFramebufferTexture2D() More...
 
void FramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
 Wrapper for OpenGL ES 3.0 glFramebufferTextureLayer() More...
 
void FrontFace (GLenum mode)
 Wrapper for OpenGL ES 2.0 glFrontFace() More...
 
void GenBuffers (GLsizei n, GLuint *buffers)
 Wrapper for OpenGL ES 2.0 glGenBuffers() More...
 
void GenerateMipmap (GLenum target)
 Wrapper for OpenGL ES 2.0 glGenerateMipmap() More...
 
void GenFramebuffers (GLsizei n, GLuint *framebuffers)
 Wrapper for OpenGL ES 2.0 glGenFramebuffers() More...
 
void GenRenderbuffers (GLsizei n, GLuint *renderbuffers)
 Wrapper for OpenGL ES 2.0 glGenRenderbuffers() More...
 
void GenTextures (GLsizei n, GLuint *textures)
 Wrapper for OpenGL ES 2.0 glGenTextures() More...
 
void GetBooleanv (GLenum pname, GLboolean *params)
 Wrapper for OpenGL ES 2.0 glGetBooleanv() More...
 
void GetBufferParameteriv (GLenum target, GLenum pname, GLint *params)
 Wrapper for OpenGL ES 2.0 glGetBufferParameteriv() More...
 
void GetBufferPointerv (GLenum target, GLenum pname, GLvoid **params)
 Wrapper for OpenGL ES 3.0 glGetBufferPointer() More...
 
GLenum GetError (void)
 Wrapper for OpenGL ES 2.0 glGetError() More...
 
void GetFloatv (GLenum pname, GLfloat *params)
 Wrapper for OpenGL ES 2.0 glGetFloatv() More...
 
void GetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params)
 Wrapper for OpenGL ES 2.0 glGetFramebufferAttachmentParameteriv() More...
 
void GetIntegerv (GLenum pname, GLint *params)
 Wrapper for OpenGL ES 2.0 glGetIntegerv() More...
 
void GetQueryiv (GLenum target, GLenum pname, GLint *params)
 Wrapper for OpenGL ES 3.0 glGetQueryiv() More...
 
void GetQueryObjectuiv (GLuint id, GLenum pname, GLuint *params)
 Wrapper for OpenGL ES 3.0 glGetQueryObjectuiv() More...
 
void GetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params)
 Wrapper for OpenGL ES 2.0 glGetRenderbufferParameteriv() More...
 
const GLubyteGetString (GLenum name)
 Wrapper for OpenGL ES 2.0 glGetString() More...
 
void GetTexParameterfv (GLenum target, GLenum pname, GLfloat *params)
 Wrapper for OpenGL ES 2.0 glGetTexParameterfv() More...
 
void GetTexParameteriv (GLenum target, GLenum pname, GLint *params)
 Wrapper for OpenGL ES 2.0 glGetTexParameteriv() More...
 
void Hint (GLenum target, GLenum mode)
 Wrapper for OpenGL ES 2.0 glHint() More...
 
GLboolean IsBuffer (GLuint buffer)
 Wrapper for OpenGL ES 2.0 glIsBuffer() More...
 
GLboolean IsEnabled (GLenum cap)
 Wrapper for OpenGL ES 2.0 glIsEnabled() More...
 
GLboolean IsFramebuffer (GLuint framebuffer)
 Wrapper for OpenGL ES 2.0 glIsFramebuffer() More...
 
GLboolean IsQuery (GLuint id)
 Wrapper for OpenGL ES 3.0 glIsQuery() More...
 
GLboolean IsRenderbuffer (GLuint renderbuffer)
 Wrapper for OpenGL ES 2.0 glIsRenderbuffer() More...
 
GLboolean IsTexture (GLuint texture)
 Wrapper for OpenGL ES 2.0 glIsTexture() More...
 
GLboolean IsTransformFeedback (GLuint id)
 Wrapper for OpenGL ES 3.0 glIsTransformFeedback() More...
 
void LineWidth (GLfloat width)
 Wrapper for OpenGL ES 2.0 glLineWidth() More...
 
void PauseTransformFeedback ()
 Wrapper for OpenGL ES 3.0 glPauseTransformFeedback() More...
 
void PixelStorei (GLenum pname, GLint param)
 Wrapper for OpenGL ES 2.0 glPixelStorei() More...
 
void PolygonOffset (GLfloat factor, GLfloat units)
 Wrapper for OpenGL ES 2.0 glPolygonOffset() More...
 
void ReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels)
 Wrapper for OpenGL ES 2.0 glReadPixels() More...
 
void RenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
 Wrapper for OpenGL ES 2.0 glRenderbufferStorage() More...
 
void RenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
 Wrapper for OpenGL ES 3.0 glRenderbufferStorageMultisample() More...
 
void ResumeTransformFeedback ()
 Wrapper for OpenGL ES 3.0 glResumeTransformFeedback() More...
 
void SampleCoverage (GLclampf value, GLboolean invert)
 Wrapper for OpenGL ES 2.0 glSampleCoverage() More...
 
void Scissor (GLint x, GLint y, GLsizei width, GLsizei height)
 Wrapper for OpenGL ES 2.0 glScissor() More...
 
void StencilFunc (GLenum func, GLint ref, GLuint mask)
 Wrapper for OpenGL ES 2.0 glStencilFunc() More...
 
void StencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask)
 Wrapper for OpenGL ES 2.0 glStencilFuncSeparate() More...
 
void StencilMask (GLuint mask)
 Wrapper for OpenGL ES 2.0 glStencilMask() More...
 
void StencilMaskSeparate (GLenum face, GLuint mask)
 Wrapper for OpenGL ES 2.0 glStencilMaskSeparate() More...
 
void StencilOp (GLenum fail, GLenum zfail, GLenum zpass)
 Wrapper for OpenGL ES 2.0 glStencilOp() More...
 
void StencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
 Wrapper for OpenGL ES 2.0 glStencilOpSeparate() More...
 
void TexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels)
 Wrapper for OpenGL ES 2.0 glTexImage2D() More...
 
void TexImage3D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels)
 Wrapper for OpenGL ES 3.0 glTexImage3D() More...
 
void TexParameterf (GLenum target, GLenum pname, GLfloat param)
 Wrapper for OpenGL ES 2.0 glTexParameterf() More...
 
void TexParameterfv (GLenum target, GLenum pname, const GLfloat *params)
 Wrapper for OpenGL ES 2.0 glTexParameterfv() More...
 
void TexParameteri (GLenum target, GLenum pname, GLint param)
 Wrapper for OpenGL ES 2.0 glTexParameteri() More...
 
void TexParameteriv (GLenum target, GLenum pname, const GLint *params)
 Wrapper for OpenGL ES 2.0 glTexParameteriv() More...
 
void TexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels)
 Wrapper for OpenGL ES 2.0 glTexSubImage2D() More...
 
void TexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)
 Wrapper for OpenGL ES 3.0 glTexSubImage3D() More...
 
GLboolean UnmapBuffer (GLenum target)
 Wrapper for OpenGL ES 3.0 glUnmapBubffer() More...
 
void Viewport (GLint x, GLint y, GLsizei width, GLsizei height)
 Wrapper for OpenGL ES 2.0 glViewport() More...
 
GLint CachedMaxTextureSize () const
 Get the implementation defined MAX_TEXTURE_SIZE. More...
 
const Rect< int > & GetViewport ()
 Get the current viewport. More...
 

Static Public Attributes

static const unsigned int MAX_ATTRIBUTE_CACHE_SIZE = 8
 Size of the VertexAttributeArray enables GLES specification states that there's minimum of 8. More...
 
static const unsigned int MAX_TEXTURE_UNITS = 8
 

Private Member Functions

bool DepthBufferWriteEnabled () const
 
bool StencilBufferWriteEnabled () const
 
void FlushVertexAttributeLocations ()
 Flushes vertex attribute location changes to the driver. More...
 
void SetVertexAttributeLocation (unsigned int location, bool state)
 Either enables or disables a vertex attribute location in the cache The cahnges won't take affect until FlushVertexAttributeLocations is called. More...
 
void InitializeGlState ()
 Sets the initial GL state. More...
 

Private Attributes

Integration::GlAbstractionmGlAbstraction
 
bool mGlContextCreated
 True if the OpenGL context has been created. More...
 
bool mColorMask
 
GLuint mStencilMask
 
bool mBlendEnabled
 
bool mDepthBufferEnabled
 
bool mDepthMaskEnabled
 
bool mDitherEnabled
 
bool mPolygonOffsetFillEnabled
 
bool mSampleAlphaToCoverageEnabled
 
bool mSampleCoverageEnabled
 
bool mScissorTestEnabled
 
bool mStencilBufferEnabled
 
bool mClearColorSet
 
bool mUsingDefaultBlendColor
 
GLuint mBoundArrayBufferId
 The ID passed to glBindBuffer(GL_ARRAY_BUFFER) More...
 
GLuint mBoundElementArrayBufferId
 The ID passed to glBindBuffer(GL_ELEMENT_ARRAY_BUFFER) More...
 
GLuint mBoundTransformFeedbackBufferId
 The ID passed to glBindBuffer(GL_TRANSFORM_FEEDBACK_BUFFER) More...
 
TextureUnit mActiveTextureUnit
 
GLuint mBound2dTextureId [MAX_TEXTURE_UNITS]
 The ID passed to glBindTexture(GL_TEXTURE_2D) More...
 
Vector4 mBlendColor
 Blend color. More...
 
GLenum mBlendFuncSeparateSrcRGB
 The srcRGB parameter passed to glBlendFuncSeparate() More...
 
GLenum mBlendFuncSeparateDstRGB
 The dstRGB parameter passed to glBlendFuncSeparate() More...
 
GLenum mBlendFuncSeparateSrcAlpha
 The srcAlpha parameter passed to glBlendFuncSeparate() More...
 
GLenum mBlendFuncSeparateDstAlpha
 The dstAlpha parameter passed to glBlendFuncSeparate() More...
 
GLenum mBlendEquationSeparateModeRGB
 Controls RGB blend mode. More...
 
GLenum mBlendEquationSeparateModeAlpha
 Controls Alpha blend mode. More...
 
GLint mMaxTextureSize
 return value from GetIntegerv(GL_MAX_TEXTURE_SIZE) More...
 
Vector4 mClearColor
 clear color More...
 
Dali::Renderer::FaceCullingMode mCullFaceMode
 
Rect< int > mViewPort
 
bool mVertexAttributeCachedState [MAX_ATTRIBUTE_CACHE_SIZE]
 Value cache for Enable Vertex Attribute. More...
 
bool mVertexAttributeCurrentState [MAX_ATTRIBUTE_CACHE_SIZE]
 Current state on the driver for Enable Vertex Attribute. More...
 
FrameBufferStateCache mFrameBufferStateCache
 frame buffer state cache More...
 

Detailed Description

Context records the current GL state, and provides access to the OpenGL ES 2.0 API.

Context avoids duplicate GL calls, if the same setting etc. is requested repeatedly.

Definition at line 45 of file context.h.

Member Enumeration Documentation

FrameBuffer Clear mode.

Enumerator
FORCE_CLEAR 

always perform the glClear regardless of current state

CHECK_CACHED_VALUES 

check the Frame buffers cached state to see if a clear is required

Definition at line 52 of file context.h.

Constructor & Destructor Documentation

Dali::Internal::Context::Context ( Integration::GlAbstraction glAbstraction)

Creates the Dali Context object.

This method does not create an OpenGL context i.e. that is done from outside dali-core.

Precondition
Context has not been created.
Exceptions
Contextalready created.
Parameters
glAbstractionthe gl abstraction.

Definition at line 67 of file context.cpp.

Dali::Internal::Context::~Context ( )

Destructor.

Definition at line 101 of file context.cpp.

Member Function Documentation

void Dali::Internal::Context::ActiveTexture ( TextureUnit  textureUnit)
inline
void Dali::Internal::Context::BeginQuery ( GLenum  target,
GLuint  id 
)
inline

Wrapper for OpenGL ES 3.0 glBeginQuery()

Definition at line 148 of file context.h.

References Dali::Integration::GlAbstraction::BeginQuery(), CHECK_GL, LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::BeginTransformFeedback ( GLenum  primitiveMode)
inline

Wrapper for OpenGL ES 3.0 glBeginTransformFeedback()

Definition at line 157 of file context.h.

References Dali::Integration::GlAbstraction::BeginTransformFeedback(), CHECK_GL, LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::Bind2dTexture ( GLuint  texture)
inline
void Dali::Internal::Context::BindArrayBuffer ( GLuint  buffer)
inline

The wrapper for OpenGL ES 2.0 glBindBuffer() has been replaced by BindArrayBuffer & BindElementArrayBuffer & BindTransformFeedbackBuffer.

Wrapper for OpenGL ES 2.0 glBindBuffer(GL_ARRAY_BUFFER, ...)

Definition at line 170 of file context.h.

References Dali::Integration::GlAbstraction::BindBuffer(), CHECK_GL, GL_ARRAY_BUFFER, LOG_GL, mBoundArrayBufferId, and mGlAbstraction.

Referenced by Dali::Internal::GpuBuffer::Bind(), and Dali::Internal::GpuBuffer::UpdateDataBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::BindElementArrayBuffer ( GLuint  buffer)
inline

Wrapper for OpenGL ES 2.0 glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ...)

Definition at line 185 of file context.h.

References Dali::Integration::GlAbstraction::BindBuffer(), CHECK_GL, GL_ELEMENT_ARRAY_BUFFER, LOG_GL, mBoundElementArrayBufferId, and mGlAbstraction.

Referenced by Dali::Internal::GpuBuffer::Bind(), and Dali::Internal::GpuBuffer::UpdateDataBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::BindFramebuffer ( GLenum  target,
GLuint  framebuffer 
)
inline
void Dali::Internal::Context::BindRenderbuffer ( GLenum  target,
GLuint  renderbuffer 
)
inline

Wrapper for OpenGL ES 2.0 glBindRenderbuffer()

Definition at line 241 of file context.h.

References Dali::Integration::GlAbstraction::BindRenderbuffer(), CHECK_GL, LOG_GL, and mGlAbstraction.

Referenced by Dali::Internal::FrameBufferTexture::CreateGlTexture().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::BindTextureForUnit ( TextureUnit  textureunit,
GLuint  texture 
)
inline

Helper to bind texture for rendering.

If given texture is already bound in the given textureunit, this method does nothing. Otherwise changes the active texture unit and binds the texture. Note! after this call active texture unit may not necessarily be the one passed in as argument so you cannot change texture unit state!!

Parameters
textureunitto bind to
textureto bind

Definition at line 265 of file context.h.

References ActiveTexture(), Bind2dTexture(), and mBound2dTextureId.

Referenced by Dali::Internal::Texture::Bind().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::BindTransformFeedback ( GLenum  target,
GLuint  id 
)
inline

Wrapper for OpenGL ES 3.0 glBindTransformFeedback()

Definition at line 250 of file context.h.

References Dali::Integration::GlAbstraction::BindTransformFeedback(), CHECK_GL, LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::BindTransformFeedbackBuffer ( GLuint  buffer)
inline

Wrapper for OpenGL ES 3.0 glBindBuffer(GL_TRANSFORM_FEEDBACK_BUFFER, ...)

Definition at line 200 of file context.h.

References Dali::Integration::GlAbstraction::BindBuffer(), CHECK_GL, GL_TRANSFORM_FEEDBACK_BUFFER, LOG_GL, mBoundTransformFeedbackBufferId, and mGlAbstraction.

Referenced by Dali::Internal::GpuBuffer::Bind(), and Dali::Internal::GpuBuffer::UpdateDataBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::BindTransformFeedbackBufferBase ( GLuint  index,
GLuint  buffer 
)
inline

Wrapper for OpenGL ES 3.0 glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, ...)

Definition at line 215 of file context.h.

References Dali::Integration::GlAbstraction::BindBufferBase(), CHECK_GL, GL_TRANSFORM_FEEDBACK_BUFFER, LOG_GL, mBoundTransformFeedbackBufferId, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::BlendEquation ( GLenum  mode)
inline

Wrapper for OpenGL ES 2.0 glBlendEquation()

Definition at line 317 of file context.h.

References BlendEquationSeparate().

Here is the call graph for this function:

void Dali::Internal::Context::BlendEquationSeparate ( GLenum  modeRGB,
GLenum  modeAlpha 
)
inline

Wrapper for OpenGL ES 2.0 glBlendEquationSeparate()

Definition at line 326 of file context.h.

References Dali::Integration::GlAbstraction::BlendEquationSeparate(), CHECK_GL, LOG_GL, mBlendEquationSeparateModeAlpha, mBlendEquationSeparateModeRGB, and mGlAbstraction.

Referenced by BlendEquation(), and Dali::Internal::Render::Renderer::SetBlending().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::BlendFunc ( GLenum  sfactor,
GLenum  dfactor 
)
inline

Wrapper for OpenGL ES 2.0 glBlendFunc()

Definition at line 341 of file context.h.

References BlendFuncSeparate().

Here is the call graph for this function:

void Dali::Internal::Context::BlendFuncSeparate ( GLenum  srcRGB,
GLenum  dstRGB,
GLenum  srcAlpha,
GLenum  dstAlpha 
)
inline

Wrapper for OpenGL ES 2.0 glBlendFuncSeparate()

Definition at line 350 of file context.h.

References Dali::Integration::GlAbstraction::BlendFuncSeparate(), CHECK_GL, LOG_GL, mBlendFuncSeparateDstAlpha, mBlendFuncSeparateDstRGB, mBlendFuncSeparateSrcAlpha, mBlendFuncSeparateSrcRGB, and mGlAbstraction.

Referenced by BlendFunc(), and Dali::Internal::Render::Renderer::SetBlending().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::BlitFramebuffer ( GLint  srcX0,
GLint  srcY0,
GLint  srcX1,
GLint  srcY1,
GLint  dstX0,
GLint  dstY0,
GLint  dstX1,
GLint  dstY1,
GLbitfield  mask,
GLenum  filter 
)
inline

Wrapper for OpenGL ES 3.0 glBlitFramebuffer()

Definition at line 368 of file context.h.

References Dali::Integration::GlAbstraction::BlitFramebuffer(), CHECK_GL, LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::BufferData ( GLenum  target,
GLsizeiptr  size,
const void *  data,
GLenum  usage 
)
inline

Wrapper for OpenGL ES 2.0 glBufferData()

Definition at line 377 of file context.h.

References Dali::Integration::GlAbstraction::BufferData(), CHECK_GL, LOG_GL, and mGlAbstraction.

Referenced by Dali::Internal::GpuBuffer::UpdateDataBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::BufferSubData ( GLenum  target,
GLintptr  offset,
GLsizeiptr  size,
const void *  data 
)
inline

Wrapper for OpenGL ES 2.0 glBufferSubData()

Definition at line 386 of file context.h.

References Dali::Integration::GlAbstraction::BufferSubData(), CHECK_GL, LOG_GL, and mGlAbstraction.

Referenced by Dali::Internal::GpuBuffer::UpdateDataBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

GLint Dali::Internal::Context::CachedMaxTextureSize ( ) const
inline

Get the implementation defined MAX_TEXTURE_SIZE.

This values is cached when the context is created

Returns
The implementation defined MAX_TEXTURE_SIZE

Definition at line 1634 of file context.h.

References mMaxTextureSize.

GLenum Dali::Internal::Context::CheckFramebufferStatus ( GLenum  target)
inline

Wrapper for OpenGL ES 2.0 glCheckFramebufferStatus()

Definition at line 395 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::CheckFramebufferStatus(), LOG_GL, and mGlAbstraction.

Referenced by Dali::Internal::FrameBufferTexture::CreateGlTexture().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::Clear ( GLbitfield  mask,
ClearMode  mode 
)
inline
void Dali::Internal::Context::ClearColor ( GLclampf  red,
GLclampf  green,
GLclampf  blue,
GLclampf  alpha 
)
inline

Wrapper for OpenGL ES 2.0 glClearColor()

Definition at line 420 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::ClearColor(), LOG_GL, mClearColor, mClearColorSet, and mGlAbstraction.

Referenced by Dali::Internal::SceneGraph::RenderManager::DoRender(), and Dali::Internal::SceneGraph::RenderManager::Render().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::ClearDepthf ( GLclampf  depth)
inline

Wrapper for OpenGL ES 2.0 glClearDepthf()

Definition at line 437 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::ClearDepthf(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::ClearStencil ( GLint  s)
inline

Wrapper for OpenGL ES 2.0 glClearStencil()

Definition at line 446 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::ClearStencil(), LOG_GL, and mGlAbstraction.

Referenced by Dali::Internal::SceneGraph::RenderManager::Render().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::ColorMask ( bool  flag)
inline

Wrapper for OpenGL ES 2.0 glColorMask()

Note
This has been optimized to a single boolean value (masking individual channels is not required)

Definition at line 456 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::ColorMask(), LOG_GL, mColorMask, and mGlAbstraction.

Referenced by Dali::Internal::SceneGraph::RenderManager::DoRender(), Dali::Internal::SceneGraph::RenderManager::Render(), and Dali::Internal::Render::SetRenderFlags().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::CompressedTexImage2D ( GLenum  target,
GLint  level,
GLenum  internalformat,
GLsizei  width,
GLsizei  height,
GLint  border,
GLsizei  imageSize,
const void *  data 
)
inline

Wrapper for OpenGL ES 2.0 glCompressedTexImage2D()

Definition at line 470 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::CompressedTexImage2D(), LOG_GL, and mGlAbstraction.

Referenced by Dali::Internal::CompressedBitmapTexture::AssignBitmap().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::CompressedTexImage3D ( GLenum  target,
GLint  level,
GLenum  internalformat,
GLsizei  width,
GLsizei  height,
GLsizei  depth,
GLint  border,
GLsizei  imageSize,
const void *  data 
)
inline

Wrapper for OpenGL ES 3.0 glCompressedTexImage3D()

Definition at line 480 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::CompressedTexImage3D(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::CompressedTexSubImage2D ( GLenum  target,
GLint  level,
GLint  xoffset,
GLint  yoffset,
GLsizei  width,
GLsizei  height,
GLenum  format,
GLsizei  imageSize,
const void *  data 
)
inline

Wrapper for OpenGL ES 2.0 glCompressedTexSubImage2D()

Definition at line 490 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::CompressedTexSubImage2D(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::CompressedTexSubImage3D ( GLenum  target,
GLint  level,
GLint  xoffset,
GLint  yoffset,
GLint  zoffset,
GLsizei  width,
GLsizei  height,
GLsizei  depth,
GLenum  format,
GLsizei  imageSize,
const void *  data 
)
inline

Wrapper for OpenGL ES 3.0 glCompressedTexSubImage3D()

Definition at line 500 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::CompressedTexSubImage3D(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::CopyTexImage2D ( GLenum  target,
GLint  level,
GLenum  internalformat,
GLint  x,
GLint  y,
GLsizei  width,
GLsizei  height,
GLint  border 
)
inline

Wrapper for OpenGL ES 2.0 glCopyTexImage2D()

Definition at line 511 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::CopyTexImage2D(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::CopyTexSubImage2D ( GLenum  target,
GLint  level,
GLint  xoffset,
GLint  yoffset,
GLint  x,
GLint  y,
GLsizei  width,
GLsizei  height 
)
inline

Wrapper for OpenGL ES 2.0 glCopyTexSubImage2D()

Definition at line 520 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::CopyTexSubImage2D(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::CopyTexSubImage3D ( GLenum  target,
GLint  level,
GLint  xoffset,
GLint  yoffset,
GLint  zoffset,
GLint  x,
GLint  y,
GLsizei  width,
GLsizei  height 
)
inline

Wrapper for OpenGL ES 3.0 glCopyTexSubImage3D()

Definition at line 529 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::CopyTexSubImage3D(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::CullFace ( Dali::Renderer::FaceCullingMode  mode)
inline

Wrapper for OpenGL ES 2.0 glCullFace() enables GL_CULL_FACE if in any of the face culling modes otherwise disables GL_CULL_FACE.

Definition at line 540 of file context.h.

References CHECK_GL, Dali::Renderer::CULL_BACK, Dali::Renderer::CULL_BACK_AND_FRONT, Dali::Renderer::CULL_FRONT, Dali::Integration::GlAbstraction::CullFace(), Dali::Integration::GlAbstraction::Disable(), Dali::Integration::GlAbstraction::Enable(), GL_BACK, GL_CULL_FACE, GL_FRONT, GL_FRONT_AND_BACK, LOG_GL, mCullFaceMode, mGlAbstraction, and Dali::Renderer::NONE.

Referenced by Dali::Internal::Render::Renderer::Render().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::DeleteBuffers ( GLsizei  n,
const GLuint buffers 
)
inline

Wrapper for OpenGL ES 2.0 glDeleteBuffers()

Definition at line 591 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::DeleteBuffers(), IsGlContextCreated(), LOG_GL, mBoundArrayBufferId, mBoundElementArrayBufferId, mBoundTransformFeedbackBufferId, and mGlAbstraction.

Referenced by Dali::Internal::GpuBuffer::~GpuBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::DeleteFramebuffers ( GLsizei  n,
const GLuint framebuffers 
)
inline

Wrapper for OpenGL ES 2.0 glDeleteFramebuffers()

Definition at line 611 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::DeleteFramebuffers(), Dali::Internal::FrameBufferStateCache::FrameBuffersDeleted(), LOG_GL, mFrameBufferStateCache, and mGlAbstraction.

Referenced by Dali::Internal::FrameBufferTexture::GlCleanup().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::DeleteQueries ( GLsizei  n,
GLuint ids 
)
inline

Wrapper for OpenGL ES 3.0 glDeleteQueries()

Definition at line 622 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::DeleteQueries(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::DeleteRenderbuffers ( GLsizei  n,
const GLuint renderbuffers 
)
inline

Wrapper for OpenGL ES 2.0 glDeleteRenderbuffers()

Definition at line 631 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::DeleteRenderbuffers(), LOG_GL, and mGlAbstraction.

Referenced by Dali::Internal::FrameBufferTexture::GlCleanup().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::DeleteTextures ( GLsizei  n,
const GLuint textures 
)
inline

Wrapper for OpenGL ES 2.0 glDeleteTextures()

Definition at line 640 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::DeleteTextures(), LOG_GL, MAX_TEXTURE_UNITS, mBound2dTextureId, and mGlAbstraction.

Referenced by Dali::Internal::Texture::GlCleanup().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::DeleteTransformFeedbacks ( GLsizei  n,
GLuint ids 
)
inline

Wrapper for OpenGL ES 3.0 glDeleteTransformFeedbacks()

Definition at line 656 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::DeleteTransformFeedbacks(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

bool Dali::Internal::Context::DepthBufferWriteEnabled ( ) const
inlineprivate
Returns
true if next draw operation will write to depth buffer

Definition at line 1650 of file context.h.

References mDepthBufferEnabled, and mDepthMaskEnabled.

Referenced by DrawArrays(), DrawArraysInstanced(), DrawBuffers(), DrawElements(), DrawElementsInstanced(), and DrawRangeElements().

Here is the caller graph for this function:

void Dali::Internal::Context::DepthFunc ( GLenum  func)
inline

Wrapper for OpenGL ES 2.0 glDepthFunc()

Definition at line 665 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::DepthFunc(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::DepthMask ( GLboolean  flag)
inline

Wrapper for OpenGL ES 2.0 glDepthMask()

Definition at line 674 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::DepthMask(), LOG_GL, mDepthMaskEnabled, and mGlAbstraction.

Referenced by Dali::Internal::Render::ProcessRenderList(), and Dali::Internal::SceneGraph::RenderManager::Render().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::DepthRangef ( GLclampf  zNear,
GLclampf  zFar 
)
inline

Wrapper for OpenGL ES 2.0 glDepthRangef()

Definition at line 688 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::DepthRangef(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::DisableVertexAttributeArray ( GLuint  location)
inline

Definition at line 825 of file context.h.

References SetVertexAttributeLocation().

Referenced by Dali::Internal::SceneGraph::RenderGeometry::UploadAndDraw().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::DrawArrays ( GLenum  mode,
GLint  first,
GLsizei  count 
)
inline

The wrapper for OpenGL ES 2.0 glDisable() has been replaced by SetBlend, SetCullFace, SetDepthTest, SetDither, SetPolygonOffsetFill, SetSampleAlphaToCoverage, SetSampleCoverage, SetScissorTest & SetStencilTest.

Wrapper for OpenGL ES 2.0 glDrawArrays()

Definition at line 702 of file context.h.

References CHECK_GL, DepthBufferWriteEnabled(), Dali::Integration::GlAbstraction::DrawArrays(), Dali::Internal::FrameBufferStateCache::DrawOperation(), FlushVertexAttributeLocations(), LOG_GL, mColorMask, mFrameBufferStateCache, mGlAbstraction, and StencilBufferWriteEnabled().

Referenced by Dali::Internal::SceneGraph::RenderGeometry::UploadAndDraw().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::DrawArraysInstanced ( GLenum  mode,
GLint  first,
GLsizei  count,
GLsizei  instanceCount 
)
inline
void Dali::Internal::Context::DrawBuffers ( GLsizei  n,
const GLenum bufs 
)
inline
void Dali::Internal::Context::DrawElements ( GLenum  mode,
GLsizei  count,
GLenum  type,
const void *  indices 
)
inline

Wrapper for OpenGL ES 2.0 glDrawElements()

Definition at line 736 of file context.h.

References CHECK_GL, DepthBufferWriteEnabled(), Dali::Integration::GlAbstraction::DrawElements(), Dali::Internal::FrameBufferStateCache::DrawOperation(), FlushVertexAttributeLocations(), LOG_GL, mColorMask, mFrameBufferStateCache, mGlAbstraction, and StencilBufferWriteEnabled().

Referenced by Dali::Internal::SceneGraph::RenderGeometry::UploadAndDraw().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::DrawElementsInstanced ( GLenum  mode,
GLsizei  count,
GLenum  type,
const void *  indices,
GLsizei  instanceCount 
)
inline
void Dali::Internal::Context::DrawRangeElements ( GLenum  mode,
GLuint  start,
GLuint  end,
GLsizei  count,
GLenum  type,
const void *  indices 
)
inline
void Dali::Internal::Context::EnableDepthBuffer ( bool  enable)
inline

This method replaces glEnable(GL_DEPTH_TEST) and glDisable(GL_DEPTH_TEST).

Note GL_DEPTH_TEST means enable the depth buffer for writing and or testing. glDepthMask is used to enable / disable writing to depth buffer. glDepthFunc us used to control if testing is enabled and how it is performed ( default GL_LESS)

Parameters
[in]enableTrue if GL_DEPTH_TEST should be enabled.

Definition at line 894 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::Disable(), Dali::Integration::GlAbstraction::Enable(), GL_DEPTH_TEST, LOG_GL, mDepthBufferEnabled, and mGlAbstraction.

Referenced by Dali::Internal::Render::SetRenderFlags().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::EnableStencilBuffer ( bool  enable)
inline

This method replaces glEnable(GL_STENCIL_TEST) and glDisable(GL_STENCIL_TEST).

Note GL_STENCIL_TEST means enable the stencil buffer for writing and or testing. glStencilMask is used to control how bits are written to the stencil buffer. glStencilFunc is used to control if testing is enabled and how it is performed ( default GL_ALWAYS )

Parameters
[in]enableTrue if GL_STENCIL_TEST should be enabled.

Definition at line 1041 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::Disable(), Dali::Integration::GlAbstraction::Enable(), GL_STENCIL_TEST, LOG_GL, mGlAbstraction, and mStencilBufferEnabled.

Referenced by Dali::Internal::Render::SetRenderFlags().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::EnableVertexAttributeArray ( GLuint  location)
inline

Definition at line 820 of file context.h.

References SetVertexAttributeLocation().

Referenced by Dali::Internal::Render::PropertyBuffer::EnableVertexAttributes().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::EndQuery ( GLenum  target)
inline

Wrapper for OpenGL ES 3.0 glEndQuery()

Definition at line 1064 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::EndQuery(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::EndTransformFeedback ( void  )
inline

Wrapper for OpenGL ES 3.0 glEndTransformFeedback()

Definition at line 1073 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::EndTransformFeedback(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

const char * Dali::Internal::Context::ErrorToString ( GLenum  errorCode)

Helper to convert GL error code to string.

Parameters
errorCodeto convert
Returns
C string

Definition at line 127 of file context.cpp.

References Dali::Internal::anonymous_namespace{context.cpp}::errors, and Dali::Internal::anonymous_namespace{context.cpp}::errorStrings::errorString.

void Dali::Internal::Context::Finish ( void  )
inline

Wrapper for OpenGL ES 2.0 glFinish()

Definition at line 1082 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::Finish(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::Flush ( void  )
inline

Wrapper for OpenGL ES 2.0 glFlush()

Definition at line 1091 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::Flush(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::FlushVertexAttributeLocations ( )
private

Flushes vertex attribute location changes to the driver.

Definition at line 144 of file context.cpp.

References CHECK_GL, Dali::Integration::GlAbstraction::DisableVertexAttribArray(), Dali::Integration::GlAbstraction::EnableVertexAttribArray(), LOG_GL, MAX_ATTRIBUTE_CACHE_SIZE, mGlAbstraction, mVertexAttributeCachedState, and mVertexAttributeCurrentState.

Referenced by DrawArrays(), DrawArraysInstanced(), DrawElements(), DrawElementsInstanced(), and DrawRangeElements().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::FramebufferRenderbuffer ( GLenum  target,
GLenum  attachment,
GLenum  renderbuffertarget,
GLuint  renderbuffer 
)
inline

Wrapper for OpenGL ES 2.0 glFramebufferRenderbuffer()

Definition at line 1100 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::FramebufferRenderbuffer(), LOG_GL, and mGlAbstraction.

Referenced by Dali::Internal::FrameBufferTexture::CreateGlTexture().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::FramebufferTexture2D ( GLenum  target,
GLenum  attachment,
GLenum  textarget,
GLuint  texture,
GLint  level 
)
inline

Wrapper for OpenGL ES 2.0 glFramebufferTexture2D()

Definition at line 1109 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::FramebufferTexture2D(), LOG_GL, and mGlAbstraction.

Referenced by Dali::Internal::FrameBufferTexture::CreateGlTexture().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::FramebufferTextureLayer ( GLenum  target,
GLenum  attachment,
GLuint  texture,
GLint  level,
GLint  layer 
)
inline

Wrapper for OpenGL ES 3.0 glFramebufferTextureLayer()

Definition at line 1118 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::FramebufferTextureLayer(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::FrontFace ( GLenum  mode)
inline

Wrapper for OpenGL ES 2.0 glFrontFace()

Definition at line 1127 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::FrontFace(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::GenBuffers ( GLsizei  n,
GLuint buffers 
)
inline

Wrapper for OpenGL ES 2.0 glGenBuffers()

Definition at line 1136 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GenBuffers(), LOG_GL, and mGlAbstraction.

Referenced by Dali::Internal::GpuBuffer::UpdateDataBuffer().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::GenerateMipmap ( GLenum  target)
inline

Wrapper for OpenGL ES 2.0 glGenerateMipmap()

Definition at line 1145 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GenerateMipmap(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::GenFramebuffers ( GLsizei  n,
GLuint framebuffers 
)
inline

Wrapper for OpenGL ES 2.0 glGenFramebuffers()

Definition at line 1154 of file context.h.

References CHECK_GL, Dali::Internal::FrameBufferStateCache::FrameBuffersCreated(), Dali::Integration::GlAbstraction::GenFramebuffers(), LOG_GL, mFrameBufferStateCache, and mGlAbstraction.

Referenced by Dali::Internal::FrameBufferTexture::CreateGlTexture().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::GenQueries ( GLsizei  n,
GLuint ids 
)
inline

Wrapper for OpenGL ES 3.0 glGenQuerieS()

Definition at line 774 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GenQueries(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::GenRenderbuffers ( GLsizei  n,
GLuint renderbuffers 
)
inline

Wrapper for OpenGL ES 2.0 glGenRenderbuffers()

Definition at line 1165 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GenRenderbuffers(), LOG_GL, and mGlAbstraction.

Referenced by Dali::Internal::FrameBufferTexture::CreateGlTexture().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::GenTextures ( GLsizei  n,
GLuint textures 
)
inline
void Dali::Internal::Context::GenTransformFeedbacks ( GLsizei  n,
GLuint ids 
)
inline

Wrapper for OpenGL ES 3.0 glGenTransformFeedbacks()

Definition at line 783 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GenTransformFeedbacks(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

Integration::GlAbstraction& Dali::Internal::Context::GetAbstraction ( )
inline
Returns
the GLAbstraction

Definition at line 99 of file context.h.

References mGlAbstraction.

void Dali::Internal::Context::GetBooleanv ( GLenum  pname,
GLboolean params 
)
inline

Wrapper for OpenGL ES 2.0 glGetBooleanv()

Definition at line 1183 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GetBooleanv(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::GetBufferParameteriv ( GLenum  target,
GLenum  pname,
GLint params 
)
inline

Wrapper for OpenGL ES 2.0 glGetBufferParameteriv()

Definition at line 1192 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GetBufferParameteriv(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::GetBufferPointerv ( GLenum  target,
GLenum  pname,
GLvoid **  params 
)
inline

Wrapper for OpenGL ES 3.0 glGetBufferPointer()

Definition at line 1201 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GetBufferPointerv(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

GLuint Dali::Internal::Context::GetCurrentBoundArrayBuffer ( GLenum  target)
inline
GLenum Dali::Internal::Context::GetError ( void  )
inline

Wrapper for OpenGL ES 2.0 glGetError()

Definition at line 1210 of file context.h.

References Dali::Integration::GlAbstraction::GetError(), and mGlAbstraction.

Referenced by Dali::Internal::FrameBufferTexture::CreateGlTexture().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::GetFloatv ( GLenum  pname,
GLfloat params 
)
inline

Wrapper for OpenGL ES 2.0 glGetFloatv()

Definition at line 1219 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GetFloatv(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::GetFramebufferAttachmentParameteriv ( GLenum  target,
GLenum  attachment,
GLenum  pname,
GLint params 
)
inline

Wrapper for OpenGL ES 2.0 glGetFramebufferAttachmentParameteriv()

Definition at line 1228 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GetFramebufferAttachmentParameteriv(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::GetIntegerv ( GLenum  pname,
GLint params 
)
inline

Wrapper for OpenGL ES 2.0 glGetIntegerv()

Definition at line 1237 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GetIntegerv(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::GetQueryiv ( GLenum  target,
GLenum  pname,
GLint params 
)
inline

Wrapper for OpenGL ES 3.0 glGetQueryiv()

Definition at line 1246 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GetQueryiv(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::GetQueryObjectuiv ( GLuint  id,
GLenum  pname,
GLuint params 
)
inline

Wrapper for OpenGL ES 3.0 glGetQueryObjectuiv()

Definition at line 1255 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GetQueryObjectuiv(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::GetRenderbufferParameteriv ( GLenum  target,
GLenum  pname,
GLint params 
)
inline

Wrapper for OpenGL ES 2.0 glGetRenderbufferParameteriv()

Definition at line 1264 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GetRenderbufferParameteriv(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

const GLubyte* Dali::Internal::Context::GetString ( GLenum  name)
inline

Wrapper for OpenGL ES 2.0 glGetString()

Definition at line 1273 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GetString(), LOG_GL, and mGlAbstraction.

Referenced by PrintGlString().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::GetTexParameterfv ( GLenum  target,
GLenum  pname,
GLfloat params 
)
inline

Wrapper for OpenGL ES 2.0 glGetTexParameterfv()

Definition at line 1283 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GetTexParameterfv(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::GetTexParameteriv ( GLenum  target,
GLenum  pname,
GLint params 
)
inline

Wrapper for OpenGL ES 2.0 glGetTexParameteriv()

Definition at line 1292 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::GetTexParameteriv(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

const Rect< int > & Dali::Internal::Context::GetViewport ( )

Get the current viewport.

Returns
Viewport rectangle.

Definition at line 139 of file context.cpp.

References mViewPort.

Referenced by Dali::Internal::SceneGraph::Shader::SetUniforms().

Here is the caller graph for this function:

void Dali::Internal::Context::GlContextCreated ( )

Called when the GL context has been created.

Definition at line 105 of file context.cpp.

References DALI_ASSERT_DEBUG, DALI_LOG_INFO, InitializeGlState(), and mGlContextCreated.

Referenced by Dali::Internal::SceneGraph::RenderManager::ContextCreated().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::GlContextDestroyed ( )

Called when the GL context has been destroyed.

Definition at line 121 of file context.cpp.

References DALI_LOG_INFO, and mGlContextCreated.

Referenced by Dali::Internal::SceneGraph::RenderManager::ContextDestroyed().

Here is the caller graph for this function:

void Dali::Internal::Context::Hint ( GLenum  target,
GLenum  mode 
)
inline

Wrapper for OpenGL ES 2.0 glHint()

Definition at line 1301 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::Hint(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::InitializeGlState ( )
private
void Dali::Internal::Context::InvalidateFramebuffer ( GLenum  target,
GLsizei  numAttachments,
const GLenum attachments 
)
inline

Wrapper for OpenGL ES 3.0 glInvalidateFramebuffer()

Definition at line 851 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::InvalidateFramebuffer(), LOG_GL, and mGlAbstraction.

Referenced by Dali::Internal::SceneGraph::RenderManager::DoRender(), and Dali::Internal::SceneGraph::RenderManager::Render().

Here is the call graph for this function:

Here is the caller graph for this function:

GLboolean Dali::Internal::Context::IsBuffer ( GLuint  buffer)
inline

Wrapper for OpenGL ES 2.0 glIsBuffer()

Definition at line 1310 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::IsBuffer(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

GLboolean Dali::Internal::Context::IsEnabled ( GLenum  cap)
inline

Wrapper for OpenGL ES 2.0 glIsEnabled()

Definition at line 1320 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::IsEnabled(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

GLboolean Dali::Internal::Context::IsFramebuffer ( GLuint  framebuffer)
inline

Wrapper for OpenGL ES 2.0 glIsFramebuffer()

Definition at line 1330 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::IsFramebuffer(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

bool Dali::Internal::Context::IsGlContextCreated ( )
inline

Query whether the OpenGL context has been created.

Returns
True if the OpenGL context has been created.

Definition at line 94 of file context.h.

References mGlContextCreated.

Referenced by DeleteBuffers(), and Dali::Internal::SceneGraph::RenderManager::Render().

Here is the caller graph for this function:

GLboolean Dali::Internal::Context::IsQuery ( GLuint  id)
inline

Wrapper for OpenGL ES 3.0 glIsQuery()

Definition at line 1340 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::IsQuery(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

GLboolean Dali::Internal::Context::IsRenderbuffer ( GLuint  renderbuffer)
inline

Wrapper for OpenGL ES 2.0 glIsRenderbuffer()

Definition at line 1350 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::IsRenderbuffer(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

GLboolean Dali::Internal::Context::IsTexture ( GLuint  texture)
inline

Wrapper for OpenGL ES 2.0 glIsTexture()

Definition at line 1360 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::IsTexture(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

GLboolean Dali::Internal::Context::IsTransformFeedback ( GLuint  id)
inline

Wrapper for OpenGL ES 3.0 glIsTransformFeedback()

Definition at line 1370 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::IsTransformFeedback(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::LineWidth ( GLfloat  width)
inline

Wrapper for OpenGL ES 2.0 glLineWidth()

Definition at line 1380 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::LineWidth(), LOG_GL, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::PauseTransformFeedback ( void  )
inline

Wrapper for OpenGL ES 3.0 glPauseTransformFeedback()

Definition at line 1389 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::PauseTransformFeedback().

Here is the call graph for this function:

void Dali::Internal::Context::PixelStorei ( GLenum  pname,
GLint  param 
)
inline
void Dali::Internal::Context::PolygonOffset ( GLfloat  factor,
GLfloat  units 
)
inline

Wrapper for OpenGL ES 2.0 glPolygonOffset()

Definition at line 1407 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::PolygonOffset().

Here is the call graph for this function:

void Dali::Internal::Context::PrintGlString ( const char *  stringName,
GLenum  stringId 
)
inline

Helper to print GL string to debug log.

Definition at line 120 of file context.h.

References DALI_LOG_INFO, and GetString().

Here is the call graph for this function:

void Dali::Internal::Context::ReadPixels ( GLint  x,
GLint  y,
GLsizei  width,
GLsizei  height,
GLenum  format,
GLenum  type,
void *  pixels 
)
inline

Wrapper for OpenGL ES 2.0 glReadPixels()

Definition at line 1416 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::ReadPixels().

Here is the call graph for this function:

void Dali::Internal::Context::RenderbufferStorage ( GLenum  target,
GLenum  internalformat,
GLsizei  width,
GLsizei  height 
)
inline

Wrapper for OpenGL ES 2.0 glRenderbufferStorage()

Definition at line 1425 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::RenderbufferStorage().

Referenced by Dali::Internal::FrameBufferTexture::CreateGlTexture().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::RenderbufferStorageMultisample ( GLenum  target,
GLsizei  samples,
GLenum  internalformat,
GLsizei  width,
GLsizei  height 
)
inline

Wrapper for OpenGL ES 3.0 glRenderbufferStorageMultisample()

Definition at line 1434 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::RenderbufferStorageMultisample().

Here is the call graph for this function:

void Dali::Internal::Context::ResumeTransformFeedback ( void  )
inline

Wrapper for OpenGL ES 3.0 glResumeTransformFeedback()

Definition at line 1443 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::ResumeTransformFeedback().

Here is the call graph for this function:

void Dali::Internal::Context::SampleCoverage ( GLclampf  value,
GLboolean  invert 
)
inline

Wrapper for OpenGL ES 2.0 glSampleCoverage()

Definition at line 1452 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::SampleCoverage().

Here is the call graph for this function:

void Dali::Internal::Context::Scissor ( GLint  x,
GLint  y,
GLsizei  width,
GLsizei  height 
)
inline

Wrapper for OpenGL ES 2.0 glScissor()

Definition at line 1461 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::Scissor().

Referenced by Dali::Internal::SceneGraph::RenderManager::DoRender(), and Dali::Internal::Render::SetScissorTest().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::SetBlend ( bool  enable)
inline

The wrapper for OpenGL ES 2.0 glEnable() has been replaced by SetBlend, SetCullFace, SetDepthTest, SetDither, SetPolygonOffsetFill, SetSampleAlphaToCoverage, SetSampleCoverage, SetScissorTest & SetStencilTest.

This method replaces glEnable(GL_BLEND) and glDisable(GL_BLEND).

Parameters
[in]enableTrue if GL_BLEND should be enabled.

Definition at line 866 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::Disable(), Dali::Integration::GlAbstraction::Enable(), GL_BLEND, LOG_GL, mBlendEnabled, and mGlAbstraction.

Referenced by Dali::Internal::Render::Renderer::SetBlending().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::SetCustomBlendColor ( const Vector4 color)
inline

Wrapper for OpenGL ES 2.0 glBlendColor()

Definition at line 303 of file context.h.

References Dali::Vector4::a, Dali::Vector4::b, Dali::Integration::GlAbstraction::BlendColor(), CHECK_GL, Dali::Vector4::g, LOG_GL, mBlendColor, mGlAbstraction, mUsingDefaultBlendColor, and Dali::Vector4::r.

Referenced by Dali::Internal::Render::Renderer::SetBlending(), and SetDefaultBlendColor().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::SetDefaultBlendColor ( )
inline

Wrapper for OpenGL ES 2.0 glBlendColor()

Definition at line 291 of file context.h.

References mUsingDefaultBlendColor, SetCustomBlendColor(), and Dali::Color::TRANSPARENT.

Referenced by Dali::Internal::Render::Renderer::SetBlending().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::SetDither ( bool  enable)
inline

This method replaces glEnable(GL_DITHER) and glDisable(GL_DITHER).

Parameters
[in]enableTrue if GL_DITHER should be enabled.

Definition at line 918 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::Disable(), Dali::Integration::GlAbstraction::Enable(), GL_DITHER, LOG_GL, mDitherEnabled, and mGlAbstraction.

Here is the call graph for this function:

void Dali::Internal::Context::SetPolygonOffsetFill ( bool  enable)
inline

This method replaces glEnable(GL_POLYGON_OFFSET_FILL) and glDisable(GL_POLYGON_OFFSET_FILL).

Parameters
[in]enableTrue if GL_POLYGON_OFFSET_FILL should be enabled.

Definition at line 942 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::Disable(), Dali::Integration::GlAbstraction::Enable(), GL_POLYGON_OFFSET_FILL, LOG_GL, mGlAbstraction, and mPolygonOffsetFillEnabled.

Here is the call graph for this function:

void Dali::Internal::Context::SetSampleAlphaToCoverage ( bool  enable)
inline

This method replaces glEnable(GL_SAMPLE_ALPHA_TO_COVERAGE) and glDisable(GL_SAMPLE_ALPHA_TO_COVERAGE).

Parameters
[in]enableTrue if GL_SAMPLE_ALPHA_TO_COVERAGE should be enabled.

Definition at line 966 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::Disable(), Dali::Integration::GlAbstraction::Enable(), GL_SAMPLE_ALPHA_TO_COVERAGE, LOG_GL, mGlAbstraction, and mSampleAlphaToCoverageEnabled.

Here is the call graph for this function:

void Dali::Internal::Context::SetSampleCoverage ( bool  enable)
inline

This method replaces glEnable(GL_SAMPLE_COVERAGE) and glDisable(GL_SAMPLE_COVERAGE).

Parameters
[in]enableTrue if GL_SAMPLE_COVERAGE should be enabled.

Definition at line 990 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::Disable(), Dali::Integration::GlAbstraction::Enable(), GL_SAMPLE_COVERAGE, LOG_GL, mGlAbstraction, and mSampleCoverageEnabled.

Here is the call graph for this function:

void Dali::Internal::Context::SetScissorTest ( bool  enable)
inline

This method replaces glEnable(GL_SCISSOR_TEST) and glDisable(GL_SCISSOR_TEST).

Parameters
[in]enableTrue if GL_SCISSOR_TEST should be enabled.

Definition at line 1014 of file context.h.

References CHECK_GL, Dali::Integration::GlAbstraction::Disable(), Dali::Integration::GlAbstraction::Enable(), GL_SCISSOR_TEST, LOG_GL, mGlAbstraction, and mScissorTestEnabled.

Referenced by Dali::Internal::SceneGraph::RenderManager::DoRender(), Dali::Internal::SceneGraph::RenderManager::Render(), and Dali::Internal::Render::SetScissorTest().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::SetVertexAttributeLocation ( unsigned int  location,
bool  state 
)
private

Either enables or disables a vertex attribute location in the cache The cahnges won't take affect until FlushVertexAttributeLocations is called.

Parameters
locationattribute location
stateattribute state

Definition at line 170 of file context.cpp.

References CHECK_GL, Dali::Integration::GlAbstraction::DisableVertexAttribArray(), Dali::Integration::GlAbstraction::EnableVertexAttribArray(), LOG_GL, MAX_ATTRIBUTE_CACHE_SIZE, mGlAbstraction, and mVertexAttributeCachedState.

Referenced by DisableVertexAttributeArray(), and EnableVertexAttributeArray().

Here is the call graph for this function:

Here is the caller graph for this function:

bool Dali::Internal::Context::StencilBufferWriteEnabled ( ) const
inlineprivate
Returns
true if next draw operation will write to stencil buffer

Definition at line 1658 of file context.h.

References mStencilBufferEnabled, and mStencilMask.

Referenced by DrawArrays(), DrawArraysInstanced(), DrawBuffers(), DrawElements(), DrawElementsInstanced(), and DrawRangeElements().

Here is the caller graph for this function:

void Dali::Internal::Context::StencilFunc ( GLenum  func,
GLint  ref,
GLuint  mask 
)
inline

Wrapper for OpenGL ES 2.0 glStencilFunc()

Definition at line 1470 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::StencilFunc().

Referenced by Dali::Internal::Render::SetRenderFlags().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::StencilFuncSeparate ( GLenum  face,
GLenum  func,
GLint  ref,
GLuint  mask 
)
inline

Wrapper for OpenGL ES 2.0 glStencilFuncSeparate()

Definition at line 1481 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::StencilFuncSeparate().

Here is the call graph for this function:

void Dali::Internal::Context::StencilMask ( GLuint  mask)
inline

Wrapper for OpenGL ES 2.0 glStencilMask()

Definition at line 1490 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, mStencilMask, and Dali::Integration::GlAbstraction::StencilMask().

Referenced by Dali::Internal::SceneGraph::RenderManager::Render(), and Dali::Internal::Render::SetRenderFlags().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::StencilMaskSeparate ( GLenum  face,
GLuint  mask 
)
inline

Wrapper for OpenGL ES 2.0 glStencilMaskSeparate()

Definition at line 1504 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::StencilMaskSeparate().

Here is the call graph for this function:

void Dali::Internal::Context::StencilOp ( GLenum  fail,
GLenum  zfail,
GLenum  zpass 
)
inline

Wrapper for OpenGL ES 2.0 glStencilOp()

Definition at line 1513 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::StencilOp().

Referenced by Dali::Internal::Render::SetRenderFlags().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::StencilOpSeparate ( GLenum  face,
GLenum  fail,
GLenum  zfail,
GLenum  zpass 
)
inline

Wrapper for OpenGL ES 2.0 glStencilOpSeparate()

Definition at line 1522 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::StencilOpSeparate().

Here is the call graph for this function:

void Dali::Internal::Context::TexImage2D ( GLenum  target,
GLint  level,
GLint  internalformat,
GLsizei  width,
GLsizei  height,
GLint  border,
GLenum  format,
GLenum  type,
const void *  pixels 
)
inline

Wrapper for OpenGL ES 2.0 glTexImage2D()

Definition at line 1531 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::TexImage2D().

Referenced by Dali::Internal::BitmapTexture::AssignBitmap(), Dali::Internal::FrameBufferTexture::CreateGlTexture(), and Dali::Internal::BitmapTexture::Update().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::TexImage3D ( GLenum  target,
GLint  level,
GLint  internalformat,
GLsizei  width,
GLsizei  height,
GLsizei  depth,
GLint  border,
GLenum  format,
GLenum  type,
const void *  pixels 
)
inline

Wrapper for OpenGL ES 3.0 glTexImage3D()

Definition at line 1541 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::TexImage3D().

Here is the call graph for this function:

void Dali::Internal::Context::TexParameterf ( GLenum  target,
GLenum  pname,
GLfloat  param 
)
inline

Wrapper for OpenGL ES 2.0 glTexParameterf()

Definition at line 1551 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::TexParameterf().

Here is the call graph for this function:

void Dali::Internal::Context::TexParameterfv ( GLenum  target,
GLenum  pname,
const GLfloat params 
)
inline

Wrapper for OpenGL ES 2.0 glTexParameterfv()

Definition at line 1560 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::TexParameterfv().

Here is the call graph for this function:

void Dali::Internal::Context::TexParameteri ( GLenum  target,
GLenum  pname,
GLint  param 
)
inline
void Dali::Internal::Context::TexParameteriv ( GLenum  target,
GLenum  pname,
const GLint params 
)
inline

Wrapper for OpenGL ES 2.0 glTexParameteriv()

Definition at line 1578 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::TexParameteriv().

Here is the call graph for this function:

void Dali::Internal::Context::TexSubImage2D ( GLenum  target,
GLint  level,
GLint  xoffset,
GLint  yoffset,
GLsizei  width,
GLsizei  height,
GLenum  format,
GLenum  type,
const void *  pixels 
)
inline

Wrapper for OpenGL ES 2.0 glTexSubImage2D()

Definition at line 1587 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::TexSubImage2D().

Referenced by Dali::Internal::BitmapTexture::AreaUpdated(), and Dali::Internal::BitmapTexture::Update().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::TexSubImage3D ( GLenum  target,
GLint  level,
GLint  xoffset,
GLint  yoffset,
GLint  zoffset,
GLsizei  width,
GLsizei  height,
GLsizei  depth,
GLenum  format,
GLenum  type,
const void *  pixels 
)
inline

Wrapper for OpenGL ES 3.0 glTexSubImage3D()

Definition at line 1597 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::TexSubImage3D().

Here is the call graph for this function:

GLboolean Dali::Internal::Context::UnmapBuffer ( GLenum  target)
inline

Wrapper for OpenGL ES 3.0 glUnmapBubffer()

Definition at line 1608 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::UnmapBuffer().

Here is the call graph for this function:

void Dali::Internal::Context::VertexAttribDivisor ( GLuint  index,
GLuint  divisor 
)
inline

Wrapper for OpenGL ES 3.0 glVertexAttribDivisor()

Definition at line 833 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::VertexAttribDivisor().

Here is the call graph for this function:

void Dali::Internal::Context::VertexAttribPointer ( GLuint  index,
GLint  size,
GLenum  type,
GLboolean  normalized,
GLsizei  stride,
const void *  ptr 
)
inline

Wrapper for OpenGL ES 2.0 glVertexAttribPointer()

Definition at line 842 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, and Dali::Integration::GlAbstraction::VertexAttribPointer().

Referenced by Dali::Internal::Render::PropertyBuffer::EnableVertexAttributes().

Here is the call graph for this function:

Here is the caller graph for this function:

void Dali::Internal::Context::Viewport ( GLint  x,
GLint  y,
GLsizei  width,
GLsizei  height 
)
inline

Wrapper for OpenGL ES 2.0 glViewport()

Definition at line 1617 of file context.h.

References CHECK_GL, LOG_GL, mGlAbstraction, mViewPort, and Dali::Integration::GlAbstraction::Viewport().

Referenced by Dali::Internal::SceneGraph::RenderManager::DoRender(), and Dali::Internal::SceneGraph::RenderManager::Render().

Here is the call graph for this function:

Here is the caller graph for this function:

Member Data Documentation

TextureUnit Dali::Internal::Context::mActiveTextureUnit
private

Definition at line 1708 of file context.h.

Referenced by ActiveTexture(), Bind2dTexture(), and InitializeGlState().

const unsigned int Dali::Internal::Context::MAX_ATTRIBUTE_CACHE_SIZE = 8
static

Size of the VertexAttributeArray enables GLES specification states that there's minimum of 8.

Definition at line 62 of file context.h.

Referenced by FlushVertexAttributeLocations(), and SetVertexAttributeLocation().

const unsigned int Dali::Internal::Context::MAX_TEXTURE_UNITS = 8
static

Definition at line 64 of file context.h.

Referenced by DeleteTextures().

Vector4 Dali::Internal::Context::mBlendColor
private

Blend color.

Definition at line 1712 of file context.h.

Referenced by SetCustomBlendColor().

bool Dali::Internal::Context::mBlendEnabled
private

Definition at line 1690 of file context.h.

Referenced by InitializeGlState(), and SetBlend().

GLenum Dali::Internal::Context::mBlendEquationSeparateModeAlpha
private

Controls Alpha blend mode.

Definition at line 1722 of file context.h.

Referenced by BlendEquationSeparate(), and InitializeGlState().

GLenum Dali::Internal::Context::mBlendEquationSeparateModeRGB
private

Controls RGB blend mode.

Definition at line 1721 of file context.h.

Referenced by BlendEquationSeparate(), and InitializeGlState().

GLenum Dali::Internal::Context::mBlendFuncSeparateDstAlpha
private

The dstAlpha parameter passed to glBlendFuncSeparate()

Definition at line 1718 of file context.h.

Referenced by BlendFuncSeparate(), and InitializeGlState().

GLenum Dali::Internal::Context::mBlendFuncSeparateDstRGB
private

The dstRGB parameter passed to glBlendFuncSeparate()

Definition at line 1716 of file context.h.

Referenced by BlendFuncSeparate(), and InitializeGlState().

GLenum Dali::Internal::Context::mBlendFuncSeparateSrcAlpha
private

The srcAlpha parameter passed to glBlendFuncSeparate()

Definition at line 1717 of file context.h.

Referenced by BlendFuncSeparate(), and InitializeGlState().

GLenum Dali::Internal::Context::mBlendFuncSeparateSrcRGB
private

The srcRGB parameter passed to glBlendFuncSeparate()

Definition at line 1715 of file context.h.

Referenced by BlendFuncSeparate(), and InitializeGlState().

GLuint Dali::Internal::Context::mBound2dTextureId[MAX_TEXTURE_UNITS]
private

The ID passed to glBindTexture(GL_TEXTURE_2D)

Definition at line 1709 of file context.h.

Referenced by Bind2dTexture(), BindTextureForUnit(), DeleteTextures(), and InitializeGlState().

GLuint Dali::Internal::Context::mBoundArrayBufferId
private

The ID passed to glBindBuffer(GL_ARRAY_BUFFER)

Definition at line 1703 of file context.h.

Referenced by BindArrayBuffer(), DeleteBuffers(), GetCurrentBoundArrayBuffer(), and InitializeGlState().

GLuint Dali::Internal::Context::mBoundElementArrayBufferId
private

The ID passed to glBindBuffer(GL_ELEMENT_ARRAY_BUFFER)

Definition at line 1704 of file context.h.

Referenced by BindElementArrayBuffer(), DeleteBuffers(), GetCurrentBoundArrayBuffer(), and InitializeGlState().

GLuint Dali::Internal::Context::mBoundTransformFeedbackBufferId
private

The ID passed to glBindBuffer(GL_TRANSFORM_FEEDBACK_BUFFER)

Definition at line 1705 of file context.h.

Referenced by BindTransformFeedbackBuffer(), BindTransformFeedbackBufferBase(), DeleteBuffers(), GetCurrentBoundArrayBuffer(), and InitializeGlState().

Vector4 Dali::Internal::Context::mClearColor
private

clear color

Definition at line 1725 of file context.h.

Referenced by ClearColor().

bool Dali::Internal::Context::mClearColorSet
private

Definition at line 1699 of file context.h.

Referenced by ClearColor(), and InitializeGlState().

bool Dali::Internal::Context::mColorMask
private
Dali::Renderer::FaceCullingMode Dali::Internal::Context::mCullFaceMode
private

Definition at line 1728 of file context.h.

Referenced by CullFace(), and InitializeGlState().

bool Dali::Internal::Context::mDepthBufferEnabled
private

Definition at line 1691 of file context.h.

Referenced by DepthBufferWriteEnabled(), EnableDepthBuffer(), and InitializeGlState().

bool Dali::Internal::Context::mDepthMaskEnabled
private

Definition at line 1692 of file context.h.

Referenced by DepthBufferWriteEnabled(), DepthMask(), and InitializeGlState().

bool Dali::Internal::Context::mDitherEnabled
private

Definition at line 1693 of file context.h.

Referenced by InitializeGlState(), and SetDither().

FrameBufferStateCache Dali::Internal::Context::mFrameBufferStateCache
private
Integration::GlAbstraction& Dali::Internal::Context::mGlAbstraction
private

Definition at line 1683 of file context.h.

Referenced by ActiveTexture(), BeginQuery(), BeginTransformFeedback(), Bind2dTexture(), BindArrayBuffer(), BindElementArrayBuffer(), BindFramebuffer(), BindRenderbuffer(), BindTransformFeedback(), BindTransformFeedbackBuffer(), BindTransformFeedbackBufferBase(), BlendEquationSeparate(), BlendFuncSeparate(), BlitFramebuffer(), BufferData(), BufferSubData(), CheckFramebufferStatus(), Clear(), ClearColor(), ClearDepthf(), ClearStencil(), ColorMask(), CompressedTexImage2D(), CompressedTexImage3D(), CompressedTexSubImage2D(), CompressedTexSubImage3D(), CopyTexImage2D(), CopyTexSubImage2D(), CopyTexSubImage3D(), CullFace(), DeleteBuffers(), DeleteFramebuffers(), DeleteQueries(), DeleteRenderbuffers(), DeleteTextures(), DeleteTransformFeedbacks(), DepthFunc(), DepthMask(), DepthRangef(), DrawArrays(), DrawArraysInstanced(), DrawBuffers(), DrawElements(), DrawElementsInstanced(), DrawRangeElements(), EnableDepthBuffer(), EnableStencilBuffer(), EndQuery(), EndTransformFeedback(), Finish(), Flush(), FlushVertexAttributeLocations(), FramebufferRenderbuffer(), FramebufferTexture2D(), FramebufferTextureLayer(), FrontFace(), GenBuffers(), GenerateMipmap(), GenFramebuffers(), GenQueries(), GenRenderbuffers(), GenTextures(), GenTransformFeedbacks(), GetAbstraction(), GetBooleanv(), GetBufferParameteriv(), GetBufferPointerv(), GetError(), GetFloatv(), GetFramebufferAttachmentParameteriv(), GetIntegerv(), GetQueryiv(), GetQueryObjectuiv(), GetRenderbufferParameteriv(), GetString(), GetTexParameterfv(), GetTexParameteriv(), Hint(), InitializeGlState(), InvalidateFramebuffer(), IsBuffer(), IsEnabled(), IsFramebuffer(), IsQuery(), IsRenderbuffer(), IsTexture(), IsTransformFeedback(), LineWidth(), PauseTransformFeedback(), PixelStorei(), PolygonOffset(), ReadPixels(), RenderbufferStorage(), RenderbufferStorageMultisample(), ResumeTransformFeedback(), SampleCoverage(), Scissor(), SetBlend(), SetCustomBlendColor(), SetDither(), SetPolygonOffsetFill(), SetSampleAlphaToCoverage(), SetSampleCoverage(), SetScissorTest(), SetVertexAttributeLocation(), StencilFunc(), StencilFuncSeparate(), StencilMask(), StencilMaskSeparate(), StencilOp(), StencilOpSeparate(), TexImage2D(), TexImage3D(), TexParameterf(), TexParameterfv(), TexParameteri(), TexParameteriv(), TexSubImage2D(), TexSubImage3D(), UnmapBuffer(), VertexAttribDivisor(), VertexAttribPointer(), and Viewport().

bool Dali::Internal::Context::mGlContextCreated
private

True if the OpenGL context has been created.

Definition at line 1685 of file context.h.

Referenced by GlContextCreated(), GlContextDestroyed(), InitializeGlState(), and IsGlContextCreated().

GLint Dali::Internal::Context::mMaxTextureSize
private

return value from GetIntegerv(GL_MAX_TEXTURE_SIZE)

Definition at line 1724 of file context.h.

Referenced by CachedMaxTextureSize(), and InitializeGlState().

bool Dali::Internal::Context::mPolygonOffsetFillEnabled
private

Definition at line 1694 of file context.h.

Referenced by InitializeGlState(), and SetPolygonOffsetFill().

bool Dali::Internal::Context::mSampleAlphaToCoverageEnabled
private

Definition at line 1695 of file context.h.

Referenced by InitializeGlState(), and SetSampleAlphaToCoverage().

bool Dali::Internal::Context::mSampleCoverageEnabled
private

Definition at line 1696 of file context.h.

Referenced by InitializeGlState(), and SetSampleCoverage().

bool Dali::Internal::Context::mScissorTestEnabled
private

Definition at line 1697 of file context.h.

Referenced by Clear(), InitializeGlState(), and SetScissorTest().

bool Dali::Internal::Context::mStencilBufferEnabled
private

Definition at line 1698 of file context.h.

Referenced by EnableStencilBuffer(), InitializeGlState(), and StencilBufferWriteEnabled().

GLuint Dali::Internal::Context::mStencilMask
private

Definition at line 1689 of file context.h.

Referenced by InitializeGlState(), StencilBufferWriteEnabled(), and StencilMask().

bool Dali::Internal::Context::mUsingDefaultBlendColor
private

Definition at line 1700 of file context.h.

Referenced by InitializeGlState(), SetCustomBlendColor(), and SetDefaultBlendColor().

bool Dali::Internal::Context::mVertexAttributeCachedState[MAX_ATTRIBUTE_CACHE_SIZE]
private

Value cache for Enable Vertex Attribute.

Definition at line 1734 of file context.h.

Referenced by FlushVertexAttributeLocations(), InitializeGlState(), and SetVertexAttributeLocation().

bool Dali::Internal::Context::mVertexAttributeCurrentState[MAX_ATTRIBUTE_CACHE_SIZE]
private

Current state on the driver for Enable Vertex Attribute.

Definition at line 1735 of file context.h.

Referenced by FlushVertexAttributeLocations(), and InitializeGlState().

Rect< int > Dali::Internal::Context::mViewPort
private

Definition at line 1731 of file context.h.

Referenced by GetViewport(), InitializeGlState(), and Viewport().


The documentation for this class was generated from the following files:
Dali Docs Home
Read more about Dali