Revert "[Tizen] Revert "Make to use right egl image extension name in the glsl 3.x"
[platform/core/uifw/dali-adaptor.git] / dali / internal / graphics / gles / gl-implementation.h
index 4f3b8dc..40d764d 100644 (file)
@@ -40,19 +40,23 @@ namespace Adaptor
 {
 namespace
 {
-const int32_t INITIAL_GLES_VERSION                         = 30;
-const int32_t GLES_VERSION_SUPPORT_BLEND_EQUATION_ADVANCED = 32;
-const char*   KHR_BLEND_EQUATION_ADVANCED                  = "GL_KHR_blend_equation_advanced";
+static constexpr int32_t     INITIAL_GLES_VERSION                         = 30;
+static constexpr int32_t     GLES_VERSION_SUPPORT_BLEND_EQUATION_ADVANCED = 32;
+static constexpr const char* KHR_BLEND_EQUATION_ADVANCED                  = "GL_KHR_blend_equation_advanced";
 
-const char* FRAGMENT_SHADER_ADVANCED_BLEND_EQUATION_PREFIX =
+static constexpr const char* FRAGMENT_SHADER_ADVANCED_BLEND_EQUATION_PREFIX =
   "#extension GL_KHR_blend_equation_advanced : enable\n"
 
   "#if GL_KHR_blend_equation_advanced==1 || __VERSION__>=320\n"
   "  layout(blend_support_all_equations) out;\n"
   "#endif\n";
 
-const char* FRAGMENT_SHADER_OUTPUT_COLOR_STRING =
+static constexpr const char* FRAGMENT_SHADER_OUTPUT_COLOR_STRING =
   "out mediump vec4 fragColor;\n";
+
+static constexpr const char* OES_EGL_IMAGE_EXTERNAL_STRING = "#extension GL_OES_EGL_image_external:require\n";
+
+static constexpr const char* OES_EGL_IMAGE_EXTERNAL_STRING_ESSL3 = "#extension GL_OES_EGL_image_external_essl3:require\n";
 } // namespace
 
 /**
@@ -353,6 +357,23 @@ public:
     return mShadingLanguageVersion;
   }
 
+  const char* GetEglImageExtensionString()
+  {
+    ConditionalWait::ScopedLock lock(mContextCreatedWaitCondition);
+    if(!mIsContextCreated)
+    {
+      mContextCreatedWaitCondition.Wait(lock);
+    }
+    if(mShadingLanguageVersion < 300)
+    {
+      return OES_EGL_IMAGE_EXTERNAL_STRING;
+    }
+    else
+    {
+      return OES_EGL_IMAGE_EXTERNAL_STRING_ESSL3;
+    }
+  }
+
   /* OpenGL ES 2.0 */
 
   void ActiveTexture(GLenum texture) override