Fix build error for implicitly constructing templated arrays of unique ptrs with... 57/255057/4
authorDavid Steele <david.steele@samsung.com>
Thu, 11 Mar 2021 13:54:12 +0000 (13:54 +0000)
committerRichard Huang <r.huang@samsung.com>
Thu, 11 Mar 2021 16:15:52 +0000 (16:15 +0000)
Change-Id: Icf5994e4f99d0a4f9d72dcb1d143b60d9ef5799e

dali/internal/render/renderers/render-renderer.h
dali/internal/render/shaders/program.cpp
dali/internal/render/shaders/program.h

index 09694b4..daef91f 100644 (file)
@@ -544,8 +544,7 @@ private:
 
   LegacyProgram mLegacyProgram; ///< The structure to pass the program ID into Graphics::PipelineCreateInfo
 
-  using UniformBufferList = std::array<Graphics::UniquePtr<Render::UniformBuffer>, 2u>;
-  UniformBufferList mUniformBuffer{}; ///< The double-buffered uniform buffer
+  Graphics::UniquePtr<Render::UniformBuffer> mUniformBuffer[2]{nullptr, nullptr}; ///< The double-buffered uniform buffer
 };
 
 } // namespace Render
index 3777adb..9c122fc 100644 (file)
@@ -66,10 +66,12 @@ const char* const gStdUniforms[Program::UNIFORM_TYPE_LAST] =
     "uSize"          // UNIFORM_SIZE
 };
 
+const unsigned int NUMBER_OF_DEFAULT_UNIFORMS = static_cast<unsigned int>(Program::DefaultUniformIndex::COUNT);
+
 /**
  * List of all default uniforms used for quicker lookup
  */
-std::array<size_t, 8> DEFAULT_UNIFORM_HASHTABLE =
+size_t DEFAULT_UNIFORM_HASHTABLE[NUMBER_OF_DEFAULT_UNIFORMS] =
   {
     CalculateHash(std::string("uModelMatrix")),
     CalculateHash(std::string("uMvpMatrix")),
@@ -681,7 +683,7 @@ void Program::ResetAttribsUniformCache()
 void Program::BuildReflection(const Graphics::Reflection& graphicsReflection)
 {
   mReflectionDefaultUniforms.clear();
-  mReflectionDefaultUniforms.resize(DEFAULT_UNIFORM_HASHTABLE.size());
+  mReflectionDefaultUniforms.resize(NUMBER_OF_DEFAULT_UNIFORMS);
 
   auto uniformBlockCount = graphicsReflection.GetUniformBlockCount();
 
@@ -701,7 +703,7 @@ void Program::BuildReflection(const Graphics::Reflection& graphicsReflection)
       mReflection.back().uniformInfo.bufferIndex = i;
 
       // Update default uniforms
-      for(auto i = 0u; i < DEFAULT_UNIFORM_HASHTABLE.size(); ++i)
+      for(auto i = 0u; i < NUMBER_OF_DEFAULT_UNIFORMS; ++i)
       {
         if(hashValue == DEFAULT_UNIFORM_HASHTABLE[i])
         {
index 315a94d..7a9170f 100644 (file)
@@ -115,7 +115,9 @@ public:
     NORMAL_MATRIX,
     PROJECTION_MATRIX,
     SIZE,
-    COLOR
+    COLOR,
+
+    COUNT
   };
 
   /**