Revert "[Tizen] Ensured GL calls are not made after EGL Shutdown"
authorShinwoo Kim <cinoo.kim@samsung.com>
Tue, 1 Jun 2021 01:03:00 +0000 (10:03 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Tue, 1 Jun 2021 07:15:40 +0000 (16:15 +0900)
This reverts commit 2ccd4e09d9f11936b46af192b3bfb09fc66c46f3.

dali/internal/graphics/gles-impl/gles-graphics-program.cpp
dali/internal/graphics/gles-impl/gles-graphics-reflection.cpp
dali/internal/graphics/gles-impl/gles-graphics-shader.cpp
dali/internal/graphics/gles-impl/gles-graphics-texture.cpp

index 64de708..484f400 100644 (file)
@@ -82,14 +82,8 @@ bool ProgramImpl::Destroy()
 bool ProgramImpl::Create()
 {
   // Create and link new program
-  auto gl = mImpl->controller.GetGL();
-  if(!gl)
-  {
-    // Do nothing during shutdown
-    return false;
-  }
-
-  auto program = gl->CreateProgram();
+  auto& gl      = *mImpl->controller.GetGL();
+  auto  program = gl.CreateProgram();
 
   const auto& info = mImpl->createInfo;
   for(const auto& state : *info.shaderState)
@@ -99,23 +93,23 @@ bool ProgramImpl::Create()
     // Compile shader first (ignored when compiled)
     if(shader->Compile())
     {
-      gl->AttachShader(program, shader->GetGLShader());
+      gl.AttachShader(program, shader->GetGLShader());
     }
   }
-  gl->LinkProgram(program);
+  gl.LinkProgram(program);
 
   GLint status{0};
-  gl->GetProgramiv(program, GL_LINK_STATUS, &status);
+  gl.GetProgramiv(program, GL_LINK_STATUS, &status);
   if(status != GL_TRUE)
   {
     char    output[4096];
     GLsizei size{0u};
-    gl->GetProgramInfoLog(program, 4096, &size, output);
+    gl.GetProgramInfoLog(program, 4096, &size, output);
 
     // log on error
     // TODO: un-printf-it
     printf("Log: %s\n", output);
-    gl->DeleteProgram(program);
+    gl.DeleteProgram(program);
     return false;
   }
 
index 86a26b7..20be64f 100644 (file)
@@ -16,8 +16,6 @@
  */
 
 #include "gles-graphics-reflection.h"
-
-#include <dali/integration-api/debug.h>
 #include <dali/integration-api/gl-abstraction.h>
 #include <dali/integration-api/gl-defines.h>
 
@@ -116,11 +114,6 @@ void Reflection::BuildVertexAttributeReflection()
   char*  name;
 
   auto gl = mController.GetGL();
-  if(!gl)
-  {
-    // Do nothing during shutdown
-    return;
-  }
 
   gl->GetProgramiv(glProgram, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, &maxLength);
   gl->GetProgramiv(glProgram, GL_ACTIVE_ATTRIBUTES, &nAttribs);
@@ -156,11 +149,6 @@ void Reflection::BuildUniformReflection()
   int numUniforms = 0;
 
   auto gl = mController.GetGL();
-  if(!gl)
-  {
-    // Do nothing during shutdown
-    return;
-  }
 
   gl->GetProgramiv(glProgram, GL_ACTIVE_UNIFORM_MAX_LENGTH, &maxLen);
   gl->GetProgramiv(glProgram, GL_ACTIVE_UNIFORMS, &numUniforms);
@@ -265,13 +253,6 @@ void Reflection::BuildUniformBlockReflection()
   auto gl               = mController.GetGL();
   auto glProgram        = mProgram.GetGlProgram();
   int  numUniformBlocks = 0;
-
-  if(!gl)
-  {
-    // Do nothing during shutdown
-    return;
-  }
-
   gl->GetProgramiv(glProgram, GL_ACTIVE_UNIFORM_BLOCKS, &numUniformBlocks);
 
   mUniformBlocks.clear();
@@ -533,24 +514,17 @@ std::vector<Dali::Graphics::UniformInfo> Reflection::GetSamplers() const
 
 Graphics::ShaderLanguage Reflection::GetLanguage() const
 {
-  auto version = Graphics::ShaderLanguage::GLSL_3_2;
-
   auto gl = mController.GetGL();
-  if(!gl)
-  {
-    // Do nothing during shutdown
-    return version;
-  }
 
   int majorVersion, minorVersion;
   gl->GetIntegerv(GL_MAJOR_VERSION, &majorVersion);
   gl->GetIntegerv(GL_MINOR_VERSION, &minorVersion);
-  DALI_LOG_RELEASE_INFO("GL Version (integer) : %d.%d\n", majorVersion, minorVersion);
-  DALI_LOG_RELEASE_INFO("GLSL Version : %s\n", gl->GetString(GL_SHADING_LANGUAGE_VERSION));
+  printf("GL Version (integer) : %d.%d\n", majorVersion, minorVersion);
+  printf("GLSL Version : %s\n", gl->GetString(GL_SHADING_LANGUAGE_VERSION));
 
   // TODO: the language version is hardcoded for now, but we may use what we get
   // from GL_SHADING_LANGUAGE_VERSION?
-  return version;
+  return Graphics::ShaderLanguage::GLSL_3_2;
 }
 
 } // namespace Dali::Graphics::GLES
