Removed GL and GL Sync implementations
authorDavid Steele <david.steele@samsung.com>
Thu, 26 Apr 2018 18:42:18 +0000 (19:42 +0100)
committerDavid Steele <david.steele@samsung.com>
Thu, 31 May 2018 17:46:42 +0000 (18:46 +0100)
Removed the GL abstraction, implementation and proxy implementation.
Removed the GL Sync abstraction and EGL Sync abstractions

Fixed up to work with new Core interface
Removed GL Abstraction from RenderSurface.

Change-Id: I5e7818521ebadd6509dcebaf9281f0601726e41a
Signed-off-by: David Steele <david.steele@samsung.com>
36 files changed:
automated-tests/src/dali-adaptor/dali-test-suite-utils/test-gl-abstraction.cpp [deleted file]
automated-tests/src/dali-adaptor/dali-test-suite-utils/test-gl-abstraction.h [deleted file]
automated-tests/src/dali-adaptor/dali-test-suite-utils/test-gl-sync-abstraction.cpp [deleted file]
automated-tests/src/dali-adaptor/dali-test-suite-utils/test-gl-sync-abstraction.h [deleted file]
build/tizen/adaptor/configure.ac
build/tizen/configure.ac
dali/integration-api/render-surface.h
dali/internal/adaptor/common/adaptor-impl.cpp
dali/internal/adaptor/common/adaptor-impl.h
dali/internal/adaptor/common/adaptor-internal-services.h
dali/internal/adaptor/common/combined-update-render-controller.cpp
dali/internal/graphics/common/render-helper.cpp
dali/internal/graphics/common/render-helper.h
dali/internal/graphics/file.list
dali/internal/graphics/gles20/egl-factory.cpp
dali/internal/graphics/gles20/egl-factory.h
dali/internal/graphics/gles20/egl-implementation.cpp
dali/internal/graphics/gles20/egl-sync-implementation.cpp [deleted file]
dali/internal/graphics/gles20/egl-sync-implementation.h [deleted file]
dali/internal/graphics/gles20/gl-extensions.cpp [deleted file]
dali/internal/graphics/gles20/gl-extensions.h [deleted file]
dali/internal/graphics/gles20/gl-implementation.h [deleted file]
dali/internal/graphics/gles20/gl-proxy-implementation.cpp [deleted file]
dali/internal/graphics/gles20/gl-proxy-implementation.h [deleted file]
dali/internal/graphics/vulkan/x11/vk-surface-xlib.cpp
dali/internal/graphics/vulkan/x11/vk-surface-xlib2xcb.cpp
dali/internal/imaging/common/native-bitmap-buffer-impl.cpp
dali/internal/imaging/common/native-bitmap-buffer-impl.h
dali/internal/window-system/tizen-wayland/native-render-surface-ecore-wl.cpp
dali/internal/window-system/tizen-wayland/native-render-surface-ecore-wl.h
dali/internal/window-system/tizen-wayland/window-render-surface-ecore-wl.cpp
dali/internal/window-system/tizen-wayland/window-render-surface-ecore-wl.h
dali/internal/window-system/ubuntu-x11/pixmap-render-surface-ecore-x.cpp
dali/internal/window-system/ubuntu-x11/pixmap-render-surface-ecore-x.h
dali/internal/window-system/ubuntu-x11/window-render-surface-ecore-x.cpp
dali/internal/window-system/ubuntu-x11/window-render-surface-ecore-x.h

