Merge "[Tizen] Remove unreached code in CanvasRenderer::Drawable" into tizen accepted/tizen/unified/20210402.004928 submit/tizen/20210401.183324
authorjunsu choi <jsuya.choi@samsung.com>
Thu, 1 Apr 2021 04:44:23 +0000 (04:44 +0000)
committerGerrit Code Review <gerrit@review>
Thu, 1 Apr 2021 04:44:23 +0000 (04:44 +0000)
dali/internal/graphics/gles-impl/gles-graphics-reflection.cpp

index 43420ad..2213fc0 100644 (file)
@@ -219,19 +219,25 @@ void Reflection::BuildUniformReflection()
     }
     else
     {
-      uint32_t previousUniformLocation       = mDefaultUniformBlock.members[i - 1].location;
-      auto     previousUniform               = std::find_if(mStandaloneUniformExtraInfos.begin(), mStandaloneUniformExtraInfos.end(), [&previousUniformLocation](const UniformExtraInfo& iter) { return iter.location == previousUniformLocation; });
-      mDefaultUniformBlock.members[i].offset = mDefaultUniformBlock.members[i - 1].offset + (previousUniform->size * previousUniform->arraySize);
-      mStandaloneUniformExtraInfos[i].offset = mDefaultUniformBlock.members[i].offset;
+      uint32_t previousUniformLocation = mDefaultUniformBlock.members[i - 1].location;
+      auto     previousUniform         = std::find_if(mStandaloneUniformExtraInfos.begin(), mStandaloneUniformExtraInfos.end(), [&previousUniformLocation](const UniformExtraInfo& iter) { return iter.location == previousUniformLocation; });
+      if(previousUniform != mStandaloneUniformExtraInfos.end())
+      {
+        mDefaultUniformBlock.members[i].offset = mDefaultUniformBlock.members[i - 1].offset + (previousUniform->size * previousUniform->arraySize);
+        mStandaloneUniformExtraInfos[i].offset = mDefaultUniformBlock.members[i].offset;
+      }
     }
   }
 
   if(mDefaultUniformBlock.members.size() > 0)
   {
-  uint32_t lastUniformLocation = mDefaultUniformBlock.members.back().location;
-  auto     lastUniform         = std::find_if(mStandaloneUniformExtraInfos.begin(), mStandaloneUniformExtraInfos.end(), [&lastUniformLocation](const UniformExtraInfo& iter) { return iter.location == lastUniformLocation; });
-  mDefaultUniformBlock.size    = mDefaultUniformBlock.members.back().offset + (lastUniform->size * lastUniform->arraySize);
-  mUniformBlocks.push_back(mDefaultUniformBlock);
+    uint32_t lastUniformLocation = mDefaultUniformBlock.members.back().location;
+    auto     lastUniform         = std::find_if(mStandaloneUniformExtraInfos.begin(), mStandaloneUniformExtraInfos.end(), [&lastUniformLocation](const UniformExtraInfo& iter) { return iter.location == lastUniformLocation; });
+    if(lastUniform != mStandaloneUniformExtraInfos.end())
+    {
+      mDefaultUniformBlock.size = mDefaultUniformBlock.members.back().offset + (lastUniform->size * lastUniform->arraySize);
+      mUniformBlocks.push_back(mDefaultUniformBlock);
+    }
   }
   else
   {
@@ -285,6 +291,12 @@ void Reflection::BuildUniformBlockReflection()
       GLenum type;
 
       gl->GetActiveUniform(glProgram, uniIndex, maxUniLen, &length, &size, &type, uniformName);
+
+      if(!uniformName)
+      {
+        continue;
+      }
+
       int location = gl->GetUniformLocation(glProgram, uniformName);
 
       Dali::Graphics::UniformInfo uniform;