index 60f9a34..46a2968 100644 (file)
@@ -19,7 +19,6 @@
 #include "gles-graphics-shader.h"
 
 // INTERNAL INCLUDES
-#include <dali/integration-api/debug.h>
 #include "egl-graphics-controller.h"
 
 namespace Dali::Graphics::GLES
@@ -53,13 +52,7 @@ Shader::~Shader() = default;
 
 bool Shader::Compile() const
 {
-  auto gl = GetController().GetGL();
-
-  if(!gl)
-  {
-    return false;
-  }
-
+  auto& gl = *GetController().GetGL();
   if(!mImpl->glShader)
   {
     GLenum pipelineStage{0u};
@@ -103,22 +96,22 @@ bool Shader::Compile() const
 
     if(pipelineStage)
     {
-      auto       shader = gl->CreateShader(pipelineStage);
+      auto       shader = gl.CreateShader(pipelineStage);
       const auto src    = reinterpret_cast<const char*>(GetCreateInfo().sourceData);
       GLint      size   = GetCreateInfo().sourceSize;
-      gl->ShaderSource(shader, 1, const_cast<const char**>(&src), &size);
-      gl->CompileShader(shader);
+      gl.ShaderSource(shader, 1, const_cast<const char**>(&src), &size);
+      gl.CompileShader(shader);
 
       GLint status{0};
-      gl->GetShaderiv(shader, GL_COMPILE_STATUS, &status);
+      gl.GetShaderiv(shader, GL_COMPILE_STATUS, &status);
       if(status != GL_TRUE)
       {
         char    output[4096];
         GLsizei size{0u};
-        gl->GetShaderInfoLog(shader, 4096, &size, output);
-        DALI_LOG_RELEASE_INFO("Code: %s\n", reinterpret_cast<const char*>(GetCreateInfo().sourceData));
-        DALI_LOG_RELEASE_INFO("Log: %s\n", output);
-        gl->DeleteShader(shader);
+        gl.GetShaderInfoLog(shader, 4096, &size, output);
+        printf("Code: %s\n", reinterpret_cast<const char*>(GetCreateInfo().sourceData));
+        printf("Log: %s\n", output);
+        gl.DeleteShader(shader);
         return false;
       }
 
@@ -153,4 +146,4 @@ void Shader::DiscardResource()
   GetController().DiscardResource(this);
 }
 
-} // namespace Dali::Graphics::GLES
+} // namespace Dali::Graphics::GLES
\ No newline at end of file
index cf91080..738e02c 100644 (file)
@@ -73,12 +73,6 @@ bool Texture::InitializeNativeImage()
   auto   gl = mController.GetGL();
   GLuint texture{0};
 
-  if(!gl)
-  {
-    // Do nothing during shutdown
-    return false;
-  }
-
   NativeImageInterfacePtr nativeImage = mCreateInfo.nativeImagePtr;
   bool                    created     = nativeImage->CreateResource();
   mGlTarget                           = nativeImage->GetTextureTarget();
@@ -119,11 +113,6 @@ bool Texture::InitializeNativeImage()
 bool Texture::InitializeTexture()
 {
   auto gl = mController.GetGL();
-  if(!gl)
-  {
-    // Do nothing during shutdown
-    return false;
-  }
 
   GLuint texture{0};
 
@@ -200,11 +189,6 @@ void Texture::DiscardResource()
 void Texture::Bind(const TextureBinding& binding) const
 {
   auto gl = mController.GetGL();
-  if(!gl)
-  {
-    // Do nothing during shutdown
-    return;
-  }
 
   gl->ActiveTexture(GL_TEXTURE0 + binding.binding);
   gl->BindTexture(mGlTarget, mTextureId);