diff --git a/automated-tests/src/dali-adaptor/dali-test-suite-utils/test-gl-abstraction.cpp b/automated-tests/src/dali-adaptor/dali-test-suite-utils/test-gl-abstraction.cpp
deleted file mode 100644 (file)
index 02439bc..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "test-gl-abstraction.h"
-
-namespace Dali
-{
-
-TestGlAbstraction::TestGlAbstraction()
-{
-  Initialize();
-}
-
-TestGlAbstraction::~TestGlAbstraction() {}
-
-void TestGlAbstraction::Initialize()
-{
-  mCurrentProgram = 0;
-  mCompileStatus = GL_TRUE;
-  mLinkStatus = GL_TRUE;
-  mNumberOfActiveUniforms = 0;
-  mGetAttribLocationResult = 0;
-  mGetErrorResult = 0;
-  mGetStringResult = NULL;
-  mIsBufferResult = 0;
-  mIsEnabledResult = 0;
-  mIsFramebufferResult = 0;
-  mIsProgramResult = 0;
-  mIsRenderbufferResult = 0;
-  mIsShaderResult = 0;
-  mIsTextureResult = 0;
-  mActiveTextureUnit = 0;
-  mCheckFramebufferStatusResult = 0;
-  mFramebufferStatus = 0;
-  mFramebufferColorAttached = 0;
-  mFramebufferDepthAttached = 0;
-  mFramebufferStencilAttached = 0;
-  mNumBinaryFormats = 0;
-  mBinaryFormats = 0;
-  mProgramBinaryLength = 0;
-
-  mVertexAttribArrayChanged = false;
-  mGetProgramBinaryCalled = false;
-
-  mLastShaderCompiled = 0;
-  mLastClearBitMask = 0;
-  mClearCount = 0;
-
-  mLastBlendEquationRgb   = 0;
-  mLastBlendEquationAlpha = 0;
-  mLastBlendFuncSrcRgb    = 0;
-  mLastBlendFuncDstRgb    = 0;
-  mLastBlendFuncSrcAlpha  = 0;
-  mLastBlendFuncDstAlpha  = 0;
-  mLastAutoTextureIdUsed = 0;
-  mNumGeneratedTextures = 0;
-  mLastShaderIdUsed = 0;
-  mLastProgramIdUsed = 0;
-  mLastUniformIdUsed = 0;
-  mLastDepthMask = false;
-
-  mUniforms.clear();
-  mProgramUniforms1i.clear();
-  mProgramUniforms1f.clear();
-  mProgramUniforms2f.clear();
-  mProgramUniforms3f.clear();
-  mProgramUniforms4f.clear();
-
-  mCullFaceTrace.Reset();
-  mDepthFunctionTrace.Reset();
-  mEnableDisableTrace.Reset();
-  mShaderTrace.Reset();
-  mStencilFunctionTrace.Reset();
-  mScissorTrace.Reset();
-  mTextureTrace.Reset();
-  mTexParamaterTrace.Reset();
-  mDrawTrace.Reset();
-
-  for( unsigned int i=0; i<MAX_ATTRIBUTE_CACHE_SIZE; ++i )
-  {
-    mVertexAttribArrayState[i] = false;
-  }
-}
-
-void TestGlAbstraction::PreRender()
-{
-}
-
-void TestGlAbstraction::PostRender()
-{
-}
-
-} // Namespace dali
-
-bool BlendEnabled(const Dali::TraceCallStack& callStack)
-{
-  std::stringstream out;
-  out << GL_BLEND;
-  bool blendEnabled = callStack.FindMethodAndParams( "Enable", out.str() );
-  return blendEnabled;
-}
-
-bool BlendDisabled(const Dali::TraceCallStack& callStack)
-{
-  std::stringstream out;
-  out << GL_BLEND;
-  bool blendEnabled = callStack.FindMethodAndParams( "Disable", out.str() );
-  return blendEnabled;
-}
diff --git a/automated-tests/src/dali-adaptor/dali-test-suite-utils/test-gl-abstraction.h b/automated-tests/src/dali-adaptor/dali-test-suite-utils/test-gl-abstraction.h
deleted file mode 100644 (file)
index c68573b..0000000
+++ /dev/null
@@ -1,2386 +0,0 @@
-#ifndef TEST_GL_ABSTRACTION_H
-#define TEST_GL_ABSTRACTION_H
-
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// EXTERNAL INCLUDES
-#include <sstream>
-#include <string>
-#include <cstring>
-#include <map>
-#include <cstdio>
-#include <cstring> // for strcmp
-#include <typeinfo>
-
-// INTERNAL INCLUDES
-#include <dali/public-api/dali-core.h>
-#include <dali/integration-api/core.h>
-#include <dali/integration-api/gl-abstraction.h>
-#include <dali/integration-api/gl-defines.h>
-#include <test-trace-call-stack.h>
-#include <test-compare-types.h>
-
-namespace Dali
-{
-
-static const unsigned int MAX_ATTRIBUTE_CACHE_SIZE = 64;
-static const char *mStdAttribs[MAX_ATTRIBUTE_CACHE_SIZE] =
-{
-    "aPosition",    // ATTRIB_POSITION
-    "aNormal",      // ATTRIB_NORMAL
-    "aTexCoord",    // ATTRIB_TEXCOORD
-    "aColor",       // ATTRIB_COLOR
-    "aBoneWeights", // ATTRIB_BONE_WEIGHTS
-    "aBoneIndices"  // ATTRIB_BONE_INDICES
-};
-
-class DALI_CORE_API TestGlAbstraction: public Dali::Integration::GlAbstraction
-{
-public:
-  TestGlAbstraction();
-  ~TestGlAbstraction();
-  void Initialize();
-
-  void PreRender();
-  void PostRender();
-
-  /* OpenGL ES 2.0 */
-
-  inline void ActiveTexture( GLenum textureUnit )
-  {
-    mActiveTextureUnit = textureUnit - GL_TEXTURE0;
-  }
-
-  inline GLenum GetActiveTextureUnit() const
-  {
-    return mActiveTextureUnit + GL_TEXTURE0;
-  }
-
-  inline void AttachShader( GLuint program, GLuint shader )
-  {
-    std::stringstream out;
-    out << program << ", " << shader;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["program"] = ToString(program);
-    namedParams["shader"] = ToString(shader);
-    mShaderTrace.PushCall("AttachShader", out.str(), namedParams);
-  }
-
-  inline void BindAttribLocation( GLuint program, GLuint index, const char* name )
-  {
-  }
-
-  inline void BindBuffer( GLenum target, GLuint buffer )
-  {
-  }
-
-  inline void BindFramebuffer( GLenum target, GLuint framebuffer )
-  {
-    //Add 010 bit;
-    mFramebufferStatus |= 2;
-  }
-
-  inline void BindRenderbuffer( GLenum target, GLuint renderbuffer )
-  {
-  }
-
-  /**
-   * This method can be used by test cases, to query the texture IDs that have been bound by BindTexture.
-   * @return A vector containing the IDs that were bound.
-   */
-  inline const std::vector<GLuint>& GetBoundTextures() const
-  {
-    return mBoundTextures;
-  }
-
-  /**
-   * Query the texture IDs that have been bound with BindTexture, with a specific active texture unit.
-   * @param[in] activeTextureUnit The specific active texture unit.
-   * @return A vector containing the IDs that were bound.
-   */
-  inline const std::vector<GLuint>& GetBoundTextures( GLuint activeTextureUnit ) const
-  {
-    return mActiveTextures[ activeTextureUnit - GL_TEXTURE0 ].mBoundTextures;
-  }
-
-  /**
-   * This method can be used by test cases, to clear the record of texture IDs that have been bound by BindTexture.
-   */
-  inline void ClearBoundTextures()
-  {
-    mBoundTextures.clear();
-
-    for( unsigned int i=0; i<MIN_TEXTURE_UNIT_LIMIT; ++i )
-    {
-      mActiveTextures[ i ].mBoundTextures.clear();
-    }
-  }
-
-  inline void BindTexture( GLenum target, GLuint texture )
-  {
-    // Record the bound textures for future checks
-    if( texture )
-    {
-      mBoundTextures.push_back( texture );
-
-      if( mActiveTextureUnit < MIN_TEXTURE_UNIT_LIMIT )
-      {
-        mActiveTextures[ mActiveTextureUnit ].mBoundTextures.push_back( texture );
-      }
-    }
-
-    std::stringstream out;
-    out << target << ", " << texture;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["target"] = ToString(target);
-    namedParams["texture"] = ToString(texture);
-
-    mTextureTrace.PushCall("BindTexture", out.str(), namedParams);
-  }
-
-  inline void BlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
-  {
-    mLastBlendColor.r = red;
-    mLastBlendColor.g = green;
-    mLastBlendColor.b = blue;
-    mLastBlendColor.a = alpha;
-  }
-
-  inline const Vector4& GetLastBlendColor() const
-  {
-    return mLastBlendColor;
-  }
-
-  inline void BlendEquation( GLenum mode )
-  {
-    mLastBlendEquationRgb   = mode;
-    mLastBlendEquationAlpha = mode;
-  }
-
-  inline void BlendEquationSeparate( GLenum modeRgb, GLenum modeAlpha )
-  {
-    mLastBlendEquationRgb   = modeRgb;
-    mLastBlendEquationAlpha = modeAlpha;
-  }
-
-  inline GLenum GetLastBlendEquationRgb() const
-  {
-    return mLastBlendEquationRgb;
-  }
-
-  inline GLenum GetLastBlendEquationAlpha() const
-  {
-    return mLastBlendEquationAlpha;
-  }
-
-  inline void BlendFunc(GLenum sfactor, GLenum dfactor)
-  {
-    mLastBlendFuncSrcRgb = sfactor;
-    mLastBlendFuncDstRgb = dfactor;
-    mLastBlendFuncSrcAlpha = sfactor;
-    mLastBlendFuncDstAlpha = dfactor;
-  }
-
-  inline void BlendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
-  {
-    mLastBlendFuncSrcRgb = srcRGB;
-    mLastBlendFuncDstRgb = dstRGB;
-    mLastBlendFuncSrcAlpha = srcAlpha;
-    mLastBlendFuncDstAlpha = dstAlpha;
-  }
-
-  inline GLenum GetLastBlendFuncSrcRgb() const
-  {
-    return mLastBlendFuncSrcRgb;
-  }
-
-  inline GLenum GetLastBlendFuncDstRgb() const
-  {
-    return mLastBlendFuncDstRgb;
-  }
-
-  inline GLenum GetLastBlendFuncSrcAlpha() const
-  {
-    return mLastBlendFuncSrcAlpha;
-  }
-
-  inline GLenum GetLastBlendFuncDstAlpha() const
-  {
-    return mLastBlendFuncDstAlpha;
-  }
-
-  inline void BufferData(GLenum target, GLsizeiptr size, const void* data, GLenum usage)
-  {
-     mBufferDataCalls.push_back(size);
-  }
-
-  inline void BufferSubData(GLenum target, GLintptr offset, GLsizeiptr size, const void* data)
-  {
-     mBufferSubDataCalls.push_back(size);
-  }
-
-  inline GLenum CheckFramebufferStatus(GLenum target)
-  {
-    //If it has the three last bits set to 1 - 111, then the three minimum functions to create a
-    //Framebuffer texture have been called
-    if( mFramebufferStatus == 7 )
-    {
-      return GL_FRAMEBUFFER_COMPLETE;
-    }
-
-    return mCheckFramebufferStatusResult;
-  }
-
-  inline GLenum CheckFramebufferColorAttachment()
-  {
-    return mFramebufferColorAttached;
-  }
-
-  inline GLenum CheckFramebufferDepthAttachment()
-  {
-    return mFramebufferDepthAttached;
-  }
-
-  inline GLenum CheckFramebufferStencilAttachment()
-  {
-    return mFramebufferStencilAttached;
-  }
-
-  inline void Clear(GLbitfield mask)
-  {
-    mClearCount++;
-    mLastClearBitMask = mask;
-  }
-
-  inline void ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
-  {
-  }
-
-  inline void ClearDepthf(GLclampf depth)
-  {
-  }
-
-  inline void ClearStencil(GLint s)
-  {
-    std::stringstream out;
-    out << s;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["s"] = ToString( s );
-
-    mStencilFunctionTrace.PushCall( "ClearStencil", out.str(), namedParams );
-  }
-
-  inline void ColorMask(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
-  {
-    mColorMaskParams.red = red;
-    mColorMaskParams.green = green;
-    mColorMaskParams.blue = blue;
-    mColorMaskParams.alpha = alpha;
-  }
-
-  inline void CompileShader(GLuint shader)
-  {
-    std::stringstream out;
-    out << shader;
-    TraceCallStack::NamedParams namedParams;
-    namedParams["shader"] = ToString(shader);
-
-    mShaderTrace.PushCall("CompileShader", out.str(), namedParams);
-  }
-
-  inline void CompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data)
-  {
-    std::stringstream out;
-    out << target<<", "<<level<<", "<<width << ", " << height;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["target"] = ToString(target);
-    namedParams["level"] = ToString(level);
-    namedParams["internalformat"] = ToString(internalformat);
-    namedParams["width"] = ToString(width);
-    namedParams["height"] = ToString(height);
-    namedParams["border"] = ToString(border);
-    namedParams["size"] = ToString(imageSize);
-
-    mTextureTrace.PushCall("CompressedTexImage2D", out.str(), namedParams);
-  }
-
-  inline void CompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data)
-  {
-    std::stringstream out;
-    out << target << ", "<<level <<", " << xoffset << ", " << yoffset << ", " << width << ", " << height;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["target"] = ToString(target);
-    namedParams["level"] = ToString(level);
-    namedParams["xoffset"] = ToString(xoffset);
-    namedParams["yoffset"] = ToString(yoffset);
-    namedParams["width"] = ToString(width);
-    namedParams["height"] = ToString(height);
-    mTextureTrace.PushCall("CompressedTexSubImage2D", out.str(), namedParams);
-  }
-
-  inline void CopyTexImage2D(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
-  {
-  }
-
-  inline void CopyTexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
-  {
-  }
-
-  inline GLuint CreateProgram(void)
-  {
-    mShaderTrace.PushCall("CreateProgram", "");
-
-    ++mLastProgramIdUsed;
-    mUniforms[mLastProgramIdUsed] = UniformIDMap();
-    return mLastProgramIdUsed;
-  }
-
-  inline GLuint CreateShader(GLenum type)
-  {
-    std::stringstream out;
-    out << type;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["type"] = ToString(type);
-    mShaderTrace.PushCall("CreateShader", out.str(), namedParams);
-
-    return ++mLastShaderIdUsed;
-  }
-
-  inline void CullFace(GLenum mode)
-  {
-    std::stringstream out;
-    out << mode;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["program"] = ToString(mode);
-
-    mCullFaceTrace.PushCall("CullFace", out.str(), namedParams);
-  }
-
-  inline void DeleteBuffers(GLsizei n, const GLuint* buffers)
-  {
-  }
-
-  inline void DeleteFramebuffers(GLsizei n, const GLuint* framebuffers)
-  {
-  }
-
-  inline void DeleteProgram(GLuint program)
-  {
-    std::stringstream out;
-    out << program;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["program"] = ToString(program);
-
-    mShaderTrace.PushCall("DeleteProgram", out.str(), namedParams);
-  }
-
-  inline void DeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers)
-  {
-  }
-
-  inline void DeleteShader(GLuint shader)
-  {
-    std::stringstream out;
-    out << shader;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["shader"] = ToString(shader);
-
-    mShaderTrace.PushCall("DeleteShader", out.str(), namedParams);
-  }
-
-  inline void DeleteTextures(GLsizei n, const GLuint* textures)
-  {
-    std::stringstream out;
-    out << n << ", " << textures << " = [";
-
-    TraceCallStack::NamedParams namedParams;
-
-    for(GLsizei i=0; i<n; i++)
-    {
-      out << textures[i] << ", ";
-      std::stringstream paramName;
-      paramName<<"texture["<<i<<"]";
-      namedParams[paramName.str()] = ToString(textures[i]);
-      mDeletedTextureIds.push_back(textures[i]);
-      mNumGeneratedTextures--;
-    }
-    out << "]";
-
-    mTextureTrace.PushCall("DeleteTextures", out.str(), namedParams);
-  }
-
-  inline bool CheckNoTexturesDeleted()
-  {
-    return mDeletedTextureIds.size() == 0;
-  }
-
-  inline bool CheckTextureDeleted( GLuint textureId )
-  {
-    bool found = false;
-
-    for(std::vector<GLuint>::iterator iter=mDeletedTextureIds.begin(); iter != mDeletedTextureIds.end(); ++iter)
-    {
-      if(*iter == textureId)
-      {
-        found = true;
-        break;
-      }
-    }
-    return found;
-  }
-
-  inline void ClearDeletedTextures()
-  {
-    mDeletedTextureIds.clear();
-  }
-
-  inline void DepthFunc(GLenum func)
-  {
-    std::stringstream out;
-    out << func;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["func"] = ToString(func);
-
-    mDepthFunctionTrace.PushCall("DepthFunc", out.str(), namedParams);
-  }
-
-  inline void DepthMask(GLboolean flag)
-  {
-    mLastDepthMask = flag;
-  }
-
-  inline bool GetLastDepthMask() const
-  {
-    return mLastDepthMask;
-  }
-
-  inline void DepthRangef(GLclampf zNear, GLclampf zFar)
-  {
-  }
-
-  inline void DetachShader(GLuint program, GLuint shader)
-  {
-    std::stringstream out;
-    out << program << ", " << shader;
-    TraceCallStack::NamedParams namedParams;
-    namedParams["program"] = ToString(program);
-    namedParams["shader"] = ToString(shader);
-    mShaderTrace.PushCall("DetachShader", out.str(), namedParams);
-  }
-
-  inline void Disable(GLenum cap)
-  {
-    std::stringstream out;
-    out << cap;
-    TraceCallStack::NamedParams namedParams;
-    namedParams["cap"] = ToString(cap);
-    mEnableDisableTrace.PushCall("Disable", out.str(), namedParams);
-  }
-
-  inline void DisableVertexAttribArray(GLuint index)
-  {
-    SetVertexAttribArray( index, false );
-  }
-
-  inline void DrawArrays(GLenum mode, GLint first, GLsizei count)
-  {
-    std::stringstream out;
-    out << mode << ", " << first << ", " << count;
-    TraceCallStack::NamedParams namedParams;
-    namedParams["mode"] = ToString(mode);
-    namedParams["first"] = ToString(first);
-    namedParams["count"] = ToString(count);
-    mDrawTrace.PushCall("DrawArrays", out.str(), namedParams);
-  }
-
-  inline void DrawElements(GLenum mode, GLsizei count, GLenum type, const void* indices)
-  {
-    std::stringstream out;
-    out << mode << ", " << count << ", " << type << ", indices";
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["mode"] = ToString(mode);
-    namedParams["count"] = ToString(count);
-    namedParams["type"] = ToString(type);
-    // Skip void pointers - are they of any use?
-    mDrawTrace.PushCall("DrawElements", out.str(), namedParams);
-  }
-
-  inline void Enable(GLenum cap)
-  {
-    std::stringstream out;
-    out << cap;
-    TraceCallStack::NamedParams namedParams;
-    namedParams["cap"] = ToString(cap);
-    mEnableDisableTrace.PushCall("Enable", out.str(), namedParams);
-  }
-
-  inline void EnableVertexAttribArray(GLuint index)
-  {
-    SetVertexAttribArray( index, true);
-  }
-
-  inline void Finish(void)
-  {
-  }
-
-  inline void Flush(void)
-  {
-  }
-
-  inline void FramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
-  {
-    if (attachment == GL_DEPTH_ATTACHMENT)
-    {
-      mFramebufferDepthAttached = true;
-    }
-    else if (attachment == GL_STENCIL_ATTACHMENT)
-    {
-      mFramebufferStencilAttached = true;
-    }
-  }
-
-  inline void FramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
-  {
-    //Add 100 bit;
-    mFramebufferStatus |= 4;
-
-    //We check 4 attachment colors
-    if ((attachment == GL_COLOR_ATTACHMENT0) || (attachment == GL_COLOR_ATTACHMENT1) || (attachment == GL_COLOR_ATTACHMENT2)  || (attachment == GL_COLOR_ATTACHMENT4))
-    {
-      mFramebufferColorAttached = true;
-    }
-  }
-
-  inline void FrontFace(GLenum mode)
-  {
-  }
-
-  inline void GenBuffers(GLsizei n, GLuint* buffers)
-  {
-    // avoids an assert in GpuBuffers
-    *buffers = 1u;
-  }
-
-  inline void GenerateMipmap(GLenum target)
-  {
-    std::stringstream out;
-    out<<target;
-    TraceCallStack::NamedParams namedParams;
-    namedParams["target"] = ToString(target);
-
-    mTextureTrace.PushCall("GenerateMipmap", out.str(), namedParams);
-  }
-
-  inline void GenFramebuffers(GLsizei n, GLuint* framebuffers)
-  {
-    for( int i = 0; i < n; i++ )
-    {
-      framebuffers[i] = i + 1;
-    }
-
-    //Add 001 bit, this function needs to be called the first one in the chain
-    mFramebufferStatus = 1;
-  }
-
-  inline void GenRenderbuffers(GLsizei n, GLuint* renderbuffers)
-  {
-    for( int i = 0; i < n; i++ )
-    {
-      renderbuffers[i] = i + 1;
-    }
-  }
-
-  /**
-   * This method can be used by test cases, to manipulate the texture IDs generated by GenTextures.
-   * @param[in] ids A vector containing the next IDs to be generated
-   */
-  inline void SetNextTextureIds( const std::vector<GLuint>& ids )
-  {
-    mNextTextureIds = ids;
-  }
-
-  inline const std::vector<GLuint>& GetNextTextureIds()
-  {
-    return mNextTextureIds;
-  }
-
-  inline void GenTextures(GLsizei count, GLuint* textures)
-  {
-    for( int i=0; i<count; ++i )
-    {
-      if( !mNextTextureIds.empty() )
-      {
-        *(textures+i) = mNextTextureIds[0];
-        mNextTextureIds.erase( mNextTextureIds.begin() );
-      }
-      else
-      {
-        *(textures+i) = ++mLastAutoTextureIdUsed;
-      }
-      mNumGeneratedTextures++;
-    }
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["count"] = ToString(count);
-
-    std::stringstream out;
-    for(int i=0; i<count; i++)
-    {
-      out << textures[i];
-      if(i<count-1)
-      {
-        out << ", ";
-      }
-      std::ostringstream oss;
-      oss<<"indices["<<i<<"]";
-      namedParams[oss.str()] = ToString(textures[i]);
-    }
-
-    mTextureTrace.PushCall("GenTextures", out.str(), namedParams);
-  }
-
-  inline GLuint GetLastGenTextureId()
-  {
-    return mLastAutoTextureIdUsed;
-  }
-  inline GLuint GetNumGeneratedTextures()
-  {
-    return mNumGeneratedTextures;
-  }
-
-  inline void GetActiveAttrib(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)
-  {
-  }
-
-  inline void GetActiveUniform(GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)
-  {
-    switch(index)
-    {
-      case 0:
-        *length = snprintf(name, bufsize, "sTexture");
-        *type = GL_SAMPLER_2D;
-        *size = 1;
-        break;
-      case 1:
-        *length = snprintf(name, bufsize, "sEffect");
-        *type = GL_SAMPLER_2D;
-        *size = 1;
-        break;
-      case 2:
-        *length = snprintf(name, bufsize, "sGloss");
-        *type = GL_SAMPLER_2D;
-        *size = 1;
-        break;
-      default:
-        break;
-    }
-  }
-
-  inline void GetAttachedShaders(GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)
-  {
-  }
-
-  inline int  GetAttribLocation(GLuint program, const char* name)
-  {
-    std::string attribName(name);
-
-    for( unsigned int i = 0; i < ATTRIB_TYPE_LAST; ++i )
-    {
-      if( mStdAttribs[i] == attribName )
-      {
-        return i;
-      }
-    }
-
-    // 0 is a valid location
-    return 0;
-  }
-
-  inline void GetBooleanv(GLenum pname, GLboolean* params)
-  {
-  }
-
-  inline void GetBufferParameteriv(GLenum target, GLenum pname, GLint* params)
-  {
-  }
-
-  inline GLenum GetError(void)
-  {
-    return mGetErrorResult;
-  }
-
-  inline void GetFloatv(GLenum pname, GLfloat* params)
-  {
-  }
-
-  inline void GetFramebufferAttachmentParameteriv(GLenum target, GLenum attachment, GLenum pname, GLint* params)
-  {
-  }
-
-  inline void GetIntegerv(GLenum pname, GLint* params)
-  {
-    switch( pname )
-    {
-      case GL_MAX_TEXTURE_SIZE:
-        *params = 2048;
-        break;
-      case GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS:
-        *params = 8;
-        break;
-      case GL_NUM_PROGRAM_BINARY_FORMATS_OES:
-        *params = mNumBinaryFormats;
-        break;
-      case GL_PROGRAM_BINARY_FORMATS_OES:
-        *params = mBinaryFormats;
-        break;
-    }
-  }
-
-  inline void GetProgramiv(GLuint program, GLenum pname, GLint* params)
-  {
-    switch( pname )
-    {
-      case GL_LINK_STATUS:
-        *params = mLinkStatus;
-        break;
-      case GL_PROGRAM_BINARY_LENGTH_OES:
-        *params = mProgramBinaryLength;
-        break;
-      case GL_ACTIVE_UNIFORMS:
-        *params = mNumberOfActiveUniforms;
-        break;
-      case GL_ACTIVE_UNIFORM_MAX_LENGTH:
-        *params = 100;
-        break;
-    }
-  }
-
-  inline void GetProgramInfoLog(GLuint program, GLsizei bufsize, GLsizei* length, char* infolog)
-  {
-  }
-
-  inline void GetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params)
-  {
-  }
-
-  inline void GetShaderiv(GLuint shader, GLenum pname, GLint* params)
-  {
-    switch( pname ) {
-      case GL_COMPILE_STATUS:
-        *params = mCompileStatus;
-        break;
-    }
-  }
-
-  inline void GetShaderInfoLog(GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog)
-  {
-  }
-
-  inline void GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)
-  {
-  }
-
-  inline const GLubyte* GetString(GLenum name)
-  {
-    return mGetStringResult;
-  }
-
-  inline void GetTexParameterfv(GLenum target, GLenum pname, GLfloat* params)
-  {
-  }
-
-  inline void GetTexParameteriv(GLenum target, GLenum pname, GLint* params)
-  {
-  }
-
-  inline void GetUniformfv(GLuint program, GLint location, GLfloat* params)
-  {
-  }
-
-  inline void GetUniformiv(GLuint program, GLint location, GLint* params)
-  {
-  }
-
-  inline GLint GetUniformLocation(GLuint program, const char* name)
-  {
-    ProgramUniformMap::iterator it = mUniforms.find(program);
-    if( it == mUniforms.end() )
-    {
-      // Not a valid program ID
-      mGetErrorResult = GL_INVALID_OPERATION;
-      return -1;
-    }
-
-    UniformIDMap& uniformIDs = it->second;
-    UniformIDMap::iterator it2 = uniformIDs.find( name );
-    if( it2 == uniformIDs.end() )
-    {
-      // Uniform not found, so add it...
-      uniformIDs[name] = ++mLastUniformIdUsed;
-      return mLastUniformIdUsed;
-    }
-
-    return it2->second;
-  }
-
-  inline void GetVertexAttribfv(GLuint index, GLenum pname, GLfloat* params)
-  {
-  }
-
-  inline void GetVertexAttribiv(GLuint index, GLenum pname, GLint* params)
-  {
-  }
-
-  inline void GetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer)
-  {
-  }
-
-  inline void Hint(GLenum target, GLenum mode)
-  {
-  }
-
-  inline GLboolean IsBuffer(GLuint buffer)
-  {
-    return mIsBufferResult;
-  }
-
-  inline GLboolean IsEnabled(GLenum cap)
-  {
-    return mIsEnabledResult;
-  }
-
-  inline GLboolean IsFramebuffer(GLuint framebuffer)
-  {
-    return mIsFramebufferResult;
-  }
-
-  inline GLboolean IsProgram(GLuint program)
-  {
-    return mIsProgramResult;
-  }
-
-  inline GLboolean IsRenderbuffer(GLuint renderbuffer)
-  {
-    return mIsRenderbufferResult;
-  }
-
-  inline GLboolean IsShader(GLuint shader)
-  {
-    return mIsShaderResult;
-  }
-
-  inline GLboolean IsTexture(GLuint texture)
-  {
-    return mIsTextureResult;
-  }
-
-  inline void LineWidth(GLfloat width)
-  {
-  }
-
-  inline void LinkProgram(GLuint program)
-  {
-    std::stringstream out;
-    out << program;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["program"] = ToString(program);
-    mShaderTrace.PushCall("LinkProgram", out.str(), namedParams);
-
-    mNumberOfActiveUniforms=3;
-    GetUniformLocation(program, "sTexture");
-    GetUniformLocation(program, "sEffect");
-    GetUniformLocation(program, "sGloss");
-  }
-
-  inline void PixelStorei(GLenum pname, GLint param)
-  {
-  }
-
-  inline void PolygonOffset(GLfloat factor, GLfloat units)
-  {
-  }
-
-  inline void ReadPixels(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void* pixels)
-  {
-  }
-
-  inline void ReleaseShaderCompiler(void)
-  {
-  }
-
-  inline void RenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
-  {
-  }
-
-  inline void SampleCoverage(GLclampf value, GLboolean invert)
-  {
-  }
-
-  inline void Scissor(GLint x, GLint y, GLsizei width, GLsizei height)
-  {
-    mScissorParams.x = x;
-    mScissorParams.y = y;
-    mScissorParams.width = width;
-    mScissorParams.height = height;
-
-    std::stringstream out;
-    out << x << ", " << y << ", " << width << ", " << height;
-    TraceCallStack::NamedParams namedParams;
-    namedParams["x"] = ToString( x );
-    namedParams["y"] = ToString( y );
-    namedParams["width"] = ToString( width );
-    namedParams["height"] = ToString( height );
-    mScissorTrace.PushCall( "Scissor", out.str(), namedParams );
-  }
-
-  inline void ShaderBinary(GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLsizei length)
-  {
-  }
-
-  inline void ShaderSource(GLuint shader, GLsizei count, const char** string, const GLint* length)
-  {
-    std::string stringBuilder;
-    for(int i = 0; i < count; ++i)
-    {
-      stringBuilder += string[i];
-    }
-    mShaderSources[shader] = stringBuilder;
-    mLastShaderCompiled = shader;
-  }
-
-  inline void GetShaderSource(GLuint shader, GLsizei bufsize, GLsizei* length, char* source)
-  {
-    const std::string shaderSource = mShaderSources[shader];
-    const int shaderSourceLength = static_cast<int>(shaderSource.length());
-    if( shaderSourceLength < bufsize )
-    {
-      strncpy( source, shaderSource.c_str(), shaderSourceLength );
-      *length = shaderSourceLength;
-    }
-    else
-    {
-      *length = bufsize -1;
-      strncpy(source, shaderSource.c_str(), *length);
-      source[*length] = 0x0;
-    }
-  }
-
-  inline std::string GetShaderSource(GLuint shader)
-  {
-    return mShaderSources[shader];
-  }
-
-  inline void StencilFunc(GLenum func, GLint ref, GLuint mask)
-  {
-    std::stringstream out;
-    out << func << ", " << ref << ", " << mask;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["func"] = ToString( func );
-    namedParams["ref"] = ToString( ref );
-    namedParams["mask"] = ToString( mask );
-
-    mStencilFunctionTrace.PushCall( "StencilFunc", out.str(), namedParams );
-  }
-
-  inline void StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)
-  {
-    std::stringstream out;
-    out << face << ", " << func << ", " << ref << ", " << mask;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["face"] = ToString( face );
-    namedParams["func"] = ToString( func );
-    namedParams["ref"] = ToString( ref );
-    namedParams["mask"] = ToString( mask );
-
-    mStencilFunctionTrace.PushCall( "StencilFuncSeparate", out.str(), namedParams );
-  }
-
-  inline void StencilMask(GLuint mask)
-  {
-    std::stringstream out;
-    out << mask;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["mask"] = ToString( mask );
-
-    mStencilFunctionTrace.PushCall( "StencilMask", out.str(), namedParams );
-  }
-
-  inline void StencilMaskSeparate(GLenum face, GLuint mask)
-  {
-    std::stringstream out;
-    out << face << ", " << mask;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["face"] = ToString( face );
-    namedParams["mask"] = ToString( mask );
-
-    mStencilFunctionTrace.PushCall( "StencilMaskSeparate", out.str(), namedParams );
-  }
-
-  inline void StencilOp(GLenum fail, GLenum zfail, GLenum zpass)
-  {
-    std::stringstream out;
-    out << fail << ", " << zfail << ", " << zpass;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["fail"] = ToString( fail );
-    namedParams["zfail"] = ToString( zfail );
-    namedParams["zpass"] = ToString( zpass );
-
-    mStencilFunctionTrace.PushCall( "StencilOp", out.str(), namedParams );
-  }
-
-  inline void StencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
-  {
-    std::stringstream out;
-    out << face << ", " << fail << ", " << zfail << "," << zpass;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["face"] = ToString( face );
-    namedParams["fail"] = ToString( fail );
-    namedParams["zfail"] = ToString( zfail );
-    namedParams["zpass"] = ToString( zpass );
-
-    mStencilFunctionTrace.PushCall( "StencilOpSeparate", out.str(), namedParams );
-  }
-
-  inline void TexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels)
-  {
-    std::stringstream out;
-    out << target<<", "<<level<<", "<<width << ", " << height;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["target"] = ToString(target);
-    namedParams["level"] = ToString(level);
-    namedParams["internalformat"] = ToString(internalformat);
-    namedParams["width"] = ToString(width);
-    namedParams["height"] = ToString(height);
-    namedParams["border"] = ToString(border);
-    namedParams["format"] = ToString(format);
-    namedParams["type"] = ToString(type);
-
-    mTextureTrace.PushCall("TexImage2D", out.str(), namedParams);
-  }
-
-  inline void TexParameterf(GLenum target, GLenum pname, GLfloat param)
-  {
-    std::stringstream out;
-    out << target << ", " << pname << ", " << param;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["target"] = ToString(target);
-    namedParams["pname"] = ToString(pname);
-    namedParams["param"] = ToString(param);
-
-    mTexParamaterTrace.PushCall("TexParameterf", out.str(), namedParams);
-  }
-
-  inline void TexParameterfv(GLenum target, GLenum pname, const GLfloat* params)
-  {
-    std::stringstream out;
-    out << target << ", " << pname << ", " << params[0];
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["target"] = ToString(target);
-    namedParams["pname"] = ToString(pname);
-    namedParams["params[0]"] = ToString(params[0]);
-
-    mTexParamaterTrace.PushCall("TexParameterfv", out.str(), namedParams);
-  }
-
-  inline void TexParameteri(GLenum target, GLenum pname, GLint param)
-  {
-    std::stringstream out;
-    out << target << ", " << pname << ", " << param;
-    TraceCallStack::NamedParams namedParams;
-    namedParams["target"] = ToString(target);
-    namedParams["pname"] = ToString(pname);
-    namedParams["param"] = ToString(param);
-    mTexParamaterTrace.PushCall("TexParameteri", out.str(), namedParams);
-  }
-
-  inline void TexParameteriv(GLenum target, GLenum pname, const GLint* params)
-  {
-    std::stringstream out;
-    out << target << ", " << pname << ", " << params[0];
-    TraceCallStack::NamedParams namedParams;
-    namedParams["target"] = ToString(target);
-    namedParams["pname"] = ToString(pname);
-    namedParams["params[0]"] = ToString(params[0]);
-    mTexParamaterTrace.PushCall("TexParameteriv", out.str(), namedParams);
-  }
-
-  inline void TexSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels)
-  {
-    std::stringstream out;
-    out << target << ", "<<level <<", " << xoffset << ", " << yoffset << ", " << width << ", " << height;
-
-    TraceCallStack::NamedParams namedParams;
-    namedParams["target"] = ToString(target);
-    namedParams["level"] = ToString(level);
-    namedParams["xoffset"] = ToString(xoffset);
-    namedParams["yoffset"] = ToString(yoffset);
-    namedParams["width"] = ToString(width);
-    namedParams["height"] = ToString(height);
-    mTextureTrace.PushCall("TexSubImage2D", out.str(), namedParams);
-  }
-
-  inline void Uniform1f(GLint location, GLfloat value )
-  {
-    std::string params = ToString( value );
-    AddUniformCallToTraceStack( location, params );
-
-    if( ! mProgramUniforms1f.SetUniformValue( mCurrentProgram, location, value ) )
-    {
-      mGetErrorResult = GL_INVALID_OPERATION;
-    }
-  }
-
-  inline void Uniform1fv(GLint location, GLsizei count, const GLfloat* v)
-  {
-    std::string params;
-    for( int i = 0; i < count; ++i )
-    {
-      params = params + ToString( v[i] ) + ",";
-    }
-
-    AddUniformCallToTraceStack( location, params );
-
-    for( int i = 0; i < count; ++i )
-    {
-      if( ! mProgramUniforms1f.SetUniformValue( mCurrentProgram, location, v[i] ) )
-      {
-        mGetErrorResult = GL_INVALID_OPERATION;
-        break;
-      }
-    }
-  }
-
-  inline void Uniform1i(GLint location, GLint x)
-  {
-    std::string params = ToString( x );
-
-    AddUniformCallToTraceStack( location,  params );
-
-    if( ! mProgramUniforms1i.SetUniformValue( mCurrentProgram, location, x ) )
-    {
-      mGetErrorResult = GL_INVALID_OPERATION;
-    }
-  }
-
-  inline void Uniform1iv(GLint location, GLsizei count, const GLint* v)
-  {
-    std::string params = ToString( v );
-    AddUniformCallToTraceStack( location, params );
-
-    for( int i = 0; i < count; ++i )
-    {
-      if( ! mProgramUniforms1i.SetUniformValue( mCurrentProgram,
-                                                 location,
-                                                 v[i] ) )
-      {
-        mGetErrorResult = GL_INVALID_OPERATION;
-        break;
-      }
-    }
-  }
-
-  inline void Uniform2f(GLint location, GLfloat x, GLfloat y)
-  {
-    std::string params = ToString( x ) + "," + ToString( y );
-    AddUniformCallToTraceStack( location, params );
-
-    if( ! mProgramUniforms2f.SetUniformValue( mCurrentProgram,
-                                               location,
-                                               Vector2( x, y ) ) )
-    {
-      mGetErrorResult = GL_INVALID_OPERATION;
-    }
-  }
-
-  inline void Uniform2fv(GLint location, GLsizei count, const GLfloat* v)
-  {
-    std::string params = ToString( v );
-    AddUniformCallToTraceStack( location, params );
-
-    for( int i = 0; i < count; ++i )
-    {
-      if( ! mProgramUniforms2f.SetUniformValue( mCurrentProgram,
-                                                 location,
-                                                 Vector2( v[2*i], v[2*i+1] ) ) )
-      {
-        mGetErrorResult = GL_INVALID_OPERATION;
-        break;
-      }
-    }
-  }
-
-  inline void Uniform2i(GLint location, GLint x, GLint y)
-  {
-    std::string params = ToString( x ) + "," + ToString( y );
-    AddUniformCallToTraceStack( location, params );
-  }
-
-  inline void Uniform2iv(GLint location, GLsizei count, const GLint* v)
-  {
-    std::string params = ToString( v );
-    AddUniformCallToTraceStack( location, params );
-  }
-
-  inline void Uniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z)
-  {
-    std::string params = ToString( x ) + "," + ToString( y ) + "," + ToString( z );
-    AddUniformCallToTraceStack( location, params );
-
-    if( ! mProgramUniforms3f.SetUniformValue( mCurrentProgram,
-                                               location,
-                                               Vector3( x, y, z ) ) )
-    {
-      mGetErrorResult = GL_INVALID_OPERATION;
-    }
-  }
-
-  inline void Uniform3fv(GLint location, GLsizei count, const GLfloat* v)
-  {
-    std::string params = ToString( v );
-    AddUniformCallToTraceStack( location, params );
-
-    for( int i = 0; i < count; ++i )
-    {
-      if( ! mProgramUniforms3f.SetUniformValue(
-          mCurrentProgram,
-          location,
-          Vector3( v[3*i], v[3*i+1], v[3*i+2] ) ) )
-      {
-        mGetErrorResult = GL_INVALID_OPERATION;
-        break;
-      }
-    }
-  }
-
-  inline void Uniform3i(GLint location, GLint x, GLint y, GLint z)
-  {
-    std::string params = ToString( x ) + "," + ToString( y ) + "," + ToString( z );
-    AddUniformCallToTraceStack( location, params );
-  }
-
-  inline void Uniform3iv(GLint location, GLsizei count, const GLint* v)
-  {
-    std::string params = ToString( v );
-    AddUniformCallToTraceStack( location, params );
-  }
-
-  inline void Uniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
-  {
-    std::string params = ToString( x ) + "," + ToString( y ) + "," + ToString( z ) + "," + ToString( w );
-    AddUniformCallToTraceStack( location, params );
-
-    if( ! mProgramUniforms4f.SetUniformValue( mCurrentProgram,
-                                              location,
-                                              Vector4( x, y, z, w ) ) )
-    {
-      mGetErrorResult = GL_INVALID_OPERATION;
-    }
-  }
-
-  inline void Uniform4fv(GLint location, GLsizei count, const GLfloat* v)
-  {
-    std::string params = ToString( v );
-    AddUniformCallToTraceStack( location, params );
-
-    for( int i = 0; i < count; ++i )
-    {
-      if( ! mProgramUniforms4f.SetUniformValue(
-          mCurrentProgram,
-          location,
-          Vector4( v[4*i], v[4*i+1], v[4*i+2], v[4*i+3] ) ) )
-      {
-        mGetErrorResult = GL_INVALID_OPERATION;
-        break;
-      }
-    }
-  }
-
-  inline void Uniform4i(GLint location, GLint x, GLint y, GLint z, GLint w)
-  {
-    std::string params = ToString( x ) + "," + ToString( y ) + "," + ToString( z ) + "," + ToString( w );
-    AddUniformCallToTraceStack( location, params );
-  }
-
-  inline void Uniform4iv(GLint location, GLsizei count, const GLint* v)
-  {
-    std::string params = ToString( v );
-    AddUniformCallToTraceStack( location, params );
-  }
-
-  inline void UniformMatrix2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-    std::string params = ToString( value );
-    AddUniformCallToTraceStack( location, params );
-  }
-
-  inline void UniformMatrix3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-    std::string params = ToString( value );
-    AddUniformCallToTraceStack( location, params );
-
-    for( int i = 0; i < count; ++i )
-    {
-      if( ! mProgramUniformsMat3.SetUniformValue(
-            mCurrentProgram,
-            location,
-            Matrix3( value[0], value[1], value[2], value[3], value[4], value[5], value[6], value[7], value[8] ) ) )
-      {
-        mGetErrorResult = GL_INVALID_OPERATION;
-        break;
-      }
-    }
-  }
-
-  inline void UniformMatrix4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-    std::string params = ToString( value );
-    AddUniformCallToTraceStack( location, params );
-
-    for( int i = 0; i < count; ++i )
-    {
-      if( ! mProgramUniformsMat4.SetUniformValue(
-          mCurrentProgram,
-          location,
-          Matrix( value ) ) )
-      {
-        mGetErrorResult = GL_INVALID_OPERATION;
-        break;
-      }
-    }
-  }
-
-  inline void UseProgram(GLuint program)
-  {
-    mCurrentProgram = program;
-  }
-
-  inline void ValidateProgram(GLuint program)
-  {
-  }
-
-  inline void VertexAttrib1f(GLuint indx, GLfloat x)
-  {
-  }
-
-  inline void VertexAttrib1fv(GLuint indx, const GLfloat* values)
-  {
-  }
-
-  inline void VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y)
-  {
-  }
-
-  inline void VertexAttrib2fv(GLuint indx, const GLfloat* values)
-  {
-  }
-
-  inline void VertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z)
-  {
-  }
-
-  inline void VertexAttrib3fv(GLuint indx, const GLfloat* values)
-  {
-  }
-
-  inline void VertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
-  {
-  }
-
-  inline void VertexAttrib4fv(GLuint indx, const GLfloat* values)
-  {
-  }
-
-  inline void VertexAttribPointer(GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr)
-  {
-  }
-
-  inline void Viewport(GLint x, GLint y, GLsizei width, GLsizei height)
-  {
-  }
-
-  /* OpenGL ES 3.0 */
-
-  inline void ReadBuffer(GLenum mode)
-  {
-  }
-
-  inline void DrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices)
-  {
-  }
-
-  inline void TexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels)
-  {
-  }
-
-  inline void TexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels)
-  {
-  }
-
-  inline void CopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
-  {
-  }
-
-  inline void CompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data)
-  {
-  }
-
-  inline void CompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data)
-  {
-  }
-
-  inline void GenQueries(GLsizei n, GLuint* ids)
-  {
-  }
-
-  inline void DeleteQueries(GLsizei n, const GLuint* ids)
-  {
-  }
-
-  inline GLboolean IsQuery(GLuint id)
-  {
-    return false;
-  }
-
-  inline void BeginQuery(GLenum target, GLuint id)
-  {
-  }
-
-  inline void EndQuery(GLenum target)
-  {
-  }
-
-  inline void GetQueryiv(GLenum target, GLenum pname, GLint* params)
-  {
-  }
-
-  inline void GetQueryObjectuiv(GLuint id, GLenum pname, GLuint* params)
-  {
-  }
-
-  inline GLboolean UnmapBuffer(GLenum target)
-  {
-    return false;
-  }
-
-  inline void GetBufferPointerv(GLenum target, GLenum pname, GLvoid** params)
-  {
-  }
-
-  inline void DrawBuffers(GLsizei n, const GLenum* bufs)
-  {
-  }
-
-  inline void UniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-  }
-
-  inline void UniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-  }
-
-  inline void UniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-  }
-
-  inline void UniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-  }
-
-  inline void UniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-  }
-
-  inline void UniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-  }
-
-  inline void BlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
-  {
-  }
-
-  inline void RenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
-  {
-  }
-
-  inline void FramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
-  {
-  }
-
-  inline GLvoid* MapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
-  {
-    return NULL;
-  }
-
-  inline void FlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
-  {
-  }
-
-  inline void BindVertexArray(GLuint array)
-  {
-  }
-
-  inline void DeleteVertexArrays(GLsizei n, const GLuint* arrays)
-  {
-  }
-
-  inline void GenVertexArrays(GLsizei n, GLuint* arrays)
-  {
-  }
-
-  inline GLboolean IsVertexArray(GLuint array)
-  {
-    return false;
-  }
-
-  inline void GetIntegeri_v(GLenum target, GLuint index, GLint* data)
-  {
-  }
-
-  inline void BeginTransformFeedback(GLenum primitiveMode)
-  {
-  }
-
-  inline void EndTransformFeedback(void)
-  {
-  }
-
-  inline void BindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
-  {
-  }
-
-  inline void BindBufferBase(GLenum target, GLuint index, GLuint buffer)
-  {
-  }
-
-  inline void TransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode)
-  {
-  }
-
-  inline void GetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name)
-  {
-  }
-
-  inline void VertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer)
-  {
-  }
-
-  inline void GetVertexAttribIiv(GLuint index, GLenum pname, GLint* params)
-  {
-  }
-
-  inline void GetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params)
-  {
-  }
-
-  inline void VertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w)
-  {
-  }
-
-  inline void VertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
-  {
-  }
-
-  inline void VertexAttribI4iv(GLuint index, const GLint* v)
-  {
-  }
-
-  inline void VertexAttribI4uiv(GLuint index, const GLuint* v)
-  {
-  }
-
-  inline void GetUniformuiv(GLuint program, GLint location, GLuint* params)
-  {
-  }
-
-  inline GLint GetFragDataLocation(GLuint program, const GLchar *name)
-  {
-    return -1;
-  }
-
-  inline void Uniform1ui(GLint location, GLuint v0)
-  {
-  }
-
-  inline void Uniform2ui(GLint location, GLuint v0, GLuint v1)
-  {
-  }
-
-  inline void Uniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
-  {
-  }
-
-  inline void Uniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
-  {
-  }
-
-  inline void Uniform1uiv(GLint location, GLsizei count, const GLuint* value)
-  {
-  }
-
-  inline void Uniform2uiv(GLint location, GLsizei count, const GLuint* value)
-  {
-  }
-
-  inline void Uniform3uiv(GLint location, GLsizei count, const GLuint* value)
-  {
-  }
-
-  inline void Uniform4uiv(GLint location, GLsizei count, const GLuint* value)
-  {
-  }
-
-  inline void ClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint* value)
-  {
-  }
-
-  inline void ClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint* value)
-  {
-  }
-
-  inline void ClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat* value)
-  {
-  }
-
-  inline void ClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
-  {
-  }
-
-  inline const GLubyte* GetStringi(GLenum name, GLuint index)
-  {
-    return NULL;
-  }
-
-  inline void CopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
-  {
-  }
-
-  inline void GetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const* uniformNames, GLuint* uniformIndices)
-  {
-  }
-
-  inline void GetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params)
-  {
-  }
-
-  inline GLuint GetUniformBlockIndex(GLuint program, const GLchar* uniformBlockName)
-  {
-    return GL_INVALID_INDEX;
-  }
-
-  inline void GetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params)
-  {
-  }
-
-  inline void GetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName)
-  {
-  }
-
-  inline void UniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
-  {
-  }
-
-  inline void DrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount)
-  {
-  }
-
-  inline void DrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei instanceCount)
-  {
-  }
-
-  inline GLsync FenceSync(GLenum condition, GLbitfield flags)
-  {
-    return NULL;
-  }
-
-  inline GLboolean IsSync(GLsync sync)
-  {
-    return false;
-  }
-
-  inline void DeleteSync(GLsync sync)
-  {
-  }
-
-  inline GLenum ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
-  {
-    return 0;
-  }
-
-  inline void WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
-  {
-  }
-
-  inline void GetInteger64v(GLenum pname, GLint64* params)
-  {
-  }
-
-  inline void GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values)
-  {
-  }
-
-  inline void GetInteger64i_v(GLenum target, GLuint index, GLint64* data)
-  {
-  }
-
-  inline void GetBufferParameteri64v(GLenum target, GLenum pname, GLint64* params)
-  {
-  }
-
-  inline void GenSamplers(GLsizei count, GLuint* samplers)
-  {
-  }
-
-  inline void DeleteSamplers(GLsizei count, const GLuint* samplers)
-  {
-  }
-
-  inline GLboolean IsSampler(GLuint sampler)
-  {
-    return false;
-  }
-
-  inline void BindSampler(GLuint unit, GLuint sampler)
-  {
-  }
-
-  inline void SamplerParameteri(GLuint sampler, GLenum pname, GLint param)
-  {
-  }
-
-  inline void SamplerParameteriv(GLuint sampler, GLenum pname, const GLint* param)
-  {
-  }
-
-  inline void SamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
-  {
-  }
-
-  inline void SamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat* param)
-  {
-  }
-
-  inline void GetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* params)
-  {
-  }
-
-  inline void GetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* params)
-  {
-  }
-
-  inline void VertexAttribDivisor(GLuint index, GLuint divisor)
-  {
-  }
-
-  inline void BindTransformFeedback(GLenum target, GLuint id)
-  {
-  }
-
-  inline void DeleteTransformFeedbacks(GLsizei n, const GLuint* ids)
-  {
-  }
-
-  inline void GenTransformFeedbacks(GLsizei n, GLuint* ids)
-  {
-  }
-
-  inline GLboolean IsTransformFeedback(GLuint id)
-  {
-    return false;
-  }
-
-  inline void PauseTransformFeedback(void)
-  {
-  }
-
-  inline void ResumeTransformFeedback(void)
-  {
-  }
-
-  inline void GetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary)
-  {
-    mGetProgramBinaryCalled = true;
-  }
-
-  inline void ProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid* binary, GLsizei length)
-  {
-  }
-
-  inline void ProgramParameteri(GLuint program, GLenum pname, GLint value)
-  {
-  }
-
-  inline void InvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments)
-  {
-  }
-
-  inline void InvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height)
-  {
-  }
-
-  inline void TexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
-  {
-  }
-
-  inline void TexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
-  {
-  }
-
-  inline void GetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params)
-  {
-  }
-
-private:
-
-  inline void AddUniformCallToTraceStack( GLint location, std::string& value )
-    {
-    std::string name = "<not found>";
-    bool matched = false;
-
-    UniformIDMap& map = mUniforms[mCurrentProgram];
-    for (UniformIDMap::iterator it=map.begin(); it!=map.end(); ++it)
-    {
-      if( it->second == location )
-      {
-        name = it->first;
-        matched = true;
-        break;
-      }
-    }
-
-    if ( matched )
-    {
-      mSetUniformTrace.PushCall( name, value );
-    }
-  }
-
-
-public: // TEST FUNCTIONS
-  inline void SetCompileStatus( GLuint value ) { mCompileStatus = value; }
-  inline void SetLinkStatus( GLuint value ) { mLinkStatus = value; }
-  inline void SetGetAttribLocationResult(  int result) { mGetAttribLocationResult = result; }
-  inline void SetGetErrorResult(  GLenum result) { mGetErrorResult = result; }
-  inline void SetGetStringResult(  GLubyte* result) { mGetStringResult = result; }
-  inline void SetIsBufferResult(  GLboolean result) { mIsBufferResult = result; }
-  inline void SetIsEnabledResult(  GLboolean result) { mIsEnabledResult = result; }
-  inline void SetIsFramebufferResult(  GLboolean result) { mIsFramebufferResult = result; }
-  inline void SetIsProgramResult(  GLboolean result) { mIsProgramResult = result; }
-  inline void SetIsRenderbufferResult(  GLboolean result) { mIsRenderbufferResult = result; }
-  inline void SetIsShaderResult(  GLboolean result) { mIsShaderResult = result; }
-  inline void SetIsTextureResult(  GLboolean result) { mIsTextureResult = result; }
-  inline void SetCheckFramebufferStatusResult(  GLenum result) { mCheckFramebufferStatusResult = result; }
-  inline void SetNumBinaryFormats( GLint numFormats ) { mNumBinaryFormats = numFormats; }
-  inline void SetBinaryFormats( GLint binaryFormats ) { mBinaryFormats = binaryFormats; }
-  inline void SetProgramBinaryLength( GLint length ) { mProgramBinaryLength = length; }
-
-  inline bool GetVertexAttribArrayState(GLuint index)
-  {
-    if( index >= MAX_ATTRIBUTE_CACHE_SIZE )
-    {
-      // out of range
-      return false;
-    }
-    return mVertexAttribArrayState[ index ];
-  }
-  inline void ClearVertexAttribArrayChanged() {  mVertexAttribArrayChanged = false; }
-  inline bool GetVertexAttribArrayChanged()  { return mVertexAttribArrayChanged; }
-
-  //Methods for CullFace verification
-  inline void EnableCullFaceCallTrace(bool enable) { mCullFaceTrace.Enable(enable); }
-  inline void ResetCullFaceCallStack() { mCullFaceTrace.Reset(); }
-  inline TraceCallStack& GetCullFaceTrace() { return mCullFaceTrace; }
-
-  //Methods for Enable/Disable call verification
-  inline void EnableEnableDisableCallTrace(bool enable) { mEnableDisableTrace.Enable(enable); }
-  inline void ResetEnableDisableCallStack() { mEnableDisableTrace.Reset(); }
-  inline TraceCallStack& GetEnableDisableTrace() { return mEnableDisableTrace; }
-
-  //Methods for Shader verification
-  inline void EnableShaderCallTrace(bool enable) { mShaderTrace.Enable(enable); }
-  inline void ResetShaderCallStack() { mShaderTrace.Reset(); }
-  inline TraceCallStack& GetShaderTrace() { return mShaderTrace; }
-
-  //Methods for Texture verification
-  inline void EnableTextureCallTrace(bool enable) { mTextureTrace.Enable(enable); }
-  inline void ResetTextureCallStack() { mTextureTrace.Reset(); }
-  inline TraceCallStack& GetTextureTrace() { return mTextureTrace; }
-
-  //Methods for Texture verification
-  inline void EnableTexParameterCallTrace(bool enable) { mTexParamaterTrace.Enable(enable); }
-  inline void ResetTexParameterCallStack() { mTexParamaterTrace.Reset(); }
-  inline TraceCallStack& GetTexParameterTrace() { return mTexParamaterTrace; }
-
-  //Methods for Draw verification
-  inline void EnableDrawCallTrace(bool enable) { mDrawTrace.Enable(enable); }
-  inline void ResetDrawCallStack() { mDrawTrace.Reset(); }
-  inline TraceCallStack& GetDrawTrace() { return mDrawTrace; }
-
-  //Methods for Depth function verification
-  inline void EnableDepthFunctionCallTrace(bool enable) { mDepthFunctionTrace.Enable(enable); }
-  inline void ResetDepthFunctionCallStack() { mDepthFunctionTrace.Reset(); }
-  inline TraceCallStack& GetDepthFunctionTrace() { return mDepthFunctionTrace; }
-
-  //Methods for Stencil function verification
-  inline void EnableStencilFunctionCallTrace(bool enable) { mStencilFunctionTrace.Enable(enable); }
-  inline void ResetStencilFunctionCallStack() { mStencilFunctionTrace.Reset(); }
-  inline TraceCallStack& GetStencilFunctionTrace() { return mStencilFunctionTrace; }
-
-  //Methods for Scissor verification
-  inline void EnableScissorCallTrace(bool enable) { mScissorTrace.Enable(enable); }
-  inline void ResetScissorCallStack() { mScissorTrace.Reset(); }
-  inline TraceCallStack& GetScissorTrace() { return mScissorTrace; }
-
-  //Methods for Uniform function verification
-  inline void EnableSetUniformCallTrace(bool enable) { mSetUniformTrace.Enable(enable); }
-  inline void ResetSetUniformCallStack() { mSetUniformTrace.Reset(); }
-  inline TraceCallStack& GetSetUniformTrace() { return mSetUniformTrace; }
-
-  template <typename T>
-  inline bool GetUniformValue( const char* name, T& value ) const
-  {
-    for( ProgramUniformMap::const_iterator program_it = mUniforms.begin();
-          program_it != mUniforms.end();
-          ++program_it )
-    {
-      const UniformIDMap &uniformIDs = program_it->second;
-
-      UniformIDMap::const_iterator uniform_it = uniformIDs.find( name );
-      if( uniform_it != uniformIDs.end() )
-      {
-        // found one matching uniform name, lets check the value...
-        GLuint programId = program_it->first;
-        GLint uniformId = uniform_it->second;
-
-        const ProgramUniformValue<T> &mProgramUniforms = GetProgramUniformsForType( value );
-        return mProgramUniforms.GetUniformValue( programId, uniformId, value );
-      }
-    }
-    return false;
-  }
-
-
-  template <typename T>
-  inline bool CheckUniformValue( const char* name, const T& value ) const
-  {
-    for( ProgramUniformMap::const_iterator program_it = mUniforms.begin();
-          program_it != mUniforms.end();
-          ++program_it )
-    {
-      const UniformIDMap &uniformIDs = program_it->second;
-
-      UniformIDMap::const_iterator uniform_it = uniformIDs.find( name );
-      if( uniform_it != uniformIDs.end() )
-      {
-        // found one matching uniform name, lets check the value...
-        GLuint programId = program_it->first;
-        GLint uniformId = uniform_it->second;
-
-        const ProgramUniformValue<T> &mProgramUniforms = GetProgramUniformsForType( value );
-        if( mProgramUniforms.CheckUniformValue( programId, uniformId, value ) )
-        {
-          // the value matches
-          return true;
-        }
-      }
-    }
-
-    fprintf(stderr, "Not found, printing possible values:\n" );
-    for( ProgramUniformMap::const_iterator program_it = mUniforms.begin();
-          program_it != mUniforms.end();
-          ++program_it )
-    {
-      const UniformIDMap &uniformIDs = program_it->second;
-
-      UniformIDMap::const_iterator uniform_it = uniformIDs.find( name );
-      if( uniform_it != uniformIDs.end() )
-      {
-        // found one matching uniform name, lets check the value...
-        GLuint programId = program_it->first;
-        GLint uniformId = uniform_it->second;
-
-        const ProgramUniformValue<T> &mProgramUniforms = GetProgramUniformsForType( value );
-        T origValue;
-        if ( mProgramUniforms.GetUniformValue(programId, uniformId, origValue) )
-        {
-          std::stringstream out;
-          out << uniform_it->first << ": " << origValue;
-          fprintf(stderr, "%s\n", out.str().c_str() );
-        }
-      }
-    }
-    return false;
-  }
-
-  template <typename T>
-  inline bool GetUniformValue( GLuint programId, GLuint uniformId, T& outValue) const
-  {
-    const ProgramUniformValue<T> &mProgramUniforms = GetProgramUniformsForType( outValue );
-    return mProgramUniforms.GetUniformValue( programId, uniformId, outValue );
-  }
-
-  inline bool GetUniformIds( const char* name, GLuint& programId, GLuint& uniformId ) const
-  {
-    for( ProgramUniformMap::const_iterator program_it = mUniforms.begin();
-          program_it != mUniforms.end();
-          ++program_it )
-    {
-      const UniformIDMap &uniformIDs = program_it->second;
-
-      UniformIDMap::const_iterator uniform_it = uniformIDs.find( name );
-      if( uniform_it != uniformIDs.end() )
-      {
-        programId = program_it->first;
-        uniformId = uniform_it->second;
-        return true;
-      }
-    }
-    return false;
-  }
-
-  inline GLuint GetLastShaderCompiled() const
-  {
-    return mLastShaderCompiled;
-  }
-
-  inline GLuint GetLastProgramCreated() const
-  {
-    return mLastProgramIdUsed;
-  }
-
-  inline GLbitfield GetLastClearMask() const
-  {
-    return mLastClearBitMask;
-  }
-
-  enum AttribType
-  {
-    ATTRIB_UNKNOWN = -1,
-    ATTRIB_POSITION,
-    ATTRIB_NORMAL,
-    ATTRIB_TEXCOORD,
-    ATTRIB_COLOR,
-    ATTRIB_BONE_WEIGHTS,
-    ATTRIB_BONE_INDICES,
-    ATTRIB_TYPE_LAST
-  };
-
-  struct ScissorParams
-  {
-    GLint x;
-    GLint y;
-    GLsizei width;
-    GLsizei height;
-
-    ScissorParams() : x( 0 ), y( 0 ), width( 0 ), height( 0 ) { }
-  };
-
-  // Methods to check scissor tests
-  inline const ScissorParams& GetScissorParams() const { return mScissorParams; }
-
-  struct ColorMaskParams
-  {
-    GLboolean red;
-    GLboolean green;
-    GLboolean blue;
-    GLboolean alpha;
-
-    ColorMaskParams() : red( true ), green( true ), blue( true ), alpha( true ) { }
-  };
-
-  inline bool GetProgramBinaryCalled() const { return mGetProgramBinaryCalled; }
-
-  inline unsigned int GetClearCountCalled() const { return mClearCount; }
-
-  inline const ColorMaskParams& GetColorMaskParams() const { return mColorMaskParams; }
-
-  typedef std::vector<size_t> BufferDataCalls;
-  inline const BufferDataCalls& GetBufferDataCalls() const { return mBufferDataCalls; }
-  inline void ResetBufferDataCalls() { mBufferDataCalls.clear(); }
-
-  typedef std::vector<size_t> BufferSubDataCalls;
-  inline const BufferSubDataCalls& GetBufferSubDataCalls() const { return mBufferSubDataCalls; }
-  inline void ResetBufferSubDataCalls() { mBufferSubDataCalls.clear(); }
-
-private:
-  GLuint     mCurrentProgram;
-  GLuint     mCompileStatus;
-  BufferDataCalls mBufferDataCalls;
-  BufferSubDataCalls mBufferSubDataCalls;
-  GLuint     mLinkStatus;
-  GLint      mNumberOfActiveUniforms;
-  GLint      mGetAttribLocationResult;
-  GLenum     mGetErrorResult;
-  GLubyte*   mGetStringResult;
-  GLboolean  mIsBufferResult;
-  GLboolean  mIsEnabledResult;
-  GLboolean  mIsFramebufferResult;
-  GLboolean  mIsProgramResult;
-  GLboolean  mIsRenderbufferResult;
-  GLboolean  mIsShaderResult;
-  GLboolean  mIsTextureResult;
-  GLenum     mActiveTextureUnit;
-  GLenum     mCheckFramebufferStatusResult;
-  GLint      mFramebufferStatus;
-  GLenum     mFramebufferColorAttached;
-  GLenum     mFramebufferDepthAttached;
-  GLenum     mFramebufferStencilAttached;
-  GLint      mNumBinaryFormats;
-  GLint      mBinaryFormats;
-  GLint      mProgramBinaryLength;
-  bool       mVertexAttribArrayState[MAX_ATTRIBUTE_CACHE_SIZE];
-  bool       mVertexAttribArrayChanged;                            // whether the vertex attrib array has been changed
-  bool       mGetProgramBinaryCalled;
-  typedef std::map< GLuint, std::string> ShaderSourceMap;
-  ShaderSourceMap mShaderSources;
-  GLuint     mLastShaderCompiled;
-  GLbitfield mLastClearBitMask;
-  unsigned int mClearCount;
-
-  Vector4 mLastBlendColor;
-  GLenum  mLastBlendEquationRgb;
-  GLenum  mLastBlendEquationAlpha;
-  GLenum  mLastBlendFuncSrcRgb;
-  GLenum  mLastBlendFuncDstRgb;
-  GLenum  mLastBlendFuncSrcAlpha;
-  GLenum  mLastBlendFuncDstAlpha;
-
-  GLboolean mLastDepthMask;
-
-  // Data for manipulating the IDs returned by GenTextures
-  GLuint mLastAutoTextureIdUsed;
-  GLuint mNumGeneratedTextures;
-  std::vector<GLuint> mNextTextureIds;
-  std::vector<GLuint> mDeletedTextureIds;
-  std::vector<GLuint> mBoundTextures;
-
-  struct ActiveTextureType
-  {
-    std::vector<GLuint> mBoundTextures;
-  };
-
-  ActiveTextureType mActiveTextures[ MIN_TEXTURE_UNIT_LIMIT ];
-
-  TraceCallStack mCullFaceTrace;
-  TraceCallStack mEnableDisableTrace;
-  TraceCallStack mShaderTrace;
-  TraceCallStack mTextureTrace;
-  TraceCallStack mTexParamaterTrace;
-  TraceCallStack mDrawTrace;
-  TraceCallStack mDepthFunctionTrace;
-  TraceCallStack mStencilFunctionTrace;
-  TraceCallStack mScissorTrace;
-  TraceCallStack mSetUniformTrace;
-
-  // Shaders & Uniforms
-  GLuint mLastShaderIdUsed;
-  GLuint mLastProgramIdUsed;
-  GLuint mLastUniformIdUsed;
-  typedef std::map< std::string, GLint > UniformIDMap;
-  typedef std::map< GLuint, UniformIDMap > ProgramUniformMap;
-  ProgramUniformMap mUniforms;
-
-  template <typename T>
-  struct ProgramUniformValue : public std::map< GLuint, std::map< GLint, T > >
-  {
-  public:
-    typedef std::map< GLint, T > UniformValueMap;
-    typedef std::map< GLuint, UniformValueMap > Map;
-
-    bool SetUniformValue( GLuint program, GLuint uniform, const T& value )
-    {
-      if( program == 0 )
-      {
-        return false;
-      }
-
-      typename Map::iterator it = Map::find( program );
-      if( it == Map::end() )
-      {
-        // if its the first uniform for this program add it
-        std::pair< typename Map::iterator, bool > result =
-            Map::insert( typename Map::value_type( program, UniformValueMap() ) );
-        it = result.first;
-      }
-
-      UniformValueMap& uniforms = it->second;
-      uniforms[uniform] = value;
-
-      return true;
-    }
-
-    bool CheckUniformValue( GLuint program, GLuint uniform, const T& value ) const
-    {
-      T uniformValue;
-      if ( GetUniformValue( program, uniform, uniformValue ) )
-      {
-        return CompareType<T>(value, uniformValue, Math::MACHINE_EPSILON_10);
-      }
-
-      return false;
-    }
-
-    bool GetUniformValue( GLuint program, GLuint uniform, T& value ) const
-    {
-      if( program == 0 )
-      {
-        return false;
-      }
-
-      typename Map::const_iterator it = Map::find( program );
-      if( it == Map::end() )
-      {
-        // Uniform values always initialised as 0
-        value = GetZero();
-        return true;
-      }
-
-      const UniformValueMap& uniforms = it->second;
-      typename UniformValueMap::const_iterator it2 = uniforms.find( uniform );
-      if( it2 == uniforms.end() )
-      {
-        // Uniform values always initialised as 0
-        value = GetZero();
-        return true;
-      }
-      value = it2->second;
-
-      return true;
-    }
-
-    T GetZero() const;
-  };
-  ProgramUniformValue<int> mProgramUniforms1i;
-  ProgramUniformValue<float> mProgramUniforms1f;
-  ProgramUniformValue<Vector2> mProgramUniforms2f;
-  ProgramUniformValue<Vector3> mProgramUniforms3f;
-  ProgramUniformValue<Vector4> mProgramUniforms4f;
-  ProgramUniformValue<Matrix> mProgramUniformsMat4;
-  ProgramUniformValue<Matrix3> mProgramUniformsMat3;
-
-  inline const ProgramUniformValue<int>& GetProgramUniformsForType( const int ) const
-  {
-    return mProgramUniforms1i;
-  }
-  inline const ProgramUniformValue<float>& GetProgramUniformsForType( const float ) const
-  {
-    return mProgramUniforms1f;
-  }
-  inline const ProgramUniformValue<Vector2>& GetProgramUniformsForType( const Vector2& ) const
-  {
-    return mProgramUniforms2f;
-  }
-  inline const ProgramUniformValue<Vector3>& GetProgramUniformsForType( const Vector3& ) const
-  {
-    return mProgramUniforms3f;
-  }
-  inline const ProgramUniformValue<Vector4>& GetProgramUniformsForType( const Vector4& ) const
-  {
-    return mProgramUniforms4f;
-  }
-  inline const ProgramUniformValue<Matrix>& GetProgramUniformsForType( const Matrix& ) const
-  {
-    return mProgramUniformsMat4;
-  }
-  inline const ProgramUniformValue<Matrix3>& GetProgramUniformsForType( const Matrix3& ) const
-  {
-    return mProgramUniformsMat3;
-  }
-  inline void SetVertexAttribArray(GLuint index, bool state)
-  {
-    if( index >= MAX_ATTRIBUTE_CACHE_SIZE )
-    {
-      // out of range
-      return;
-    }
-    mVertexAttribArrayState[ index ] = state;
-    mVertexAttribArrayChanged = true;
-  }
-
-  ScissorParams mScissorParams;
-  ColorMaskParams mColorMaskParams;
-};
-
-template <>
-inline int TestGlAbstraction::ProgramUniformValue<int>::GetZero() const
-{
-  return 0;
-}
-
-template <>
-inline float TestGlAbstraction::ProgramUniformValue<float>::GetZero() const
-{
-  return 0.0f;
-}
-
-template <>
-inline Vector2 TestGlAbstraction::ProgramUniformValue<Vector2>::GetZero() const
-{
-  return Vector2::ZERO;
-}
-
-template <>
-inline Vector3 TestGlAbstraction::ProgramUniformValue<Vector3>::GetZero() const
-{
-  return Vector3::ZERO;
-}
-
-template <>
-inline Vector4 TestGlAbstraction::ProgramUniformValue<Vector4>::GetZero() const
-{
-  return Vector4::ZERO;
-}
-
-template <>
-inline Matrix TestGlAbstraction::ProgramUniformValue<Matrix>::GetZero() const
-{
-  return Matrix();
-}
-
-template <>
-inline Matrix3 TestGlAbstraction::ProgramUniformValue<Matrix3>::GetZero() const
-{
-  return Matrix3( Matrix() );
-}
-
-} // namespace Dali
-
-bool BlendEnabled(const Dali::TraceCallStack& callStack);
-bool BlendDisabled(const Dali::TraceCallStack& callStack);
-
-
-#endif // TEST_GL_ABSTRACTION_H
diff --git a/automated-tests/src/dali-adaptor/dali-test-suite-utils/test-gl-sync-abstraction.cpp b/automated-tests/src/dali-adaptor/dali-test-suite-utils/test-gl-sync-abstraction.cpp
deleted file mode 100644 (file)
index 65a884e..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "test-gl-sync-abstraction.h"
-
-namespace Dali
-{
-
-TestSyncObject::TestSyncObject(TraceCallStack& trace)
-: synced(false),
-  mTrace(trace)
-{
-}
-
-TestSyncObject::~TestSyncObject()
-{
-}
-
-bool TestSyncObject::IsSynced()
-{
-  mTrace.PushCall("SyncObject::IsSynced", ""); // Trace the method
-  return synced;
-}
-
-
-
-TestGlSyncAbstraction::TestGlSyncAbstraction()
-{
-  Initialize();
-}
-
-/**
- * Destructor
- */
-TestGlSyncAbstraction::~TestGlSyncAbstraction()
-{
-  for( SyncIter iter=mSyncObjects.begin(), end=mSyncObjects.end(); iter != end; ++iter )
-  {
-    delete *iter;
-  }
-}
-
-/**
- * Initialize the sync objects - clear down the map
- */
-void TestGlSyncAbstraction::Initialize()
-{
-  mSyncObjects.clear();
-}
-
-/**
- * Create a sync object
- * @return the sync object
- */
-Integration::GlSyncAbstraction::SyncObject* TestGlSyncAbstraction::CreateSyncObject( )
-{
-  mTrace.PushCall("CreateSyncObject", ""); // Trace the method
-
-  TestSyncObject* syncObject = new TestSyncObject(mTrace);
-  mSyncObjects.push_back( syncObject );
-  return syncObject;
-}
-
-/**
- * Destroy a sync object
- * @param[in] syncObject The object to destroy
- */
-void TestGlSyncAbstraction::DestroySyncObject( Integration::GlSyncAbstraction::SyncObject* syncObject )
-{
-  std::stringstream out;
-  out << syncObject;
-  mTrace.PushCall("DestroySyncObject", out.str()); // Trace the method
-
-  for( SyncIter iter=mSyncObjects.begin(), end=mSyncObjects.end(); iter != end; ++iter )
-  {
-    if( *iter == syncObject )
-    {
-      delete *iter;
-      mSyncObjects.erase(iter);
-      break;
-    }
-  }
-}
-
-
-Integration::GlSyncAbstraction::SyncObject* TestGlSyncAbstraction::GetLastSyncObject( )
-{
-  if( !mSyncObjects.empty() )
-  {
-    return mSyncObjects.back();
-  }
-  return NULL;
-}
-
-/**
- * Test method to trigger the object sync behaviour.
- * @param[in]
- * @param[in] sync The sync value to set
- */
-void TestGlSyncAbstraction::SetObjectSynced( Integration::GlSyncAbstraction::SyncObject* syncObject, bool sync )
-{
-  TestSyncObject* testSyncObject = static_cast<TestSyncObject*>(syncObject);
-  testSyncObject->synced = sync;
-}
-
-/**
- * Turn trace on
- */
-void TestGlSyncAbstraction::EnableTrace(bool enable) { mTrace.Enable(enable); }
-
-/**
- * Reset the trace callstack
- */
-void TestGlSyncAbstraction::ResetTrace() { mTrace.Reset(); }
-
-/**
- * Get the trace object (allows test case to find methods on it)
- */
-TraceCallStack& TestGlSyncAbstraction::GetTrace() { return mTrace; }
-
-int TestGlSyncAbstraction::GetNumberOfSyncObjects()
-{
-  return mSyncObjects.size();
-}
-
-
-} // Dali
diff --git a/automated-tests/src/dali-adaptor/dali-test-suite-utils/test-gl-sync-abstraction.h b/automated-tests/src/dali-adaptor/dali-test-suite-utils/test-gl-sync-abstraction.h
deleted file mode 100644 (file)
index 979987b..0000000
+++ /dev/null
@@ -1,123 +0,0 @@
-#ifndef __TEST_GL_SYNC_ABSTRACTION_H__
-#define __TEST_GL_SYNC_ABSTRACTION_H__
-
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// EXTERNAL INCLUDES
-#include <sstream>
-#include <string>
-#include <map>
-
-// INTERNAL INCLUDES
-#include <dali/integration-api/core.h>
-#include <dali/integration-api/gl-sync-abstraction.h>
-#include "test-trace-call-stack.h"
-
-namespace Dali
-{
-
-class DALI_CORE_API TestSyncObject : public Integration::GlSyncAbstraction::SyncObject
-{
-public:
-  TestSyncObject(TraceCallStack& trace);
-  ~TestSyncObject();
-  bool IsSynced();
-  bool synced;
-  TraceCallStack& mTrace;
-};
-
-/**
- * Class to emulate the GL sync functions with tracing
- */
-class DALI_CORE_API TestGlSyncAbstraction: public Integration::GlSyncAbstraction
-{
-public:
-  /**
-   * Constructor
-   */
-  TestGlSyncAbstraction();
-
-  /**
-   * Destructor
-   */
-  ~TestGlSyncAbstraction();
-
-  /**
-   * Initialize the sync objects - clear down the map
-   */
-  void Initialize();
-
-  /**
-   * Create a sync object
-   * @return the sync object
-   */
-  virtual Integration::GlSyncAbstraction::SyncObject* CreateSyncObject( );
-
-  /**
-   * Destroy a sync object
-   * @param[in] syncObject The object to destroy
-   */
-  virtual void DestroySyncObject( Integration::GlSyncAbstraction::SyncObject* syncObject );
-
-
-public: // TEST FUNCTIONS
-  Integration::GlSyncAbstraction::SyncObject* GetLastSyncObject( );
-
-  /**
-   * Test method to trigger the object sync behaviour.
-   * @param[in]
-   * @param[in] sync The sync value to set
-   */
-  void SetObjectSynced( Integration::GlSyncAbstraction::SyncObject* syncObject, bool sync );
-
-  /**
-   * Turn trace on
-   */
-  void EnableTrace(bool enable);
-
-  /**
-   * Reset the trace callstack
-   */
-  void ResetTrace();
-
-  /**
-   * Get the trace object (allows test case to find methods on it)
-   */
-  TraceCallStack& GetTrace();
-
-  /**
-   * Get the number of sync objects
-   *
-   * @return the number of sync objects
-   */
-  int GetNumberOfSyncObjects();
-
-private:
-
-  TestGlSyncAbstraction( const TestGlSyncAbstraction& ); ///< Undefined
-  TestGlSyncAbstraction& operator=( const TestGlSyncAbstraction& ); ///< Undefined
-
-  typedef std::vector<TestSyncObject*>   SyncContainer;
-  typedef SyncContainer::iterator SyncIter;
-  SyncContainer mSyncObjects;  ///< The sync objects
-  TraceCallStack mTrace; ///< the trace call stack for testing
-};
-
-} // Dali
-
-#endif // __TEST_GL_SYNC_ABSTRACTION_H__
index 3c631a2..d9fc39e 100644 (file)
@@ -22,6 +22,7 @@ AC_CONFIG_MACRO_DIR([m4])
 AC_PROG_CXX
 AC_PROG_LIBTOOL
 AC_PROG_MKDIR_P
