#define DALI_INTERNAL_EGL_IMPLEMENTATION_H
/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
* Choose config of egl
* @param isWindowType whether the config for window or pixmap
* @param colorDepth Bit per pixel value (ex. 32 or 24)
+ * @return true if the eglChooseConfig is succeed.
*/
- void ChooseConfig( bool isWindowType, ColorDepth depth );
+ bool ChooseConfig( bool isWindowType, ColorDepth depth );
/**
* Create an OpenGL surface using a window
bool ReplaceSurfacePixmap( EGLNativePixmapType pixmap, EGLSurface& eglSurface );
/**
+ * Sets gles version
+ */
+ void SetGlesVersion( const int32_t glesVersion );
+
+ /**
* returns the display with which this object was initialized
* @return the EGL Display.
*/
*/
EGLContext GetContext() const;
+ /**
+ * Returns the gles version
+ * @return the gles version
+ */
+ int32_t GetGlesVersion() const;
+
+ /**
+ * Returns whether the surfaceless context is supported
+ * @return true if the surfaceless context is supported
+ */
+ bool IsSurfacelessContextSupported() const;
+
+ /**
+ * @brief Wait until all rendering calls for the currently context are executed
+ */
+ void WaitClient();
+
private:
Vector<EGLint> mContextAttribs;
typedef std::vector<EGLSurface> EglWindowSurfaceContainer;
EglWindowSurfaceContainer mEglWindowSurfaces; ///< The EGL surface for the window
- int mMultiSamplingLevel;
+ int32_t mMultiSamplingLevel;
+ int32_t mGlesVersion;
ColorDepth mColorDepth;
bool mIsWindow;
bool mDepthBufferRequired;
bool mStencilBufferRequired;
+ bool mIsSurfacelessContextSupported;
+ bool mIsKhrCreateContextSupported;
};
} // namespace Adaptor