Print log when glCompile / glLinkProgram spend long time 35/300035/1
authorEunki, Hong <eunkiki.hong@samsung.com>
Mon, 16 Oct 2023 02:36:45 +0000 (11:36 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Mon, 16 Oct 2023 02:36:45 +0000 (11:36 +0900)
Change-Id: Ib6079ec907f91d55d061b84a08ad6f9fb7c8b83f
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali/internal/graphics/gles/gl-implementation.h

index 6d91719..3969bc7 100644 (file)
@@ -399,7 +399,22 @@ public:
 
   void CompileShader(GLuint shader) override
   {
+    uint32_t startTime = 0, endTime = 0;
+    if(mLogEnabled)
+    {
+      startTime = TimeService::GetMilliSeconds();
+    }
+
     glCompileShader(shader);
+
+    if(mLogEnabled)
+    {
+      endTime = TimeService::GetMilliSeconds();
+      if(endTime - startTime > mLogThreshold)
+      {
+        DALI_LOG_RELEASE_INFO("glCompileShader takes long time! [%u ms] shader id : %u\n", endTime - startTime, shader);
+      }
+    }
   }
 
   void CompressedTexImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void* data) override
@@ -774,7 +789,22 @@ public:
 
   void LinkProgram(GLuint program) override
   {
+    uint32_t startTime = 0, endTime = 0;
+    if(mLogEnabled)
+    {
+      startTime = TimeService::GetMilliSeconds();
+    }
+
     glLinkProgram(program);
+
+    if(mLogEnabled)
+    {
+      endTime = TimeService::GetMilliSeconds();
+      if(endTime - startTime > mLogThreshold)
+      {
+        DALI_LOG_RELEASE_INFO("glLinkProgram takes long time! [%u ms] program id : %u\n", endTime - startTime, program);
+      }
+    }
   }
 
   void PixelStorei(GLenum pname, GLint param) override