+AM_PROG_AR
 
 AM_CONDITIONAL(DEADCODE, [no])
 
@@ -422,4 +423,4 @@ Configuration
 if test "x$VULKAN_SDK" != "x"; then
     echo "  VulkanSDK:                        ${VULKAN_SDK}"
 fi
-echo ""
\ No newline at end of file
+echo ""
index c0d295d..4455152 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2017 Samsung Electronics Co., Ltd.
+# Copyright (c) 2018 Samsung Electronics Co., Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@
 m4_define([dali_version],[0.1.0])
 AC_INIT([dali], [dali_version])
 AM_INIT_AUTOMAKE([-Wall foreign])
+AM_PROG_AR
 
 AC_ARG_ENABLE([feedback],
               [AC_HELP_STRING([ --enable-feedback],
index ceca9d3..e62c646 100644 (file)
@@ -33,12 +33,6 @@ class EglInterface;
 class DisplayConnection;
 class ThreadSynchronizationInterface;
 
-namespace Integration
-{
-
-class GlAbstraction;
-
-} // namespace Integration
 
 /**
  * @brief The position and size of the render surface.
@@ -140,21 +134,19 @@ public:
    * If the operation fails, then Core::Render should not be called until there is
    * a surface to render onto.
    * @param[in] egl The Egl interface
-   * @param[in] glAbstraction OpenGLES abstraction interface
    * @param[in] resizingSurface True if the surface is being resized
    * @return True if the operation is successful, False if the operation failed
    */
-  virtual bool PreRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, bool resizingSurface ) = 0;
+  virtual bool PreRender( EglInterface& egl, bool resizingSurface ) = 0;
 
   /**
    * @brief Invoked by render thread after Core::Render
    * @param[in] egl The Egl interface
-   * @param[in] glAbstraction OpenGLES abstraction interface
    * @param[in] displayConnection display connection
    * @param[in] replacingSurface True if the surface is being replaced.
    * @param[in] resizingSurface True if the surface is being resized.
    */
-  virtual void PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface ) = 0;
+  virtual void PostRender( EglInterface& egl, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface ) = 0;
 
   /**
    * @brief Invoked by render thread when the thread should be stop
index 131a611..06ffb2a 100755 (executable)
@@ -24,7 +24,6 @@
 #include <dali/devel-api/actors/actor-devel.h>
 #include <dali/integration-api/debug.h>
 #include <dali/integration-api/core.h>
-#include <dali/integration-api/context-notifier.h>
 #include <dali/integration-api/profiling.h>
 #include <dali/integration-api/input-options.h>
 #include <dali/integration-api/events/touch-event-integ.h>
 #include <dali/internal/accessibility/common/accessibility-adaptor-impl.h>
 #include <dali/internal/input/common/gesture-manager.h>
 #include <dali/internal/window-system/common/event-handler.h>
-#include <dali/internal/graphics/gles20/gl-proxy-implementation.h>
-#include <dali/internal/graphics/gles20/gl-implementation.h>
-#include <dali/internal/graphics/gles20/egl-sync-implementation.h>
 #include <dali/internal/graphics/common/egl-image-extensions.h>
 #include <dali/internal/graphics/gles20/egl-factory.h>
+#include <dali/internal/graphics/vulkan/x11/vk-surface-xlib2xcb.h>
 #include <dali/internal/clipboard/common/clipboard-impl.h>
 #include <dali/internal/graphics/common/vsync-monitor.h>
 #include <dali/internal/system/common/object-profiler.h>
@@ -133,35 +130,28 @@ void Adaptor::Initialize( Dali::Configuration::ContextLoss configuration )
 
   mGestureManager = new GestureManager(*this, Vector2(size.width, size.height), mCallbackManager, *mEnvironmentOptions);
 
-  if( mEnvironmentOptions->GetGlesCallTime() > 0 )
-  {
-    mGLES = new GlProxyImplementation( *mEnvironmentOptions );
-  }
-  else
-  {
-    mGLES = new GlImplementation();
-  }
-
   const Integration::DepthBufferAvailable depthBufferAvailable = static_cast< Integration::DepthBufferAvailable >( mEnvironmentOptions->DepthBufferRequired() );
   const Integration::StencilBufferAvailable stencilBufferAvailable = static_cast< Integration::StencilBufferAvailable >( mEnvironmentOptions->StencilBufferRequired() );
 
   mEglFactory = new EglFactory( mEnvironmentOptions->GetMultiSamplingLevel(), depthBufferAvailable, stencilBufferAvailable );
 
-  EglSyncImplementation* eglSyncImpl = mEglFactory->GetSyncImplementation();
-
-  // todo: add somewhere MakeUnique to make it cleaner
+  // @todo: add somewhere MakeUnique to make it cleaner
   mGraphics = std::unique_ptr<Dali::Integration::Graphics::Graphics>(
     new Dali::Integration::Graphics::Graphics()
   );
 
-  // todo: surface shouldn't really be create here :((((
+  // @todo: surface shouldn't really be create here :((((
   auto xlibSurface = std::unique_ptr<Dali::Graphics::Vulkan::VkSurfaceXlib2Xcb>(
     new Dali::Graphics::Vulkan::VkSurfaceXlib2Xcb( *mSurface )
   );
 
   mGraphics->Create( std::move(xlibSurface) );
 
-  mCore = Integration::Core::New( *this, *mPlatformAbstraction, *mGraphics, *mGLES, *eglSyncImpl, *mGestureManager, dataRetentionPolicy,
+  mCore = Integration::Core::New( *this,
+                                  *mPlatformAbstraction,
+                                  *mGraphics,
+                                  *mGestureManager,
+                                  dataRetentionPolicy ,
                                   ( 0u != mEnvironmentOptions->GetRenderToFboInterval() ) ? Integration::RenderToFrameBuffer::TRUE : Integration::RenderToFrameBuffer::FALSE,
                                   depthBufferAvailable,
                                   stencilBufferAvailable );
@@ -273,7 +263,6 @@ Adaptor::~Adaptor()
 
   delete mCore;
   delete mEglFactory;
-  delete mGLES;
   delete mGestureManager;
   delete mPlatformAbstraction;
   delete mCallbackManager;
@@ -424,19 +413,6 @@ void Adaptor::Stop()
   }
 }
 
-void Adaptor::ContextLost()
-{
-  mCore->GetContextNotifier()->NotifyContextLost(); // Inform stage
-}
-
-void Adaptor::ContextRegained()
-{
-  // Inform core, so that texture resources can be reloaded
-  mCore->RecoverFromContextLoss();
-
-  mCore->GetContextNotifier()->NotifyContextRegained(); // Inform stage
-}
-
 void Adaptor::FeedTouchPoint( TouchPoint& point, int timeStamp )
 {
   mEventHandler->FeedTouchPoint( point, timeStamp );
@@ -553,13 +529,7 @@ EglFactoryInterface& Adaptor::GetEGLFactoryInterface() const
   return *mEglFactory;
 }
 
-Integration::GlAbstraction& Adaptor::GetGlAbstraction() const
-{
-  DALI_ASSERT_DEBUG( mGLES && "GLImplementation not created" );
-  return *mGLES;
-}
-
-Dali::Integration::Graphics::Graphics& Adaptor::GetGraphics() const
+Integration::Graphics::Graphics& Adaptor::GetGraphics() const
 {
   return *mGraphics;
 }
@@ -569,11 +539,6 @@ Dali::Integration::PlatformAbstraction& Adaptor::GetPlatformAbstractionInterface
   return *mPlatformAbstraction;
 }
 
-Dali::Integration::GlAbstraction& Adaptor::GetGlesInterface()
-{
-  return *mGLES;
-}
-
 TriggerEventInterface& Adaptor::GetProcessCoreEventsTrigger()
 {
   return *mNotificationTrigger;
@@ -861,8 +826,6 @@ Adaptor::Adaptor(Any nativeWindow, Dali::Adaptor& adaptor, RenderSurface* surfac
   mCore( NULL ),
   mThreadController( NULL ),
   mVSyncMonitor( NULL ),
-  mGLES( NULL ),
-  mGlSync( NULL ),
   mEglFactory( NULL ),
   mNativeWindow( nativeWindow ),
   mSurface( surface ),
index a8f69ba..39dfdc1 100755 (executable)
@@ -54,7 +54,7 @@ class Window;
 namespace Integration
 {
 class Core;
-class GlAbstraction;
+
 namespace Graphics
 {
 class Graphics;
@@ -69,8 +69,6 @@ namespace Adaptor
 class EventHandler;
 class EglFactory;
 class GestureManager;
-class GlImplementation;
-class GlSyncImplementation;
 class ThreadController;
 class TriggerEvent;
 class CallbackManager;
@@ -166,16 +164,6 @@ public: // AdaptorInternalServices implementation
   virtual void Stop();
 
   /**
-   * @copydoc Dali::Adaptor::ContextLost()
-   */
-  virtual void ContextLost();
-
-  /**
-   * @copydoc Dali::Adaptor::ContextRegained()
-   */
-  virtual void ContextRegained();
-
-  /**
    * @copydoc Dali::EventFeeder::FeedTouchPoint()
    */
   virtual void FeedTouchPoint( TouchPoint& point, int timeStamp );
@@ -245,12 +233,6 @@ public:
   EglFactory& GetEGLFactory() const;
 
   /**
-   * Return GlAbstraction.
-   * @return the GlAbstraction.
-   */
-  Integration::GlAbstraction& GetGlAbstraction() const;
-
-  /**
    *
    * @return the Graphics
    */
@@ -382,11 +364,6 @@ public:  //AdaptorInternalServices
   virtual Dali::Integration::PlatformAbstraction& GetPlatformAbstractionInterface();
 
   /**
-   * @copydoc Dali::Internal::Adaptor::AdaptorInternalServices::GetGlesInterface()
-   */
-  virtual Dali::Integration::GlAbstraction& GetGlesInterface();
-
-  /**
   * @copydoc Dali::Internal::Adaptor::AdaptorInternalServices::GetEGLFactoryInterface()
   */
   virtual EglFactoryInterface& GetEGLFactoryInterface() const;
@@ -585,8 +562,6 @@ private: // Data
   Dali::Integration::Core*              mCore;                        ///< Dali Core
   ThreadController*                     mThreadController;            ///< Controls the threads
   VSyncMonitor*                         mVSyncMonitor;                ///< Monitors VSync events
-  GlImplementation*                     mGLES;                        ///< GL implementation
-  GlSyncImplementation*                 mGlSync;                      ///< GL Sync implementation
   EglFactory*                           mEglFactory;                  ///< EGL Factory
 
   Any                                   mNativeWindow;                ///< window identifier
index c429557..5ef5312 100644 (file)
@@ -2,7 +2,7 @@
 #define __DALI_INTERNAL_ADAPTOR_INTERNAL_SERVICES_H__
 
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -20,7 +20,6 @@
 
 // EXTERNAL INCLUDES
 #include <dali/integration-api/core.h>
-#include <dali/integration-api/gl-abstraction.h>
 
 // INTERNAL INCLUDES
 #include <dali/integration-api/trigger-event-interface.h>
@@ -72,11 +71,6 @@ public:
   virtual Dali::Integration::PlatformAbstraction& GetPlatformAbstractionInterface()  = 0;
 
   /**
-   * @return gles abstraction
-   */
-  virtual Dali::Integration::GlAbstraction& GetGlesInterface()  = 0;
-
-  /**
    * @return egl factory
    */
   virtual EglFactoryInterface& GetEGLFactoryInterface() const  = 0;
index 5af0ca1..a517dfe 100644 (file)
@@ -390,9 +390,6 @@ void CombinedUpdateRenderController::UpdateRenderThread()
 
   mRenderHelper.InitializeEgl();
 
-  // tell core it has a context
-  mCore.ContextCreated();
-
   NotifyThreadInitialised();
 
   // Update time
@@ -577,8 +574,7 @@ void CombinedUpdateRenderController::UpdateRenderThread()
     }
   }
 
-  // Inform core of context destruction & shutdown EGL
-  mCore.ContextDestroyed();
+  // Shutdown EGL
   mRenderHelper.ShutdownEgl();
 
   LOG_UPDATE_RENDER( "THREAD DESTROYED" );
index 2c82ecc..167360b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -36,8 +36,7 @@ namespace Adaptor
 {
 
 RenderHelper::RenderHelper( AdaptorInternalServices& adaptorInterfaces )
-: mGLES( adaptorInterfaces.GetGlesInterface() ),
-  mEglFactory( &adaptorInterfaces.GetEGLFactoryInterface()),
+: mEglFactory( &adaptorInterfaces.GetEGLFactoryInterface()),
   mEGL( NULL ),
   mGraphics( adaptorInterfaces.GetGraphics() ),
   mSurfaceReplaced( false ),
@@ -163,9 +162,8 @@ bool RenderHelper::PreRender()
 #if 0
   if( mSurface )
   {
-    mSurface->PreRender( *mEGL, mGLES, mSurfaceResized );
+    mSurface->PreRender( *mEGL, mSurfaceResized );
   }
-  mGLES.PreRender();
 #endif
   return true;
 }
@@ -173,20 +171,17 @@ bool RenderHelper::PreRender()
 void RenderHelper::PostRender( bool renderToFbo )
 {
 #if 0
-  // Inform the gl implementation that rendering has finished before informing the surface
-  mGLES.PostRender();
-
   if( renderToFbo )
   {
-    mGLES.Flush();
-    mGLES.Finish();
+    //mGLES.Flush();
+    //mGLES.Finish();
   }
   else
   {
     if( mSurface )
     {
       // Inform the surface that rendering this frame has finished.
-      mSurface->PostRender( *mEGL, mGLES, mDisplayConnection, mSurfaceReplaced, mSurfaceResized );
+      mSurface->PostRender( *mEGL, mDisplayConnection, mSurfaceReplaced, mSurfaceResized );
     }
   }
   mSurfaceReplaced = false;
index c2d6f25..3f694fc 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_RENDER_HELPER_H
 
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -30,11 +30,12 @@ class DisplayConnection;
 
 namespace Integration
 {
-class GlAbstraction;
+
 namespace Graphics
 {
 class Graphics;
 }
+
 }
 
 namespace Internal
@@ -147,14 +148,13 @@ private:
 
 private: // Data
 
-  Integration::GlAbstraction&       mGLES;                   ///< GL abstraction reference
   EglFactoryInterface*              mEglFactory;             ///< Factory class to create EGL implementation
   EglInterface*                     mEGL;                    ///< Interface to EGL implementation
   RenderSurface*                    mSurface;                ///< Current surface
   Dali::DisplayConnection*          mDisplayConnection;      ///< Display connection
   Integration::Graphics::Graphics&  mGraphics;
-  bool                              mSurfaceReplaced;        ///< True when new surface has been initialized.
-  bool                              mSurfaceResized;         ///< True when the surface is resized.
+  bool                          mSurfaceReplaced;        ///< True when new surface has been initialized.
+  bool                          mSurfaceResized;         ///< True when the surface is resized.
 };
 
 } // namespace Adaptor
index 5ee7530..cd3ba9d 100644 (file)
@@ -8,10 +8,7 @@ adaptor_graphics_common_src_files=\
 adaptor_graphics_gles20_src_files=\
     ${adaptor_graphics_dir}/gles20/egl-debug.cpp \
     ${adaptor_graphics_dir}/gles20/egl-factory.cpp \
-    ${adaptor_graphics_dir}/gles20/egl-implementation.cpp \
-    ${adaptor_graphics_dir}/gles20/egl-sync-implementation.cpp \
-    ${adaptor_graphics_dir}/gles20/gl-extensions.cpp \
-    ${adaptor_graphics_dir}/gles20/gl-proxy-implementation.cpp
+    ${adaptor_graphics_dir}/gles20/egl-implementation.cpp
 
 # module: graphics, backend: tizen
 adaptor_graphics_tizen_src_files=\
@@ -26,7 +23,8 @@ adaptor_graphics_ubuntu_gl_src_files=\
 adaptor_graphics_ubuntu_src_files=\
     ${adaptor_graphics_dir}/ubuntu/vsync-monitor-ubuntu.cpp
 
-adaptor_vulkan_ubuntu_src_files = \
+# module: graphics, backend: vulkan/x11
+adaptor_graphics_vulkan_x11_src_files=\
     $(adaptor_graphics_dir)/vulkan/x11/vk-surface-xcb.cpp \
     $(adaptor_graphics_dir)/vulkan/x11/vk-surface-xlib.cpp \
     $(adaptor_graphics_dir)/vulkan/x11/vk-surface-xlib2xcb.cpp
index c5250fb..8483d7e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,7 +21,7 @@
 // INTERNAL INCLUDES
 #include <dali/internal/graphics/gles20/egl-implementation.h>
 #include <dali/internal/graphics/common/egl-image-extensions.h>
-#include <dali/internal/graphics/gles20/egl-sync-implementation.h>
+
 
 namespace Dali
 {
@@ -35,7 +35,6 @@ EglFactory::EglFactory( int multiSamplingLevel,
                         Integration::StencilBufferAvailable stencilBufferRequired )
 : mEglImplementation(NULL),
   mEglImageExtensions(NULL),
-  mEglSync(new EglSyncImplementation), // Created early, as needed by Core constructor
   mMultiSamplingLevel( multiSamplingLevel ),
   mDepthBufferRequired( depthBufferRequired ),
   mStencilBufferRequired( stencilBufferRequired )
@@ -47,7 +46,6 @@ EglFactory::~EglFactory()
   // Ensure the EGL implementation is destroyed
   delete mEglImageExtensions;
   delete mEglImplementation;
-  delete mEglSync;
 }
 
 EglInterface* EglFactory::Create()
@@ -55,8 +53,6 @@ EglInterface* EglFactory::Create()
   // Created by RenderThread (After Core construction)
   mEglImplementation = new EglImplementation( mMultiSamplingLevel, mDepthBufferRequired, mStencilBufferRequired );
   mEglImageExtensions = new EglImageExtensions( mEglImplementation );
-
-  mEglSync->Initialize(mEglImplementation); // The sync impl needs the EglDisplay
   return mEglImplementation;
 }
 
@@ -78,11 +74,6 @@ EglImageExtensions* EglFactory::GetImageExtensions()
   return mEglImageExtensions;
 }
 
-EglSyncImplementation* EglFactory::GetSyncImplementation()
-{
-  return mEglSync;
-}
-
 } // Adaptor
 } // Internal
 } // Dali
index 7f7bf1c..8d4d55b 100644 (file)
@@ -2,7 +2,7 @@
 #define DALI_INTERNAL_ADAPTOR_EGL_FACTORY_IMPL_H
 
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -32,7 +32,6 @@ namespace Adaptor
 {
 class EglImplementation;
 class EglImageExtensions;
-class EglSyncImplementation;
 
 class EglFactory : public EglFactoryInterface
 {
@@ -75,12 +74,6 @@ public:
    */
   EglImageExtensions* GetImageExtensions();
 
-  /**
-   * Get the fence sync implementation
-   * @return An implementation of fence sync
-   */
-  EglSyncImplementation* GetSyncImplementation();
-
 private:
   /** Undefined */
   EglFactory(const EglFactory& rhs);
@@ -89,7 +82,6 @@ private:
 private:
   EglImplementation* mEglImplementation;
   EglImageExtensions* mEglImageExtensions;
-  EglSyncImplementation* mEglSync;
 
   int mMultiSamplingLevel;
   Integration::DepthBufferAvailable mDepthBufferRequired;
index 647087b..f4c3e50 100755 (executable)
@@ -26,7 +26,6 @@
 
 // INTERNAL INCLUDES
 #include <dali/public-api/dali-adaptor-common.h>
-#include <dali/internal/graphics/gles20/gl-implementation.h>
 #include <dali/internal/graphics/gles20/egl-debug.h>
 
 // EGL constants use C style casts
@@ -140,12 +139,6 @@ bool EglImplementation::CreateContext()
 
   DALI_ASSERT_ALWAYS( EGL_NO_CONTEXT != mEglContext && "EGL context not created" );
 
-  DALI_LOG_INFO(Debug::Filter::gShader, Debug::General, "*** GL_VENDOR : %s ***\n", glGetString(GL_VENDOR));
-  DALI_LOG_INFO(Debug::Filter::gShader, Debug::General, "*** GL_RENDERER : %s ***\n", glGetString(GL_RENDERER));
-  DALI_LOG_INFO(Debug::Filter::gShader, Debug::General, "*** GL_VERSION : %s ***\n", glGetString(GL_VERSION));
-  DALI_LOG_INFO(Debug::Filter::gShader, Debug::General, "*** GL_SHADING_LANGUAGE_VERSION : %s***\n", glGetString(GL_SHADING_LANGUAGE_VERSION));
-  DALI_LOG_INFO(Debug::Filter::gShader, Debug::General, "*** Supported Extensions ***\n%s\n\n", glGetString(GL_EXTENSIONS));
-
   return true;
 }
 
diff --git a/dali/internal/graphics/gles20/egl-sync-implementation.cpp b/dali/internal/graphics/gles20/egl-sync-implementation.cpp
deleted file mode 100644 (file)
index becc7a1..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// CLASS HEADER
-#include <dali/internal/graphics/gles20/egl-sync-implementation.h>
-
-// EXTERNAL INCLUDES
-
-#ifdef _ARCH_ARM_
-
-#include <GLES2/gl2.h>
-#include <GLES2/gl2ext.h>
-#include <EGL/eglext.h>
-
-#endif
-
-#include <dali/integration-api/debug.h>
-
-// INTERNAL INCLUDES
-#include <dali/internal/graphics/gles20/egl-implementation.h>
-
-#ifdef _ARCH_ARM_
-
-// function pointers
-static PFNEGLCREATESYNCKHRPROC     eglCreateSyncKHR = NULL;
-static PFNEGLCLIENTWAITSYNCKHRPROC eglClientWaitSyncKHR = NULL;
-static PFNEGLDESTROYSYNCKHRPROC    eglDestroySyncKHR = NULL;
-
-#endif
-
-namespace Dali
-{
-namespace Internal
-{
-namespace Adaptor
-{
-
-#ifdef _ARCH_ARM_
-
-EglSyncObject::EglSyncObject( EglImplementation& eglSyncImpl )
-: mEglSync(NULL),
-  mEglImplementation(eglSyncImpl)
-{
-  EGLDisplay display = mEglImplementation.GetDisplay();
-  mEglSync = eglCreateSyncKHR( display, EGL_SYNC_FENCE_KHR, NULL );
-  if (mEglSync == EGL_NO_SYNC_KHR)
-  {
-    DALI_LOG_ERROR("eglCreateSyncKHR failed %#0.4x\n", eglGetError());
-    mEglSync = NULL;
-  }
-}
-
-EglSyncObject::~EglSyncObject()
-{
-  if( mEglSync != NULL )
-  {
-    eglDestroySyncKHR( mEglImplementation.GetDisplay(), mEglSync );
-    EGLint error = eglGetError();
-    if( EGL_SUCCESS != error )
-    {
-      DALI_LOG_ERROR("eglDestroySyncKHR failed %#0.4x\n", error);
-    }
-  }
-}
-
-bool EglSyncObject::IsSynced()
-{
-  bool synced = false;
-
-  if( mEglSync != NULL )
-  {
-    EGLint result = eglClientWaitSyncKHR( mEglImplementation.GetDisplay(), mEglSync, 0, 0ull );
-    EGLint error = eglGetError();
-    if( EGL_SUCCESS != error )
-    {
-      DALI_LOG_ERROR("eglClientWaitSyncKHR failed %#0.4x\n", error);
-    }
-    else if( result == EGL_CONDITION_SATISFIED_KHR )
-    {
-      synced = true;
-    }
-  }
-
-  return synced;
-}
-
-EglSyncImplementation::EglSyncImplementation()
-: mEglImplementation( NULL ),
-  mSyncInitialized( false ),
-  mSyncInitializeFailed( false )
-{
-}
-
-EglSyncImplementation::~EglSyncImplementation()
-{
-}
-
-void EglSyncImplementation::Initialize( EglImplementation* eglImpl )
-{
-  mEglImplementation = eglImpl;
-}
-
-Integration::GlSyncAbstraction::SyncObject* EglSyncImplementation::CreateSyncObject()
-{
-  DALI_ASSERT_ALWAYS( mEglImplementation && "Sync Implementation not initialized" );
-  if( mSyncInitialized == false )
-  {
-    InitializeEglSync();
-  }
-
-  EglSyncObject* syncObject = new EglSyncObject(*mEglImplementation);
-  mSyncObjects.PushBack( syncObject );
-  return syncObject;
-}
-
-void EglSyncImplementation::DestroySyncObject( Integration::GlSyncAbstraction::SyncObject* syncObject )
-{
-  DALI_ASSERT_ALWAYS( mEglImplementation && "Sync Implementation not initialized" );
-
-  if( mSyncInitialized == false )
-  {
-    InitializeEglSync();
-  }
-
-  for( SyncIter iter=mSyncObjects.Begin(), end=mSyncObjects.End(); iter != end; ++iter )
-  {
-    if( *iter == syncObject )
-    {
-      mSyncObjects.Erase(iter);
-      break;
-    }
-  }
-  EglSyncObject* eglSyncObject = static_cast<EglSyncObject*>(syncObject);
-  delete eglSyncObject;
-}
-
-void EglSyncImplementation::InitializeEglSync()
-{
-  if( ! mSyncInitializeFailed )
-  {
-    eglCreateSyncKHR = reinterpret_cast< PFNEGLCREATESYNCKHRPROC >( eglGetProcAddress("eglCreateSyncKHR") );
-    eglClientWaitSyncKHR = reinterpret_cast< PFNEGLCLIENTWAITSYNCKHRPROC >( eglGetProcAddress("eglClientWaitSyncKHR") );
-    eglDestroySyncKHR = reinterpret_cast< PFNEGLDESTROYSYNCKHRPROC >( eglGetProcAddress("eglDestroySyncKHR") );
-  }
-
-  if( eglCreateSyncKHR && eglClientWaitSyncKHR && eglDestroySyncKHR )
-  {
-    mSyncInitialized = true;
-  }
-  else
-  {
-    mSyncInitializeFailed = true;
-  }
-}
-
-#else
-
-EglSyncObject::EglSyncObject( EglImplementation& eglImpl )
-: mPollCounter(3),
-  mEglImplementation(eglImpl)
-{
-}
-
-EglSyncObject::~EglSyncObject()
-{
-}
-
-bool EglSyncObject::IsSynced()
-{
-  if(mPollCounter <= 0)
-  {
-    return true;
-  }
-  --mPollCounter;
-  return false;
-}
-
-EglSyncImplementation::EglSyncImplementation()
-: mEglImplementation( NULL ),
-  mSyncInitialized( false ),
-  mSyncInitializeFailed( false )
-{
-}
-
-EglSyncImplementation::~EglSyncImplementation()
-{
-}
-
-void EglSyncImplementation::Initialize( EglImplementation* eglImpl )
-{
-  mEglImplementation = eglImpl;
-}
-
-Integration::GlSyncAbstraction::SyncObject* EglSyncImplementation::CreateSyncObject()
-{
-  DALI_ASSERT_ALWAYS( mEglImplementation && "Sync Implementation not initialized" );
-  return new EglSyncObject(*mEglImplementation);
-}
-
-void EglSyncImplementation::DestroySyncObject(Integration::GlSyncAbstraction::SyncObject* syncObject)
-{
-  DALI_ASSERT_ALWAYS( mEglImplementation && "Sync Implementation not initialized" );
-
-  // The abstraction's virtual destructor is protected, so that Core can't delete the sync objects
-  // directly (This object also needs removing from the mSyncObject container in the ARM
-  // implementation above). We therefore need to cast to the actual implementation object first.
-  EglSyncObject* eglSyncObject = static_cast<EglSyncObject*>(syncObject);
-  delete eglSyncObject;
-}
-
-void EglSyncImplementation::InitializeEglSync()
-{
-}
-
-#endif
-
-} // namespace Dali
-} // namespace Internal
-} // namespace Adaptor
diff --git a/dali/internal/graphics/gles20/egl-sync-implementation.h b/dali/internal/graphics/gles20/egl-sync-implementation.h
deleted file mode 100644 (file)
index 932a3fe..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-#ifndef __DALI_INTERNAL_ADAPTOR_EGL_SYNC_IMPLEMENTATION_H__
-#define __DALI_INTERNAL_ADAPTOR_EGL_SYNC_IMPLEMENTATION_H__
-
-/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// EXTERNAL INCLUDES
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-#include <dali/public-api/common/dali-vector.h>
-#include <dali/integration-api/gl-sync-abstraction.h>
-
-// INTERNAL INCLUDES
-#include <dali/public-api/dali-adaptor-common.h>
-
-namespace Dali
-{
-namespace Internal
-{
-namespace Adaptor
-{
-class EglImplementation;
-
-class EglSyncObject : public Integration::GlSyncAbstraction::SyncObject
-{
-public:
-  /**
-   * Constructor
-   */
-  EglSyncObject( EglImplementation& eglSyncImpl );
-
-  /**
-   * Destructor
-   */
-  virtual ~EglSyncObject();
-
-  /**
-   * @copydoc Dali::Integration::GlSyncAbstraction::SyncObject::IsSynced()
-   */
-  virtual bool IsSynced();
-
-private:
-#ifdef _ARCH_ARM_
-  EGLSyncKHR mEglSync;
-#else
-  int mPollCounter; // Implementations without fence sync use a 3 frame counter
-#endif
-  EglImplementation& mEglImplementation;
-};
-
-
-/**
- * GlSyncImplementation is a concrete implementation for GlSyncAbstraction.
- * It provides fence syncing for resources such as FrameBuffers using EGL extensions
- *
- * Sync objects are created in the render thread after a render instruction
- * has been processed (i.e. GL draw calls have completed for a given FB), and
- * tested in the update
- */
-class EglSyncImplementation : public Integration::GlSyncAbstraction
-{
-public:
-  /**
-   * Constructor
-   */
-  EglSyncImplementation();
-
-  /**
-   * Destructor
-   */
-  virtual ~EglSyncImplementation();
-
-  /**
-   * Initialize the sync object with the Egl implementation.
-   * @param[in] impl The EGL implementation (to access display)
-   */
-  void Initialize( EglImplementation* impl );
-
-  /**
-   * @copydoc Dali::Integration::GlSyncAbstraction::CreateSyncObject()
-   */
-  virtual SyncObject* CreateSyncObject();
-
-  /**
-   * @copydoc Dali::Integration::GlSyncAbstraction::DestroySyncObject()
-   */
-  virtual void DestroySyncObject(SyncObject* syncObject);
-
-private:
-  /**
-   * Set up the function pointers
-   */
-  void InitializeEglSync();
-
-private:
-  typedef Vector<EglSyncObject*>   SyncContainer;
-  typedef SyncContainer::Iterator  SyncIter;
-
-  EglImplementation* mEglImplementation; ///< Egl implementation (to get display)
-  bool mSyncInitialized;        ///< Flag to perform initialization on first use
-  bool mSyncInitializeFailed;   ///< Flag to avoid reloading functions if failed once
-
-  SyncContainer mSyncObjects;
-};
-
-} // namespace Adaptor
-} // namespace Internal
-} // namespace Dali
-
-#endif // __DALI_INTERNAL_EGL_ADAPTOR_SYNC_IMPLEMENTATION_H__
diff --git a/dali/internal/graphics/gles20/gl-extensions.cpp b/dali/internal/graphics/gles20/gl-extensions.cpp
deleted file mode 100644 (file)
index fea1eac..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// CLASS HEADER
-#include <dali/internal/graphics/gles20/gl-extensions.h>
-
-// EXTERNAL INCLUDES
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-
-#include <dali/integration-api/debug.h>
-
-namespace Dali
-{
-
-namespace Internal
-{
-
-namespace Adaptor
-{
-
-namespace ECoreX
-{
-
-GlExtensions::GlExtensions()
-:
-#if DALI_GLES_VERSION < 30
-#ifdef GL_EXT_discard_framebuffer
-  mGlDiscardFramebuffer( NULL ),
-#endif
-#ifdef GL_OES_get_program_binary
-  mGlGetProgramBinaryOES( NULL ),
-  mGlProgramBinaryOES( NULL ),
-#endif
-#endif // DALI_GLES_VERSION < 30
-  mInitialized( false )
-{
-}
-
-GlExtensions::~GlExtensions()
-{
-}
-
-#if DALI_GLES_VERSION < 30
-
-void GlExtensions::DiscardFrameBuffer(GLenum target, GLsizei numAttachments, const GLenum *attachments)
-{
-  // initialize extension on first use as on some hw platforms a context
-  // has to be bound for the extensions to return correct pointer
-  if( !mInitialized )
-  {
-    Initialize();
-  }
-
-#ifdef GL_EXT_discard_framebuffer
-  if( mGlDiscardFramebuffer )
-  {
-    mGlDiscardFramebuffer(target, numAttachments, attachments);
-  }
-  else
-  {
-    DALI_LOG_ERROR("Error: glDiscardFramebufferEXT extension is not available\n");
-  }
-#endif
-}
-
-void GlExtensions::GetProgramBinaryOES(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary)
-{
-  // initialize extension on first use as on some hw platforms a context
-  // has to be bound for the extensions to return correct pointer
-  if( !mInitialized )
-  {
-    Initialize();
-  }
-
-#ifdef GL_OES_get_program_binary
-  if (mGlGetProgramBinaryOES)
-  {
-    mGlGetProgramBinaryOES(program, bufSize, length, binaryFormat, binary);
-  }
-  else
-  {
-    DALI_LOG_ERROR("Error: glGetProgramBinaryOES extension is not available\n");
-    DALI_ASSERT_DEBUG(0);
-  }
-#endif
-}
-
-void GlExtensions::ProgramBinaryOES(GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length)
-{
-  // initialize extension on first use as on some hw platforms a context
-  // has to be bound for the extensions to return correct pointer
-  if( !mInitialized )
-  {
-    Initialize();
-  }
-
-#ifdef GL_OES_get_program_binary
-  if (mGlProgramBinaryOES)
-  {
-    mGlProgramBinaryOES(program, binaryFormat, binary, length);
-  }
-  else
-  {
-    DALI_LOG_ERROR("Error: glProgramBinaryOES extension is not available\n");
-    DALI_ASSERT_DEBUG(0);
-  }
-#endif
-}
-
-void GlExtensions::Initialize()
-{
-  mInitialized = true;
-
-#ifdef GL_EXT_discard_framebuffer
-  mGlDiscardFramebuffer = reinterpret_cast< PFNGLDISCARDFRAMEBUFFEREXTPROC >( eglGetProcAddress("glDiscardFramebufferEXT") );
-#endif
-
-#ifdef GL_OES_get_program_binary
-  mGlGetProgramBinaryOES = reinterpret_cast< PFNGLGETPROGRAMBINARYOESPROC >( eglGetProcAddress("glGetProgramBinaryOES") );
-  mGlProgramBinaryOES = reinterpret_cast< PFNGLPROGRAMBINARYOESPROC >( eglGetProcAddress("glProgramBinaryOES") );
-#endif
-}
-
-#endif // DALI_GLES_VERSION < 30
-
-} // namespace ECoreX
-
-} // namespace Adaptor
-
-} // namespace Internal
-
-} // namespace Dali
diff --git a/dali/internal/graphics/gles20/gl-extensions.h b/dali/internal/graphics/gles20/gl-extensions.h
deleted file mode 100644 (file)
index 569a266..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-#ifndef __DALI_INTERNAL_GL_EXTENSION_H__
-#define __DALI_INTERNAL_GL_EXTENSION_H__
-
-/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// EXTERNAL INCLUDES
-
-#if DALI_GLES_VERSION >= 30
-#include <GLES3/gl3.h>
-#include <GLES3/gl3ext.h>
-#else
-#include <GLES2/gl2.h>
-#include <GLES2/gl2ext.h>
-#endif
-
-
-namespace Dali
-{
-
-namespace Internal
-{
-
-namespace Adaptor
-{
-
-namespace ECoreX
-{
-
-/**
- * GlExtensions class provides GL extensions support
- */
-class GlExtensions
-{
-public:
-
-  /**
-   * Constructor
-   */
-  GlExtensions();
-
-  /**
-   * Destructor
-   */
-  ~GlExtensions();
-
-
-public:
-
-#if DALI_GLES_VERSION < 30
-
-  /**
-   * If the GL extension is available this function discards specified data in attachments
-   * from being copied from the target to improve performance.
-   *
-   * Usage: GLenum attachments[] = { GL_DEPTH_ATTACHMENT, GL_STENCIL_ATTACHMENT };
-   *        DiscardFrameBufferEXT(GL_FRAMEBUFFER, 2, attachments);
-   *
-   * @param target is usually GL_FRAMEBUFFER
-   * @param numAttachments is the count of attachments
-   * @param attachments is a pointer to the attachments
-   */
-  void DiscardFrameBuffer (GLenum target, GLsizei numAttachments, const GLenum *attachments);
-
-  /**
-   * GLES extension
-   * Returns the program object's executable bytecode.
-   * @param[in] program       The program object's name/id
-   * @param[in] bufSize       The maximum number of bytes that may be written into binary
-   * @param[out] length       The actual number of bytes written into binary
-   * @param[out] binaryFormat The format of the program binary
-   * @param[out] binary       The actual program bytecode
-   */
-  void GetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary);
-
-  /**
-   * GLES extension
-   * Loads a program object with a program binary previously returned from GetProgramBinaryOES
-   * @param[in] program       The program object's name/id
-   * @param[in] binaryFormat  The format of the program binary
-   * @param[in] binary        The program bytecode
-   * @param[in] length        The number of bytes in binary
-   */
-  void ProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length);
-
-#endif // DALI_GLES_VERSION < 30
-
-private:
-
-  /**
-   * Lazy Initialize extensions on first use
-   */
-  void Initialize();
-
-#if DALI_GLES_VERSION < 30
-
-#ifdef GL_EXT_discard_framebuffer
-  PFNGLDISCARDFRAMEBUFFEREXTPROC mGlDiscardFramebuffer;
-#endif
-
-#ifdef GL_OES_get_program_binary
-  PFNGLGETPROGRAMBINARYOESPROC mGlGetProgramBinaryOES;
-  PFNGLPROGRAMBINARYOESPROC mGlProgramBinaryOES;
-#endif
-
-#endif // DALI_GLES_VERSION < 30
-
-  bool mInitialized;
-
-};
-
-} // namespace ECoreX
-
-} // namespace Adaptor
-
-} // namespace Internal
-
-} // namespace Dali
-
-#endif /* __DALI_INTERNAL_GL_EXTENSION_H__ */
diff --git a/dali/internal/graphics/gles20/gl-implementation.h b/dali/internal/graphics/gles20/gl-implementation.h
deleted file mode 100644 (file)
index 60a7b00..0000000
+++ /dev/null
@@ -1,1557 +0,0 @@
-#ifndef __DALI_INTERNAL_GL_IMPLEMENTATION_H__
-#define __DALI_INTERNAL_GL_IMPLEMENTATION_H__
-
-/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// EXTERNAL INCLUDES
-#ifndef DALI_GLES_VERSION
-#error "OpenGL ES version not specified"
-#endif
-
-#if DALI_GLES_VERSION >= 31
-#include <GLES3/gl31.h>
-#elif DALI_GLES_VERSION >= 30
-#include <GLES3/gl3.h>
-#else
-#include <cstdlib>
-#include <GLES2/gl2.h>
-#endif
-
-#include <dali/integration-api/gl-abstraction.h>
-
-// INTERNAL INCLUDES
-#include <dali/internal/graphics/gles20/gl-extensions.h>
-
-namespace Dali
-{
-
-namespace Internal
-{
-
-namespace Adaptor
-{
-
-/**
- * GlImplementation is a concrete implementation for GlAbstraction.
- * The class provides an OpenGL-ES 2.0 implementation.
- * The class is provided when creating the Integration::Core object.
- */
-class GlImplementation: public Dali::Integration::GlAbstraction
-{
-
-public:
-  virtual ~GlImplementation() {}
-
-  void PreRender()
-  {
-    /* Do nothing in main implementation */
-  }
-
-  void PostRender()
-  {
-    /* Do nothing in main implementation */
-  }
-
-  /* OpenGL ES 2.0 */
-
-  void ActiveTexture (GLenum texture)
-  {
-    glActiveTexture(texture);
-  }
-
-  void AttachShader (GLuint program, GLuint shader)
-  {
-    glAttachShader(program,shader);
-  }
-
-  void BindAttribLocation (GLuint program, GLuint index, const char* name)
-  {
-    glBindAttribLocation(program,index,name);
-  }
-
-  void BindBuffer (GLenum target, GLuint buffer)
-  {
-    glBindBuffer(target,buffer);
-  }
-
-  void BindFramebuffer (GLenum target, GLuint framebuffer)
-  {
-    glBindFramebuffer(target,framebuffer);
-  }
-
-  void BindRenderbuffer (GLenum target, GLuint renderbuffer)
-  {
-    glBindRenderbuffer(target,renderbuffer);
-  }
-
-  void BindTexture (GLenum target, GLuint texture)
-  {
-    glBindTexture(target,texture);
-  }
-
-  void BlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
-  {
-    glBlendColor(red,green,blue,alpha);
-  }
-
-  void BlendEquation ( GLenum mode )
-  {
-    glBlendEquation(mode);
-  }
-
-  void BlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha)
-  {
-    glBlendEquationSeparate(modeRGB,modeAlpha);
-  }
-
-  void BlendFunc (GLenum sfactor, GLenum dfactor)
-  {
-    glBlendFunc(sfactor,dfactor);
-  }
-
-  void BlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
-  {
-    glBlendFuncSeparate(srcRGB,dstRGB,srcAlpha,dstAlpha);
-  }
-
-  void BufferData (GLenum target, GLsizeiptr size, const void* data, GLenum usage)
-  {
-    glBufferData(target,size,data,usage);
-  }
-
-  void BufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void* data)
-  {
-    glBufferSubData(target,offset,size,data);
-  }
-
-  GLenum CheckFramebufferStatus (GLenum target)
-  {
-    return glCheckFramebufferStatus(target);
-  }
-
-  void Clear (GLbitfield mask)
-  {
-    glClear(mask);
-  }
-
-  void ClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
-  {
-    glClearColor(red,green,blue,alpha);
-  }
-
-  void ClearDepthf (GLclampf depth)
-  {
-    glClearDepthf(depth);
-  }
-
-  void ClearStencil (GLint s)
-  {
-    glClearStencil(s);
-  }
-
-  void ColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
-  {
-    glColorMask(red,green,blue,alpha);
-  }
-
-  void CompileShader (GLuint shader)
-  {
-    glCompileShader(shader);
-  }
-
-  void CompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data)
-  {
-    glCompressedTexImage2D(target,level,internalformat,width,height,border,imageSize,data);
-  }
-
-  void CompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void* data)
-  {
-    glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data);
-  }
-
-  void CopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)
-  {
-    glCopyTexImage2D(target,level,internalformat,x,y,width,height,border);
-  }
-
-  void CopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
-  {
-    glCopyTexSubImage2D(target,level,xoffset,yoffset,x,y,width,height);
-  }
-
-  GLuint CreateProgram (void)
-  {
-    return glCreateProgram();
-  }
-
-  GLuint CreateShader (GLenum type)
-  {
-    return glCreateShader(type);
-  }
-
-  void CullFace (GLenum mode)
-  {
-    glCullFace(mode);
-  }
-
-  void DeleteBuffers (GLsizei n, const GLuint* buffers)
-  {
-    glDeleteBuffers(n,buffers);
-  }
-
-  void DeleteFramebuffers (GLsizei n, const GLuint* framebuffers)
-  {
-    glDeleteFramebuffers(n,framebuffers);
-  }
-
-  void DeleteProgram (GLuint program)
-  {
-    glDeleteProgram(program);
-  }
-
-  void DeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers)
-  {
-    glDeleteRenderbuffers(n,renderbuffers);
-  }
-
-  void DeleteShader (GLuint shader)
-  {
-    glDeleteShader(shader);
-  }
-
-  void DeleteTextures (GLsizei n, const GLuint* textures)
-  {
-    glDeleteTextures(n,textures);
-  }
-
-  void DepthFunc (GLenum func)
-  {
-    glDepthFunc(func);
-  }
-
-  void DepthMask (GLboolean flag)
-  {
-    glDepthMask(flag);
-  }
-
-  void DepthRangef (GLclampf zNear, GLclampf zFar)
-  {
-    glDepthRangef(zNear,zFar);
-  }
-
-  void DetachShader (GLuint program, GLuint shader)
-  {
-    glDetachShader(program,shader);
-  }
-
-  void Disable (GLenum cap)
-  {
-    glDisable(cap);
-  }
-
-  void DisableVertexAttribArray (GLuint index)
-  {
-    glDisableVertexAttribArray(index);
-  }
-
-  void DrawArrays (GLenum mode, GLint first, GLsizei count)
-  {
-    glDrawArrays(mode,first,count);
-  }
-
-  void DrawElements (GLenum mode, GLsizei count, GLenum type, const void* indices)
-  {
-    glDrawElements(mode,count,type,indices);
-  }
-
-  void Enable (GLenum cap)
-  {
-    glEnable(cap);
-  }
-
-  void EnableVertexAttribArray (GLuint index)
-  {
-    glEnableVertexAttribArray(index);
-  }
-
-  void Finish (void)
-  {
-    glFinish();
-  }
-
-  void Flush (void)
-  {
-    glFlush();
-  }
-
-  void FramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
-  {
-    glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer);
-  }
-
-  void FramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
-  {
-    glFramebufferTexture2D(target,attachment,textarget,texture,level);
-  }
-
-  void FrontFace (GLenum mode)
-  {
-    glFrontFace(mode);
-  }
-
-  void GenBuffers (GLsizei n, GLuint* buffers)
-  {
-    glGenBuffers(n,buffers);
-  }
-
-  void GenerateMipmap (GLenum target)
-  {
-    glGenerateMipmap(target);
-  }
-
-  void GenFramebuffers (GLsizei n, GLuint* framebuffers)
-  {
-    glGenFramebuffers(n,framebuffers);
-  }
-
-  void GenRenderbuffers (GLsizei n, GLuint* renderbuffers)
-  {
-    glGenRenderbuffers(n,renderbuffers);
-  }
-
-  void GenTextures (GLsizei n, GLuint* textures)
-  {
-    glGenTextures(n,textures);
-  }
-
-  void GetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)
-  {
-    glGetActiveAttrib(program,index,bufsize,length,size,type,name);
-  }
-
-  void GetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, char* name)
-  {
-    glGetActiveUniform(program,index,bufsize,length,size,type,name);
-  }
-
-  void GetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders)
-  {
-    glGetAttachedShaders(program,maxcount,count,shaders);
-  }
-
-  int  GetAttribLocation (GLuint program, const char* name)
-  {
-    return glGetAttribLocation(program,name);
-  }
-
-  void GetBooleanv (GLenum pname, GLboolean* params)
-  {
-    glGetBooleanv(pname,params);
-  }
-
-  void GetBufferParameteriv (GLenum target, GLenum pname, GLint* params)
-  {
-    glGetBufferParameteriv(target,pname,params);
-  }
-
-  GLenum       GetError (void)
-  {
-    return glGetError();
-  }
-
-  void GetFloatv (GLenum pname, GLfloat* params)
-  {
-    glGetFloatv(pname,params);
-  }
-
-  void GetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params)
-  {
-    glGetFramebufferAttachmentParameteriv(target,attachment,pname,params);
-  }
-
-  void GetIntegerv (GLenum pname, GLint* params)
-  {
-    glGetIntegerv(pname,params);
-  }
-
-  void GetProgramiv (GLuint program, GLenum pname, GLint* params)
-  {
-    glGetProgramiv(program,pname,params);
-  }
-
-  void GetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, char* infolog)
-  {
-    glGetProgramInfoLog(program,bufsize,length,infolog);
-  }
-
-  void GetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params)
-  {
-    glGetRenderbufferParameteriv(target,pname,params);
-  }
-
-  void GetShaderiv (GLuint shader, GLenum pname, GLint* params)
-  {
-    glGetShaderiv(shader,pname,params);
-  }
-
-  void GetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog)
-  {
-    glGetShaderInfoLog(shader,bufsize,length,infolog);
-  }
-
-  void GetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision)
-  {
-    glGetShaderPrecisionFormat(shadertype,precisiontype,range,precision);
-  }
-
-  void GetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, char* source)
-  {
-    glGetShaderSource(shader,bufsize,length,source);
-  }
-
-  const GLubyte* GetString (GLenum name)
-  {
-    return glGetString(name);
-  }
-
-  void GetTexParameterfv (GLenum target, GLenum pname, GLfloat* params)
-  {
-    glGetTexParameterfv(target,pname,params);
-  }
-
-  void GetTexParameteriv (GLenum target, GLenum pname, GLint* params)
-  {
-    glGetTexParameteriv(target,pname,params);
-  }
-
-  void GetUniformfv (GLuint program, GLint location, GLfloat* params)
-  {
-    glGetUniformfv(program,location,params);
-  }
-
-  void GetUniformiv (GLuint program, GLint location, GLint* params)
-  {
-    glGetUniformiv(program,location,params);
-  }
-
-  int  GetUniformLocation (GLuint program, const char* name)
-  {
-    return glGetUniformLocation(program,name);
-  }
-
-  void GetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params)
-  {
-    glGetVertexAttribfv(index,pname,params);
-  }
-
-  void GetVertexAttribiv (GLuint index, GLenum pname, GLint* params)
-  {
-    glGetVertexAttribiv(index,pname,params);
-  }
-
-  void GetVertexAttribPointerv (GLuint index, GLenum pname, void** pointer)
-  {
-    glGetVertexAttribPointerv(index,pname,pointer);
-  }
-
-  void Hint (GLenum target, GLenum mode)
-  {
-    glHint(target,mode);
-  }
-
-  GLboolean IsBuffer (GLuint buffer)
-  {
-    return glIsBuffer(buffer);
-  }
-
-  GLboolean IsEnabled (GLenum cap)
-  {
-    return glIsEnabled(cap);
-  }
-
-  GLboolean IsFramebuffer (GLuint framebuffer)
-  {
-    return glIsFramebuffer(framebuffer);
-  }
-
-  GLboolean IsProgram (GLuint program)
-  {
-    return glIsProgram(program);
-  }
-
-  GLboolean IsRenderbuffer (GLuint renderbuffer)
-  {
-    return glIsRenderbuffer(renderbuffer);
-  }
-
-  GLboolean IsShader (GLuint shader)
-  {
-    return glIsShader(shader);
-  }
-
-  GLboolean IsTexture (GLuint texture)
-  {
-    return glIsTexture(texture);
-  }
-
-  void LineWidth (GLfloat width)
-  {
-    glLineWidth(width);
-  }
-
-  void LinkProgram (GLuint program)
-  {
-    glLinkProgram(program);
-  }
-
-  void PixelStorei (GLenum pname, GLint param)
-  {
-    glPixelStorei(pname,param);
-  }
-
-  void PolygonOffset (GLfloat factor, GLfloat units)
-  {
-    glPolygonOffset(factor,units);
-  }
-
-  void ReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void* pixels)
-  {
-    glReadPixels(x,y,width,height,format,type,pixels);
-  }
-
-  void ReleaseShaderCompiler (void)
-  {
-    glReleaseShaderCompiler();
-  }
-
-  void RenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
-  {
-    glRenderbufferStorage(target,internalformat,width,height);
-  }
-
-  void SampleCoverage (GLclampf value, GLboolean invert)
-  {
-    glSampleCoverage(value,invert);
-  }
-
-  void Scissor (GLint x, GLint y, GLsizei width, GLsizei height)
-  {
-    glScissor(x,y,width,height);
-  }
-
-  void ShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary, GLsizei length)
-  {
-    glShaderBinary(n,shaders,binaryformat,binary,length);
-  }
-
-  void ShaderSource (GLuint shader, GLsizei count, const char** string, const GLint* length)
-  {
-    glShaderSource(shader,count,string,length);
-  }
-
-  void StencilFunc (GLenum func, GLint ref, GLuint mask)
-  {
-    glStencilFunc(func,ref,mask);
-  }
-
-  void StencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask)
-  {
-    glStencilFuncSeparate(face,func,ref,mask);
-  }
-
-  void StencilMask (GLuint mask)
-  {
-    glStencilMask(mask);
-  }
-
-  void StencilMaskSeparate (GLenum face, GLuint mask)
-  {
-    glStencilMaskSeparate(face,mask);
-  }
-
-  void StencilOp (GLenum fail, GLenum zfail, GLenum zpass)
-  {
-    glStencilOp(fail,zfail,zpass);
-  }
-
-  void StencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass)
-  {
-    glStencilOpSeparate(face,fail,zfail,zpass);
-  }
-
-  void TexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void* pixels)
-  {
-    glTexImage2D(target,level,internalformat,width,height,border,format,type,pixels);
-  }
-
-  void TexParameterf (GLenum target, GLenum pname, GLfloat param)
-  {
-    glTexParameterf(target,pname,param);
-  }
-
-  void TexParameterfv (GLenum target, GLenum pname, const GLfloat* params)
-  {
-    glTexParameterfv(target,pname,params);
-  }
-
-  void TexParameteri (GLenum target, GLenum pname, GLint param)
-  {
-    glTexParameteri(target,pname,param);
-  }
-
-  void TexParameteriv (GLenum target, GLenum pname, const GLint* params)
-  {
-    glTexParameteriv(target,pname,params);
-  }
-
-  void TexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void* pixels)
-  {
-    glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels);
-  }
-
-  void Uniform1f (GLint location, GLfloat x)
-  {
-    glUniform1f(location,x);
-  }
-
-  void Uniform1fv (GLint location, GLsizei count, const GLfloat* v)
-  {
-    glUniform1fv(location,count,v);
-  }
-
-  void Uniform1i (GLint location, GLint x)
-  {
-    glUniform1i(location,x);
-  }
-
-  void Uniform1iv (GLint location, GLsizei count, const GLint* v)
-  {
-    glUniform1iv(location,count,v);
-  }
-
-  void Uniform2f (GLint location, GLfloat x, GLfloat y)
-  {
-    glUniform2f(location,x,y);
-  }
-
-  void Uniform2fv (GLint location, GLsizei count, const GLfloat* v)
-  {
-    glUniform2fv(location,count,v);
-  }
-
-  void Uniform2i (GLint location, GLint x, GLint y)
-  {
-    glUniform2i(location,x,y);
-  }
-
-  void Uniform2iv (GLint location, GLsizei count, const GLint* v)
-  {
-    glUniform2iv(location,count,v);
-  }
-
-  void Uniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z)
-  {
-    glUniform3f(location,x,y,z);
-  }
-
-  void Uniform3fv (GLint location, GLsizei count, const GLfloat* v)
-  {
-    glUniform3fv(location,count,v);
-  }
-
-  void Uniform3i (GLint location, GLint x, GLint y, GLint z)
-  {
-    glUniform3i(location,x,y,z);
-  }
-
-  void Uniform3iv (GLint location, GLsizei count, const GLint* v)
-  {
-    glUniform3iv(location,count,v);
-  }
-
-  void Uniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
-  {
-    glUniform4f(location,x,y,z,w);
-  }
-
-  void Uniform4fv (GLint location, GLsizei count, const GLfloat* v)
-  {
-    glUniform4fv(location,count,v);
-  }
-
-  void Uniform4i (GLint location, GLint x, GLint y, GLint z, GLint w)
-  {
-    glUniform4i(location,x,y,z,w);
-  }
-
-  void Uniform4iv (GLint location, GLsizei count, const GLint* v)
-  {
-    glUniform4iv(location,count,v);
-  }
-
-  void UniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-    glUniformMatrix2fv(location,count,transpose,value);
-  }
-
-  void UniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-    glUniformMatrix3fv(location,count,transpose,value);
-  }
-
-  void UniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-    glUniformMatrix4fv(location,count,transpose,value);
-  }
-
-  void UseProgram (GLuint program)
-  {
-    glUseProgram(program);
-  }
-
-  void ValidateProgram (GLuint program)
-  {
-    glValidateProgram(program);
-  }
-
-  void VertexAttrib1f (GLuint indx, GLfloat x)
-  {
-    glVertexAttrib1f(indx,x);
-  }
-
-  void VertexAttrib1fv (GLuint indx, const GLfloat* values)
-  {
-    glVertexAttrib1fv(indx,values);
-  }
-
-  void VertexAttrib2f (GLuint indx, GLfloat x, GLfloat y)
-  {
-    glVertexAttrib2f(indx,x,y);
-  }
-
-  void VertexAttrib2fv (GLuint indx, const GLfloat* values)
-  {
-    glVertexAttrib2fv(indx,values);
-  }
-
-  void VertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z)
-  {
-    glVertexAttrib3f(indx,x,y,z);
-  }
-
-  void VertexAttrib3fv (GLuint indx, const GLfloat* values)
-  {
-    glVertexAttrib3fv(indx,values);
-  }
-
-  void VertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
-  {
-    glVertexAttrib4f(indx,x,y,z,w);
-  }
-
-  void VertexAttrib4fv (GLuint indx, const GLfloat* values)
-  {
-    glVertexAttrib4fv(indx,values);
-  }
-
-  void VertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void* ptr)
-  {
-    glVertexAttribPointer(indx,size,type,normalized,stride,ptr);
-  }
-
-  void Viewport (GLint x, GLint y, GLsizei width, GLsizei height)
-  {
-    glViewport(x,y,width,height);
-  }
-
-  /* OpenGL ES 3.0 */
-
-  void ReadBuffer(GLenum mode)
-  {
-#if DALI_GLES_VERSION >= 30
-    glReadBuffer(mode);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void DrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid* indices)
-  {
-#if DALI_GLES_VERSION >= 30
-    glDrawRangeElements(mode,start,end,count,type,indices);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void TexImage3D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels)
-  {
-#if DALI_GLES_VERSION >= 30
-    glTexImage3D(target,level,internalformat,width,height,depth,border,format,type,pixels);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void TexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels)
-  {
-#if DALI_GLES_VERSION >= 30
-    glTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,pixels);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void CopyTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
-  {
-#if DALI_GLES_VERSION >= 30
-    glCopyTexSubImage3D(target,level,xoffset,yoffset,zoffset,x,y,width,height);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void CompressedTexImage3D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data)
-  {
-#if DALI_GLES_VERSION >= 30
-    glCompressedTexImage3D(target,level,internalformat,width,height,depth,border,imageSize,data);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void CompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data)
-  {
-#if DALI_GLES_VERSION >= 30
-    glCompressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,imageSize,data);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GenQueries(GLsizei n, GLuint* ids)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGenQueries(n,ids);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void DeleteQueries(GLsizei n, const GLuint* ids)
-  {
-#if DALI_GLES_VERSION >= 30
-    glDeleteQueries(n,ids);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  GLboolean IsQuery(GLuint id)
-  {
-#if DALI_GLES_VERSION >= 30
-    return glIsQuery(id);
-#else
-    return 0;
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void BeginQuery(GLenum target, GLuint id)
-  {
-#if DALI_GLES_VERSION >= 30
-    glBeginQuery(target,id);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void EndQuery(GLenum target)
-  {
-#if DALI_GLES_VERSION >= 30
-    glEndQuery(target);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetQueryiv(GLenum target, GLenum pname, GLint* params)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetQueryiv(target,pname,params);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetQueryObjectuiv(GLuint id, GLenum pname, GLuint* params)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetQueryObjectuiv(id,pname,params);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  GLboolean UnmapBuffer(GLenum target)
-  {
-#if DALI_GLES_VERSION >= 30
-    return glUnmapBuffer(target);
-#else
-    return 0;
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetBufferPointerv(GLenum target, GLenum pname, GLvoid** params)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetBufferPointerv(target,pname,params);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void DrawBuffers(GLsizei n, const GLenum* bufs)
-  {
-#if DALI_GLES_VERSION >= 30
-    glDrawBuffers(n,bufs);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void UniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniformMatrix2x3fv(location,count,transpose,value);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void UniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniformMatrix3x2fv(location,count,transpose,value);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void UniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniformMatrix2x4fv(location,count,transpose,value);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void UniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniformMatrix4x2fv(location,count,transpose,value);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void UniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniformMatrix3x4fv(location,count,transpose,value);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void UniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniformMatrix4x3fv(location,count,transpose,value);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void BlitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
-  {
-#if DALI_GLES_VERSION >= 30
-    glBlitFramebuffer(srcX0,srcY0,srcX1,srcY1,dstX0,dstY0,dstX1,dstY1,mask,filter);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void RenderbufferStorageMultisample(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
-  {
-#if DALI_GLES_VERSION >= 30
-    glRenderbufferStorageMultisample(target,samples,internalformat,width,height);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void FramebufferTextureLayer(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
-  {
-#if DALI_GLES_VERSION >= 30
-    glFramebufferTextureLayer(target,attachment,texture,level,layer);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  GLvoid* MapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
-  {
-#if DALI_GLES_VERSION >= 30
-    return glMapBufferRange(target,offset,length,access);
-#else
-    return NULL;
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void FlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
-  {
-#if DALI_GLES_VERSION >= 30
-    glFlushMappedBufferRange(target,offset,length);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void BindVertexArray(GLuint array)
-  {
-#if DALI_GLES_VERSION >= 30
-    glBindVertexArray(array);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void DeleteVertexArrays(GLsizei n, const GLuint* arrays)
-  {
-#if DALI_GLES_VERSION >= 30
-    glDeleteVertexArrays(n,arrays);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GenVertexArrays(GLsizei n, GLuint* arrays)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGenVertexArrays(n,arrays);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  GLboolean IsVertexArray(GLuint array)
-  {
-#if DALI_GLES_VERSION >= 30
-    return glIsVertexArray(array);
-#else
-    return 0;
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetIntegeri_v(GLenum target, GLuint index, GLint* data)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetIntegeri_v(target,index,data);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void BeginTransformFeedback(GLenum primitiveMode)
-  {
-#if DALI_GLES_VERSION >= 30
-    glBeginTransformFeedback(primitiveMode);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void EndTransformFeedback(void)
-  {
-#if DALI_GLES_VERSION >= 30
-    glEndTransformFeedback();
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void BindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
-  {
-#if DALI_GLES_VERSION >= 30
-    glBindBufferRange(target,index,buffer,offset,size);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void BindBufferBase(GLenum target, GLuint index, GLuint buffer)
-  {
-#if DALI_GLES_VERSION >= 30
-    glBindBufferBase(target,index,buffer);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void TransformFeedbackVaryings(GLuint program, GLsizei count, const GLchar* const* varyings, GLenum bufferMode)
-  {
-#if DALI_GLES_VERSION >= 30
-    glTransformFeedbackVaryings(program,count,varyings,bufferMode);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetTransformFeedbackVarying(GLuint program, GLuint index, GLsizei bufSize, GLsizei* length, GLsizei* size, GLenum* type, GLchar* name)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetTransformFeedbackVarying(program,index,bufSize,length,size,type,name);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void VertexAttribIPointer(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid* pointer)
-  {
-#if DALI_GLES_VERSION >= 30
-    glVertexAttribIPointer(index,size,type,stride,pointer);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetVertexAttribIiv(GLuint index, GLenum pname, GLint* params)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetVertexAttribIiv(index,pname,params);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetVertexAttribIuiv(GLuint index, GLenum pname, GLuint* params)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetVertexAttribIuiv(index,pname,params);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void VertexAttribI4i(GLuint index, GLint x, GLint y, GLint z, GLint w)
-  {
-#if DALI_GLES_VERSION >= 30
-    glVertexAttribI4i(index,x,y,z,w);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void VertexAttribI4ui(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)
-  {
-#if DALI_GLES_VERSION >= 30
-    glVertexAttribI4ui(index,x,y,z,w);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void VertexAttribI4iv(GLuint index, const GLint* v)
-  {
-#if DALI_GLES_VERSION >= 30
-    glVertexAttribI4iv(index,v);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void VertexAttribI4uiv(GLuint index, const GLuint* v)
-  {
-#if DALI_GLES_VERSION >= 30
-    glVertexAttribI4uiv(index,v);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetUniformuiv(GLuint program, GLint location, GLuint* params)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetUniformuiv(program,location,params);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  GLint GetFragDataLocation(GLuint program, const GLchar *name)
-  {
-#if DALI_GLES_VERSION >= 30
-    return glGetFragDataLocation(program,name);
-#else
-    return -1;
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void Uniform1ui(GLint location, GLuint v0)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniform1ui(location,v0);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void Uniform2ui(GLint location, GLuint v0, GLuint v1)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniform2ui(location,v0,v1);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void Uniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniform3ui(location,v0,v1,v2);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void Uniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniform4ui(location,v0,v1,v2,v3);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void Uniform1uiv(GLint location, GLsizei count, const GLuint* value)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniform1uiv(location,count,value);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void Uniform2uiv(GLint location, GLsizei count, const GLuint* value)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniform2uiv(location,count,value);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void Uniform3uiv(GLint location, GLsizei count, const GLuint* value)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniform3uiv(location,count,value);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void Uniform4uiv(GLint location, GLsizei count, const GLuint* value)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniform4uiv(location,count,value);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void ClearBufferiv(GLenum buffer, GLint drawbuffer, const GLint* value)
-  {
-#if DALI_GLES_VERSION >= 30
-    glClearBufferiv(buffer,drawbuffer,value);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void ClearBufferuiv(GLenum buffer, GLint drawbuffer, const GLuint* value)
-  {
-#if DALI_GLES_VERSION >= 30
-    glClearBufferuiv(buffer,drawbuffer,value);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void ClearBufferfv(GLenum buffer, GLint drawbuffer, const GLfloat* value)
-  {
-#if DALI_GLES_VERSION >= 30
-    glClearBufferfv(buffer,drawbuffer,value);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void ClearBufferfi(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)
-  {
-#if DALI_GLES_VERSION >= 30
-    glClearBufferfi(buffer,drawbuffer,depth,stencil);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  const GLubyte* GetStringi(GLenum name, GLuint index)
-  {
-#if DALI_GLES_VERSION >= 30
-    return glGetStringi(name,index);
-#else
-    return NULL;
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void CopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
-  {
-#if DALI_GLES_VERSION >= 30
-    glCopyBufferSubData(readTarget,writeTarget,readOffset,writeOffset,size);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar* const* uniformNames, GLuint* uniformIndices)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetUniformIndices(program,uniformCount,uniformNames,uniformIndices);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetActiveUniformsiv(program,uniformCount,uniformIndices,pname,params);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  GLuint GetUniformBlockIndex(GLuint program, const GLchar* uniformBlockName)
-  {
-#if DALI_GLES_VERSION >= 30
-    return glGetUniformBlockIndex(program,uniformBlockName);
-#else
-    return 0;
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetActiveUniformBlockiv(program,uniformBlockIndex,pname,params);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetActiveUniformBlockName(program,uniformBlockIndex,bufSize,length,uniformBlockName);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void UniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
-  {
-#if DALI_GLES_VERSION >= 30
-    glUniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void DrawArraysInstanced(GLenum mode, GLint first, GLsizei count, GLsizei instanceCount)
-  {
-#if DALI_GLES_VERSION >= 30
-    glDrawArraysInstanced(mode,first,count,instanceCount);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void DrawElementsInstanced(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLsizei instanceCount)
-  {
-#if DALI_GLES_VERSION >= 30
-    glDrawElementsInstanced(mode,count,type,indices,instanceCount);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  GLsync FenceSync(GLenum condition, GLbitfield flags)
-  {
-#if DALI_GLES_VERSION >= 30
-    return glFenceSync(condition,flags);
-#else
-    return NULL;
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  GLboolean IsSync(GLsync sync)
-  {
-#if DALI_GLES_VERSION >= 30
-    return glIsSync(sync);
-#else
-    return 0;
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void DeleteSync(GLsync sync)
-  {
-#if DALI_GLES_VERSION >= 30
-    glDeleteSync(sync);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  GLenum ClientWaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
-  {
-#if DALI_GLES_VERSION >= 30
-    return glClientWaitSync(sync,flags,timeout);
-#else
-    return 0;
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void WaitSync(GLsync sync, GLbitfield flags, GLuint64 timeout)
-  {
-#if DALI_GLES_VERSION >= 30
-    glWaitSync(sync,flags,timeout);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetInteger64v(GLenum pname, GLint64* params)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetInteger64v(pname,params);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetSynciv(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetSynciv(sync,pname,bufSize,length,values);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetInteger64i_v(GLenum target, GLuint index, GLint64* data)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetInteger64i_v(target,index,data);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetBufferParameteri64v(GLenum target, GLenum pname, GLint64* params)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetBufferParameteri64v(target,pname,params);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GenSamplers(GLsizei count, GLuint* samplers)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGenSamplers(count,samplers);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void DeleteSamplers(GLsizei count, const GLuint* samplers)
-  {
-#if DALI_GLES_VERSION >= 30
-    glDeleteSamplers(count,samplers);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  GLboolean IsSampler(GLuint sampler)
-  {
-#if DALI_GLES_VERSION >= 30
-    return glIsSampler(sampler);
-#else
-    return 0;
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void BindSampler(GLuint unit, GLuint sampler)
-  {
-#if DALI_GLES_VERSION >= 30
-    glBindSampler(unit,sampler);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void SamplerParameteri(GLuint sampler, GLenum pname, GLint param)
-  {
-#if DALI_GLES_VERSION >= 30
-    glSamplerParameteri(sampler,pname,param);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void SamplerParameteriv(GLuint sampler, GLenum pname, const GLint* param)
-  {
-#if DALI_GLES_VERSION >= 30
-    glSamplerParameteriv(sampler,pname,param);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void SamplerParameterf(GLuint sampler, GLenum pname, GLfloat param)
-  {
-#if DALI_GLES_VERSION >= 30
-    glSamplerParameterf(sampler,pname,param);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void SamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat* param)
-  {
-#if DALI_GLES_VERSION >= 30
-    glSamplerParameterfv(sampler,pname,param);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetSamplerParameteriv(GLuint sampler, GLenum pname, GLint* params)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetSamplerParameteriv(sampler,pname,params);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat* params)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetSamplerParameterfv(sampler,pname,params);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void VertexAttribDivisor(GLuint index, GLuint divisor)
-  {
-#if DALI_GLES_VERSION >= 30
-    glVertexAttribDivisor(index,divisor);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void BindTransformFeedback(GLenum target, GLuint id)
-  {
-#if DALI_GLES_VERSION >= 30
-    glBindTransformFeedback(target,id);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void DeleteTransformFeedbacks(GLsizei n, const GLuint* ids)
-  {
-#if DALI_GLES_VERSION >= 30
-    glDeleteTransformFeedbacks(n,ids);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GenTransformFeedbacks(GLsizei n, GLuint* ids)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGenTransformFeedbacks(n,ids);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  GLboolean IsTransformFeedback(GLuint id)
-  {
-#if DALI_GLES_VERSION >= 30
-    return glIsTransformFeedback(id);
-#else
-    return 0;
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void PauseTransformFeedback(void)
-  {
-#if DALI_GLES_VERSION >= 30
-    glPauseTransformFeedback();
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void ResumeTransformFeedback(void)
-  {
-#if DALI_GLES_VERSION >= 30
-    glResumeTransformFeedback();
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetProgramBinary(GLuint program, GLsizei bufSize, GLsizei* length, GLenum* binaryFormat, GLvoid* binary)
-  {
-#if DALI_GLES_VERSION >= 30
-    // if OpenGL ES 2.0 compatibility is need this can be implemented with
-    // glGetProgramBinaryOES
-    glGetProgramBinary(program,bufSize,length,binaryFormat,binary);
-#else
-    mGlExtensions.GetProgramBinaryOES(program, bufSize, length, binaryFormat, binary);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void ProgramBinary(GLuint program, GLenum binaryFormat, const GLvoid* binary, GLsizei length)
-  {
-#if DALI_GLES_VERSION >= 30
-    // if OpenGL ES 2.0 compatibility is need this can be implemented with
-    // glProgramBinaryOES
-    glProgramBinary(program,binaryFormat,binary,length);
-#else
-    mGlExtensions.ProgramBinaryOES(program, binaryFormat, binary, length);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void ProgramParameteri(GLuint program, GLenum pname, GLint value)
-  {
-#if DALI_GLES_VERSION >= 30
-    glProgramParameteri(program,pname,value);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void InvalidateFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments)
-  {
-#if DALI_GLES_VERSION >= 30
-    glInvalidateFramebuffer(target,numAttachments,attachments);
-#else
-    mGlExtensions.DiscardFrameBuffer(target, numAttachments, attachments);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void InvalidateSubFramebuffer(GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height)
-  {
-#if DALI_GLES_VERSION >= 30
-    glInvalidateSubFramebuffer(target,numAttachments,attachments,x,y,width,height);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void TexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
-  {
-#if DALI_GLES_VERSION >= 30
-    glTexStorage2D(target,levels,internalformat,width,height);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void TexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
-  {
-#if DALI_GLES_VERSION >= 30
-    glTexStorage3D(target,levels,internalformat,width,height,depth);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-  void GetInternalformativ(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params)
-  {
-#if DALI_GLES_VERSION >= 30
-    glGetInternalformativ(target,internalformat,pname,bufSize,params);
-#endif // DALI_GLES_VERSION >= 30
-  }
-
-private:
-  ECoreX::GlExtensions mGlExtensions;
-
-};
-
-} // namespace Adaptor
-
-} // namespace Internal
-
-} // namespace Dali
-
-#endif // __DALI_INTERNAL_GL_IMPLEMENTATION_H__
diff --git a/dali/internal/graphics/gles20/gl-proxy-implementation.cpp b/dali/internal/graphics/gles20/gl-proxy-implementation.cpp
deleted file mode 100644 (file)
index b5724b4..0000000
+++ /dev/null
@@ -1,466 +0,0 @@
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// CLASS HEADER
-#include <dali/internal/graphics/gles20/gl-proxy-implementation.h>
-
-// EXTERNAL INCLUDES
-#include <math.h>
-
-#include <dali/integration-api/debug.h>
-
-// INTERNAL INCLUDES
-#include <dali/internal/system/common/environment-options.h>
-
-namespace
-{
-const int NUM_FRAMES_PER_SECOND( 60 );
-}
-
-
-namespace Dali
-{
-namespace Internal
-{
-namespace Adaptor
-{
-
-Sampler::Sampler( const char* description )
-: mDescription( description ),
-  mAccumulatedSquare( 0 ),
-  mAccumulated( 0 ),
-  mNumSamples( 0 ),
-  mMin( 0.0f ),
-  mMax( 0.0f ),
-  mCurrentFrameCount( 0 )
-{
-}
-
-void Sampler::Increment()
-{
-  mCurrentFrameCount++;
-}
-
-void Sampler::Reset()
-{
-  mAccumulatedSquare = 0;
-  mAccumulated = 0;
-  mNumSamples = 0;
-  mMin = 0.0f;
-  mMax = 0.0f;
-  mCurrentFrameCount = 0;
-}
-
-void Sampler::Accumulate()
-{
-  if( mNumSamples == 0 )
-  {
-    mMin = mCurrentFrameCount;
-    mMax = mCurrentFrameCount;
-  }
-  else
-  {
-    if( mCurrentFrameCount < mMin )
-    {
-      mMin = mCurrentFrameCount;
-    }
-    if( mCurrentFrameCount > mMax )
-    {
-      mMax = mCurrentFrameCount;
-    }
-  }
-
-  mNumSamples++;
-
-  mAccumulated += mCurrentFrameCount;
-  mAccumulatedSquare += ( mCurrentFrameCount * mCurrentFrameCount );
-  mCurrentFrameCount = 0;
-}
-const char* Sampler::GetDescription() const
-{
-  return mDescription;
-}
-
-float Sampler::GetMeanValue() const
-{
-  float meanValue = 0;
-  if( mNumSamples > 0 )
-  {
-    meanValue = static_cast<double>( mAccumulated ) / static_cast<double>( mNumSamples );
-  }
-  return meanValue;
-}
-
-float Sampler::GetStandardDeviation() const
-{
-  float standardDeviation = 0.0f;
-  if( mNumSamples > 0 )
-  {
-    standardDeviation = sqrtf( mNumSamples * mAccumulatedSquare - ( mAccumulated * mAccumulated ) ) / mNumSamples;
-  }
-  return standardDeviation;
-}
-
-float Sampler::GetMin() const
-{
-  return mMin;
-}
-
-float Sampler::GetMax() const
-{
-  return mMax;
-}
-
-uint64_t Sampler::GetCount() const
-{
-  return mAccumulated;
-}
-
-ObjectCounter::ObjectCounter( const char* description )
-: mDescription( description ),
-  mCount( 0 ),
-  mPeak( 0 )
-{}
-
-void ObjectCounter::Increment()
-{
-  ++mCount;
-  if( mCount > mPeak )
-  {
-    mPeak = mCount;
-  }
-}
-
-void ObjectCounter::Decrement()
-{
-  --mCount;
-}
-
-unsigned int ObjectCounter::GetCount() const
-{
-  return mCount;
-}
-unsigned int ObjectCounter::GetPeak() const
-{
-  return mPeak;
-}
-
-const char* ObjectCounter::GetDescription() const
-{
-  return mDescription;
-}
-
-GlProxyImplementation::GlProxyImplementation( EnvironmentOptions& environmentOptions )
-: mEnvironmentOptions( environmentOptions ),
-  mActiveTextureSampler( "ActiveTexture calls" ),
-  mClearSampler( "Clear calls" ),
-  mBindBufferSampler( "Bind buffers" ),
-  mBindTextureSampler( "Bind textures" ),
-  mDrawSampler( "Draw calls" ),
-  mUniformSampler( "Uniform sets" ),
-  mUseProgramSampler( "Used programs" ),
-  mBufferCount( "Buffer Count" ),
-  mTextureCount( "Texture Count" ),
-  mProgramCount( "Program Count" ),
-  mCurrentFrameCount( 0 ),
-  mTotalFrameCount( 0 )
-{
-}
-
-GlProxyImplementation::~GlProxyImplementation()
-{
-}
-
-void GlProxyImplementation::PreRender()
-{
-}
-
-void GlProxyImplementation::PostRender()
-{
-  // Accumulate counts in each sampler
-  AccumulateSamples();
-
-  // When we reach the desired frame count, output the averages from the samples
-  mTotalFrameCount++;
-  mCurrentFrameCount++;
-
-  if( mCurrentFrameCount >= mEnvironmentOptions.GetGlesCallTime() * NUM_FRAMES_PER_SECOND )
-  {
-    mCurrentFrameCount = 0;
-    LogResults();
-
-    if( !mEnvironmentOptions.GetGlesCallAccumulate() )
-    {
-      ResetSamplers();
-    }
-  }
-}
-
-void GlProxyImplementation::Clear( GLbitfield mask )
-{
-  mClearSampler.Increment();
-  GlImplementation::Clear(mask);
-}
-
-void GlProxyImplementation::GenBuffers(GLsizei n, GLuint* buffers)
-{
-  mBufferCount.Increment();
-  GlImplementation::GenBuffers( n, buffers );
-}
-
-void GlProxyImplementation::DeleteBuffers( GLsizei n, const GLuint* buffers )
-{
-  mBufferCount.Decrement();
-  GlImplementation::DeleteBuffers( n, buffers );
-}
-
-void GlProxyImplementation::BindBuffer( GLenum target, GLuint buffer )
-{
-  mBindBufferSampler.Increment();
-  GlImplementation::BindBuffer( target, buffer );
-}
-
-void GlProxyImplementation::GenTextures( GLsizei n, GLuint* textures )
-{
-  mTextureCount.Increment();
-  GlImplementation::GenTextures( n, textures );
-}
-
-void GlProxyImplementation::DeleteTextures( GLsizei n, const GLuint* textures )
-{
-  mTextureCount.Decrement();
-  GlImplementation::DeleteTextures( n, textures );
-}
-
-void GlProxyImplementation::ActiveTexture( GLenum texture )
-{
-  mActiveTextureSampler.Increment();
-  GlImplementation::ActiveTexture( texture );
-}
-
-void GlProxyImplementation::BindTexture( GLenum target, GLuint texture )
-{
-  mBindTextureSampler.Increment();
-  GlImplementation::BindTexture(target,texture);
-}
-
-void GlProxyImplementation::DrawArrays( GLenum mode, GLint first, GLsizei count )
-{
-  mDrawSampler.Increment();
-  GlImplementation::DrawArrays( mode, first, count );
-}
-
-void GlProxyImplementation::DrawElements( GLenum mode, GLsizei count, GLenum type, const void* indices )
-{
-  mDrawSampler.Increment();
-  GlImplementation::DrawElements( mode, count, type, indices );
-}
-
-void GlProxyImplementation::Uniform1f( GLint location, GLfloat x )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform1f( location, x );
-}
-
-void GlProxyImplementation::Uniform1fv( GLint location, GLsizei count, const GLfloat* v )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform1fv( location, count, v );
-}
-
-void GlProxyImplementation::Uniform1i( GLint location, GLint x )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform1i( location, x );
-}
-
-void GlProxyImplementation::Uniform1iv( GLint location, GLsizei count, const GLint* v )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform1iv( location, count, v );
-}
-
-void GlProxyImplementation::Uniform2f( GLint location, GLfloat x, GLfloat y)
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform2f( location, x, y );
-}
-
-void GlProxyImplementation::Uniform2fv( GLint location, GLsizei count, const GLfloat* v )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform2fv( location, count, v );
-}
-
-void GlProxyImplementation::Uniform2i( GLint location, GLint x, GLint y )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform2i( location, x, y );
-}
-
-void GlProxyImplementation::Uniform2iv( GLint location, GLsizei count, const GLint* v )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform2iv( location, count, v );
-}
-
-void GlProxyImplementation::Uniform3f( GLint location, GLfloat x, GLfloat y, GLfloat z )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform3f( location, x, y, z );
-}
-
-void GlProxyImplementation::Uniform3fv( GLint location, GLsizei count, const GLfloat* v )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform3fv( location, count, v );
-}
-
-void GlProxyImplementation::Uniform3i( GLint location, GLint x, GLint y, GLint z )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform3i( location, x, y, z );
-}
-
-void GlProxyImplementation::Uniform3iv( GLint location, GLsizei count, const GLint* v )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform3iv( location, count, v );
-}
-
-void GlProxyImplementation::Uniform4f( GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform4f( location, x, y, z, w );
-}
-
-void GlProxyImplementation::Uniform4fv( GLint location, GLsizei count, const GLfloat* v )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform4fv( location, count, v );
-}
-
-void GlProxyImplementation::Uniform4i( GLint location, GLint x, GLint y, GLint z, GLint w )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform4i( location, x, y, z, w );
-}
-
-void GlProxyImplementation::Uniform4iv( GLint location, GLsizei count, const GLint* v )
-{
-  mUniformSampler.Increment();
-  GlImplementation::Uniform4iv( location, count, v );
-}
-
-void GlProxyImplementation::UniformMatrix2fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value )
-{
-  mUniformSampler.Increment();
-  GlImplementation::UniformMatrix2fv( location, count, transpose, value );
-}
-
-void GlProxyImplementation::UniformMatrix3fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value )
-{
-  mUniformSampler.Increment();
-  GlImplementation::UniformMatrix3fv( location, count, transpose, value );
-}
-
-void GlProxyImplementation::UniformMatrix4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value )
-{
-  mUniformSampler.Increment();
-  GlImplementation::UniformMatrix4fv( location, count, transpose, value);
-}
-
-GLuint GlProxyImplementation::CreateProgram( void )
-{
-  mProgramCount.Increment();
-  return GlImplementation::CreateProgram();
-}
-
-void GlProxyImplementation::DeleteProgram( GLuint program )
-{
-  mProgramCount.Decrement();
-  GlImplementation::DeleteProgram( program );
-}
-
-void GlProxyImplementation::UseProgram( GLuint program )
-{
-  mUseProgramSampler.Increment();
-  GlImplementation::UseProgram( program );
-}
-
-void GlProxyImplementation::AccumulateSamples()
-{
-  // Accumulate counts in each sampler
-  mActiveTextureSampler.Accumulate();
-  mClearSampler.Accumulate();
-  mBindBufferSampler.Accumulate();
-  mBindTextureSampler.Accumulate();
-  mDrawSampler.Accumulate();
-  mUniformSampler.Accumulate();
-  mUseProgramSampler.Accumulate();
-}
-
-void GlProxyImplementation::LogResults()
-{
-  Debug::LogMessage( Debug::DebugInfo, "OpenGL ES statistics sampled over %d frames) operations per frame:\n", mTotalFrameCount );
-  LogCalls( mActiveTextureSampler );
-  LogCalls( mClearSampler );
-  LogCalls( mBindBufferSampler );
-  LogCalls( mBindTextureSampler );
-  LogCalls( mDrawSampler );
-  LogCalls( mUniformSampler );
-  LogCalls( mUseProgramSampler );
-  Debug::LogMessage( Debug::DebugInfo, "OpenGL ES Object Count:\n" );
-  LogObjectCounter( mBufferCount );
-  LogObjectCounter( mTextureCount );
-  LogObjectCounter( mProgramCount );
-}
-
-void GlProxyImplementation::LogCalls( const Sampler& sampler )
-{
-  Debug::LogMessage( Debug::DebugInfo, "  %s : Mean %5.2f  (Min:%5.2f, Max:%5.2f, StdDev:%5.2f, Actual:%d)\n",
-                     sampler.GetDescription(),
-                     sampler.GetMeanValue(), sampler.GetMin(), sampler.GetMax(),
-                     sampler.GetStandardDeviation(),
-                     sampler.GetCount() );
-}
-
-void GlProxyImplementation::LogObjectCounter( const ObjectCounter& sampler )
-{
-  Debug::LogMessage( Debug::DebugInfo, "  %s : %u  (Peak:%u)\n",
-                     sampler.GetDescription(),
-                     sampler.GetCount(),
-                     sampler.GetPeak() );
-}
-
-void GlProxyImplementation::ResetSamplers()
-{
-  mActiveTextureSampler.Reset();
-  mClearSampler.Reset();
-  mBindBufferSampler.Reset();
-  mBindTextureSampler.Reset();
-  mDrawSampler.Reset();
-  mUniformSampler.Reset();
-  mUseProgramSampler.Reset();
-  mTotalFrameCount = 0;
-}
-
-} // namespace Adaptor
-
-} // namespace Internal
-
-} // namespace Dali
diff --git a/dali/internal/graphics/gles20/gl-proxy-implementation.h b/dali/internal/graphics/gles20/gl-proxy-implementation.h
deleted file mode 100644 (file)
index 26c24ca..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-#ifndef __DALI_INTERNAL_GL_PROXY_IMPLEMENTATION_H__
-#define __DALI_INTERNAL_GL_PROXY_IMPLEMENTATION_H__
-
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// INTERNAL INCLUDES
-#include <dali/internal/graphics/gles20/gl-implementation.h>
-
-namespace Dali
-{
-namespace Internal
-{
-namespace Adaptor
-{
-class EnvironmentOptions;
-
-/**
- * Helper class to calculate the statistics for Open GLES calls
- */
-class Sampler
-{
-public:
-
-  /**
-   * Constructor
-   * @param description to write to the log
-   */
-  Sampler( const char* description );
-
-  /**
-   * Increment the counter for this frame
-   */
-  void Increment();
-
-  /**
-   * Reset the counter
-   */
-  void Reset();
-
-  /**
-   * Accumulate the count onto statistics
-   */
-  void Accumulate();
-
-  /**
-   * @return the description of the sampler
-   */
-  const char* GetDescription() const;
-
-  /**
-   * @return the mean value
-   */
-  float GetMeanValue() const;
-
-  /**
-   * @return the standard deviation
-   */
-  float GetStandardDeviation() const;
-
-  /**
-   * @return the minimum value
-   */
-  float GetMin() const;
-
-  /**
-   * @return the maximum value
-   */
-  float GetMax() const;
-
-  /**
-   * @return the current count
-   */
-  uint64_t GetCount() const;
-
-private: // Data
-
-  const char* mDescription;
-
-  uint64_t mAccumulatedSquare;
-  uint64_t mAccumulated;
-  uint64_t mNumSamples;
-  float mMin;
-  float mMax;
-  unsigned int mCurrentFrameCount;
-};
-
-/**
- * Helper class to calculate number of OpenGL objects
- */
-class ObjectCounter
-{
-public:
-  ObjectCounter( const char* description );
-
-  /**
-   * Increment the counter
-   */
-  void Increment();
-
-  /**
-   * Decrement the counter
-   */
-  void Decrement();
-
-  /**
-   * @return The current number of objects
-   */
-  unsigned int GetCount() const;
-
-  /**
-   * @return The maximum number of objects created
-   */
-  unsigned int GetPeak() const;
-
-  /**
-   * @return the description of the sampler
-   */
-  const char* GetDescription() const;
-
-private:
-  const char* mDescription;
-  unsigned int mCount;
-  unsigned int mPeak;
-};
-
-/**
- * GlProxyImplementation is a wrapper for the concrete implementation
- * of GlAbstraction that also gathers statistical information.
- */
-class GlProxyImplementation : public GlImplementation
-{
-public:
-
-  /**
-   * Constructor
-   * @param environmentOptions to check how often to log results
-   */
-  GlProxyImplementation( EnvironmentOptions& environmentOptions );
-
-  /**
-   * Virtual destructor
-   */
-  virtual ~GlProxyImplementation();
-
-  /**
-   * @copydoc GlAbstraction::PreRender();
-   */
-  virtual void PreRender();
-
-  /**
-   * @copydoc GlAbstraction::PostRender();
-   */
-  virtual void PostRender();
-
-  /* OpenGL ES 2.0 API */
-  virtual void Clear( GLbitfield mask );
-
-  virtual void GenBuffers( GLsizei n, GLuint* buffers );
-  virtual void DeleteBuffers( GLsizei n, const GLuint* buffers );
-  virtual void BindBuffer( GLenum target, GLuint buffer );
-
-  virtual void GenTextures( GLsizei n, GLuint* textures );
-  virtual void DeleteTextures( GLsizei n, const GLuint* textures );
-  virtual void ActiveTexture( GLenum texture );
-  virtual void BindTexture( GLenum target, GLuint texture );
-
-  virtual void DrawArrays( GLenum mode, GLint first, GLsizei count );
-  virtual void DrawElements( GLenum mode, GLsizei count, GLenum type, const void* indices );
-
-  virtual void Uniform1f ( GLint location, GLfloat x );
-  virtual void Uniform1fv( GLint location, GLsizei count, const GLfloat* v );
-  virtual void Uniform1i ( GLint location, GLint x );
-  virtual void Uniform1iv( GLint location, GLsizei count, const GLint* v );
-  virtual void Uniform2f ( GLint location, GLfloat x, GLfloat y );
-  virtual void Uniform2fv( GLint location, GLsizei count, const GLfloat* v );
-  virtual void Uniform2i ( GLint location, GLint x, GLint y );
-  virtual void Uniform2iv( GLint location, GLsizei count, const GLint* v );
-  virtual void Uniform3f ( GLint location, GLfloat x, GLfloat y, GLfloat z );
-  virtual void Uniform3fv( GLint location, GLsizei count, const GLfloat* v );
-  virtual void Uniform3i ( GLint location, GLint x, GLint y, GLint z );
-  virtual void Uniform3iv( GLint location, GLsizei count, const GLint* v );
-  virtual void Uniform4f ( GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
-  virtual void Uniform4fv( GLint location, GLsizei count, const GLfloat* v );
-  virtual void Uniform4i ( GLint location, GLint x, GLint y, GLint z, GLint w );
-  virtual void Uniform4iv( GLint location, GLsizei count, const GLint* v );
-  virtual void UniformMatrix2fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value );
-  virtual void UniformMatrix3fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value );
-  virtual void UniformMatrix4fv( GLint location, GLsizei count, GLboolean transpose, const GLfloat* value );
-
-  virtual GLuint CreateProgram( void );
-  virtual void DeleteProgram( GLuint program );
-  virtual void UseProgram( GLuint program );
-
-private: // Helpers
-
-  void AccumulateSamples();
-  void LogResults();
-  void LogCalls( const Sampler& sampler );
-  void LogObjectCounter( const ObjectCounter& sampler );
-  void ResetSamplers();
-
-private: // Data
-
-  EnvironmentOptions& mEnvironmentOptions;
-  Sampler mActiveTextureSampler;
-  Sampler mClearSampler;
-  Sampler mBindBufferSampler;
-  Sampler mBindTextureSampler;
-  Sampler mDrawSampler;
-  Sampler mUniformSampler;
-  Sampler mUseProgramSampler;
-  ObjectCounter mBufferCount;
-  ObjectCounter mTextureCount;
-  ObjectCounter mProgramCount;
-
-  int mCurrentFrameCount;
-  int mTotalFrameCount;
-};
-
-} // namespace Adaptor
-
-} // namespace Internal
-
-} // namespace Dali
-
-#endif // __DALI_INTERNAL_GL_PROXY_IMPLEMENTATION_H__
index 791c19d..7d3364e 100644 (file)
@@ -15,9 +15,9 @@
  *
  */
 
-#include <adaptors/devel-api/adaptor-framework/render-surface.h>
+#include <dali/integration-api/render-surface.h>
 #include <dali/internal/graphics/vulkan/x11/vk-surface-xlib.h>
-#include <dali/internal/window-system/common/window-render-surface.h>
+#include <dali/internal/window-system/ubuntu-x11/window-render-surface-ecore-x.h>
 
 namespace Dali
 {
@@ -29,7 +29,7 @@ namespace Vulkan
 VkSurfaceXlib::VkSurfaceXlib(Dali::RenderSurface& renderSurface)
 : VkSurfaceFactory()
 {
-  auto ecoreSurface = dynamic_cast<Dali::ECore::WindowRenderSurface*>(&renderSurface);
+  auto ecoreSurface = dynamic_cast<Dali::Internal::Adaptor::WindowRenderSurfaceEcoreX*>(&renderSurface);
   assert( ecoreSurface != nullptr && "This is not ecore surface!");
   mWindow = ecoreSurface->GetXWindow();
   mDisplay = XOpenDisplay(nullptr);
index cfc301e..564221d 100644 (file)
  *
  */
 
-#include <adaptors/devel-api/adaptor-framework/render-surface.h>
+#include <dali/integration-api/render-surface.h>
 #include <dali/internal/graphics/vulkan/x11/vk-surface-xlib2xcb.h>
-#include <dali/internal/window-system/common/window-render-surface.h>
-
+#include <dali/internal/window-system/ubuntu-x11/window-render-surface-ecore-x.h>
 #include <X11/Xlib-xcb.h>
 
 namespace Dali
@@ -31,7 +30,7 @@ namespace Vulkan
 VkSurfaceXlib2Xcb::VkSurfaceXlib2Xcb(Dali::RenderSurface& renderSurface)
 : VkSurfaceFactory()
 {
-  auto ecoreSurface = dynamic_cast<Dali::ECore::WindowRenderSurface*>(&renderSurface);
+  auto ecoreSurface = dynamic_cast<Dali::Internal::Adaptor::WindowRenderSurfaceEcoreX*>(&renderSurface);
   assert( ecoreSurface != nullptr && "This is not ecore surface!");
   mConnection = XGetXCBConnection(XOpenDisplay(nullptr));
   mWindow = static_cast<decltype(mWindow)>(ecoreSurface->GetXWindow());
index d81bbd8..f7f543e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,7 +23,6 @@
 #include <dali/integration-api/bitmap.h>
 
 // INTERNAL HEADERS
-#include <dali/internal/graphics/gles20/gl-implementation.h>
 
 namespace Dali
 {
@@ -42,7 +41,6 @@ NativeBitmapBuffer::NativeBitmapBuffer( Adaptor* adaptor, unsigned int width, un
 {
   DALI_ASSERT_ALWAYS( adaptor );
   mBuffer = new Integration::LocklessBuffer( width * height * Pixel::GetBytesPerPixel(pFormat) );
-  mGlAbstraction = &(adaptor->GetGlAbstraction());
 }
 
 NativeBitmapBuffer::~NativeBitmapBuffer()
@@ -53,10 +51,9 @@ NativeBitmapBuffer::~NativeBitmapBuffer()
 void NativeBitmapBuffer::PrepareTexture()
 {
   DALI_ASSERT_ALWAYS( mBuffer );
-  GLenum pixelFormat = GL_RGBA;
-  GLenum pixelDataType = GL_UNSIGNED_BYTE;
-
-  Integration::ConvertToGlFormat( mPixelFormat, pixelDataType, pixelFormat );
+  //GLenum pixelFormat = GL_RGBA;
+  //GLenum pixelDataType = GL_UNSIGNED_BYTE;
+  //Integration::ConvertToGlFormat( mPixelFormat, pixelDataType, pixelFormat );
 
   const unsigned char* buf = mBuffer->Read();
 
@@ -65,7 +62,7 @@ void NativeBitmapBuffer::PrepareTexture()
     mLastReadBuffer = buf;
 
     // The active texture has already been set to a sampler and bound.
-    mGlAbstraction->TexImage2D( GL_TEXTURE_2D, 0, pixelFormat, mWidth, mHeight, 0, pixelFormat, pixelDataType, buf );
+    //mGlAbstraction->TexImage2D( GL_TEXTURE_2D, 0, pixelFormat, mWidth, mHeight, 0, pixelFormat, pixelDataType, buf );
   }
 }
 
index 865bd0e..be82eaf 100644 (file)
@@ -2,7 +2,7 @@
 #define __DALI_NATIVE_BITMAP_BUFFER_H__
 
 /*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,7 +21,6 @@
 // EXTERNAL HEADERS
 #include <dali/public-api/images/native-image-interface.h>
 #include <dali/public-api/images/pixel.h>
-#include <dali/integration-api/gl-abstraction.h>
 #include <dali/integration-api/lockless-buffer.h>
 #include <dali/public-api/common/dali-vector.h>
 
@@ -111,8 +110,6 @@ private:
   NativeBitmapBuffer(); ///< not defined
 
 private:
-  Integration::GlAbstraction*  mGlAbstraction; ///< GlAbstraction used
-
   Integration::LocklessBuffer* mBuffer;        ///< bitmap data double buffered
   unsigned int                 mWidth;         ///< Image width
   unsigned int                 mHeight;        ///< Image height
index 73b0169..14115c3 100644 (file)
@@ -171,13 +171,13 @@ void NativeRenderSurfaceEcoreWl::StartRender()
 {
 }
 
-bool NativeRenderSurfaceEcoreWl::PreRender( EglInterface&, Integration::GlAbstraction&, bool )
+bool NativeRenderSurfaceEcoreWl::PreRender( EglInterface&, bool )
 {
   // nothing to do for pixmaps
   return true;
 }
 
-void NativeRenderSurfaceEcoreWl::PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface )
+void NativeRenderSurfaceEcoreWl::PostRender( EglInterface& egl, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface )
 {
   Internal::Adaptor::EglImplementation& eglImpl = static_cast<Internal::Adaptor::EglImplementation&>( egl );
   eglImpl.SwapBuffers();
index ae52443..c5c0b4c 100644 (file)
@@ -119,12 +119,12 @@ public: // from Dali::RenderSurface
   /**
    * @copydoc Dali::RenderSurface::PreRender()
    */
-  virtual bool PreRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, bool resizingSurface ) override;
+  virtual bool PreRender( EglInterface& egl, bool resizingSurface ) override;
 
   /**
    * @copydoc Dali::RenderSurface::PostRender()
    */
-  virtual void PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface ) override;
+  virtual void PostRender( EglInterface& egl, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface ) override;
 
   /**
    * @copydoc Dali::RenderSurface::StopRender()
index 50d0777..6d92cfc 100644 (file)
@@ -323,7 +323,7 @@ void WindowRenderSurfaceEcoreWl::StartRender()
 {
 }
 
-bool WindowRenderSurfaceEcoreWl::PreRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, bool resizingSurface )
+bool WindowRenderSurfaceEcoreWl::PreRender( EglInterface& egl, bool resizingSurface )
 {
   if( resizingSurface )
   {
@@ -430,7 +430,7 @@ bool WindowRenderSurfaceEcoreWl::PreRender( EglInterface& egl, Integration::GlAb
   return true;
 }
 
-void WindowRenderSurfaceEcoreWl::PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface )
+void WindowRenderSurfaceEcoreWl::PostRender( EglInterface& egl, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface )
 {
   if( resizingSurface )
   {
index 420bc92..469f874 100644 (file)
@@ -150,12 +150,12 @@ public: // from Dali::RenderSurface
   /**
    * @copydoc Dali::RenderSurface::PreRender()
    */
-  virtual bool PreRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, bool resizingSurface ) override;
+  virtual bool PreRender( EglInterface& egl, bool resizingSurface ) override;
 
   /**
    * @copydoc Dali::RenderSurface::PostRender()
    */
-  virtual void PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface ) override;
+  virtual void PostRender( EglInterface& egl, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface ) override;
 
   /**
    * @copydoc Dali::RenderSurface::StopRender()
index ce91867..a83178a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,7 +26,6 @@
 #include <X11/extensions/Xfixes.h> // for damage notify
 #include <X11/extensions/Xdamage.h> // for damage notify
 
-#include <dali/integration-api/gl-abstraction.h>
 #include <dali/integration-api/debug.h>
 #include <dali/devel-api/threading/mutex.h>
 
@@ -209,16 +208,16 @@ void PixmapRenderSurfaceEcoreX::StartRender()
 {
 }
 
-bool PixmapRenderSurfaceEcoreX::PreRender( EglInterface& egl, Integration::GlAbstraction&, bool )
+bool PixmapRenderSurfaceEcoreX::PreRender( EglInterface& egl, bool )
 {
   // Nothing to do for pixmaps
   return true;
 }
 
-void PixmapRenderSurfaceEcoreX::PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, Dali::DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface )
+void PixmapRenderSurfaceEcoreX::PostRender( EglInterface& egl, Dali::DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface )
 {
   // flush gl instruction queue
-  glAbstraction.Flush();
+  //glAbstraction.Flush();
 
   if( mThreadSynchronization )
   {
index d52e793..a667a06 100644 (file)
@@ -122,12 +122,12 @@ public: // from Dali::RenderSurface
   /**
    * @copydoc Dali::RenderSurface::PreRender()
    */
-  virtual bool PreRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, bool resizingSurface ) override;
+  virtual bool PreRender( EglInterface& egl, bool resizingSurface ) override;
 
   /**
    * @copydoc Dali::RenderSurface::PostRender()
    */
-  virtual void PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface );
+  virtual void PostRender( EglInterface& egl, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface );
 
   /**
    * @copydoc Dali::RenderSurface::StopRender()
index d4e0ae2..9664391 100644 (file)
@@ -26,7 +26,6 @@
 #include <X11/extensions/Xfixes.h> // for damage notify
 #include <X11/extensions/Xdamage.h> // for damage notify
 
-#include <dali/integration-api/gl-abstraction.h>
 #include <dali/integration-api/debug.h>
 
 // INTERNAL INCLUDES
@@ -238,13 +237,13 @@ void WindowRenderSurfaceEcoreX::StartRender()
 {
 }
 
-bool WindowRenderSurfaceEcoreX::PreRender( EglInterface&, Integration::GlAbstraction&, bool )
+bool WindowRenderSurfaceEcoreX::PreRender( EglInterface&, bool )
 {
   // nothing to do for windows
   return true;
 }
 
-void WindowRenderSurfaceEcoreX::PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, Dali::DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface )
+void WindowRenderSurfaceEcoreX::PostRender( EglInterface& egl, Dali::DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface )
 {
   Internal::Adaptor::EglImplementation& eglImpl = static_cast<Internal::Adaptor::EglImplementation&>( egl );
   eglImpl.SwapBuffers();
index cff4b2a..d91365c 100644 (file)
@@ -150,12 +150,12 @@ public: // from Dali::RenderSurface
   /**
    * @copydoc Dali::RenderSurface::PreRender()
    */
-  virtual bool PreRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, bool resizingSurface ) override;
+  virtual bool PreRender( EglInterface& egl, bool resizingSurface ) override;
 
   /**
    * @copydoc Dali::RenderSurface::PostRender()
    */
-  virtual void PostRender( EglInterface& egl, Integration::GlAbstraction& glAbstraction, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface ) override;
+  virtual void PostRender( EglInterface& egl, DisplayConnection* displayConnection, bool replacingSurface, bool resizingSurface ) override;
 
   /**
    * @copydoc Dali::RenderSurface::StopRender()