[Tizen] Add ShaderList for precompile
authordongsug.song <dongsug.song@samsung.com>
Mon, 6 Nov 2023 09:51:25 +0000 (18:51 +0900)
committerdongsug.song <dongsug.song@samsung.com>
Mon, 6 Nov 2023 09:51:29 +0000 (18:51 +0900)
This reverts commit e093fb1922379b2a72e3aaff30aad60484371d1c.

Change-Id: I3d88787c54fad408aabc0e1e660a44024617101f

dali/integration-api/shader-precompiler.cpp
dali/integration-api/shader-precompiler.h

index ad8efcf..f897a70 100644 (file)
@@ -30,7 +30,7 @@ std::unique_ptr<ShaderPrecompiler> ShaderPrecompiler::mInstance = nullptr;
 std::once_flag ShaderPrecompiler::mOnceFlag;
 
 ShaderPrecompiler::ShaderPrecompiler()
-: mRawShaderData(),
+: mRawShaderList(),
   mPrecompiled(false),
   mEnabled(false)
 {
@@ -44,7 +44,7 @@ ShaderPrecompiler& ShaderPrecompiler::Get()
   return *(mInstance.get());
 }
 
-void ShaderPrecompiler::GetPrecompileShaderList(RawShaderData& shaders)
+void ShaderPrecompiler::GetPrecompileShaderList(std::vector<RawShaderData>& shaderList)
 {
   ConditionalWait::ScopedLock lock(mConditionalWait);
   if(!IsReady())
@@ -54,18 +54,14 @@ void ShaderPrecompiler::GetPrecompileShaderList(RawShaderData& shaders)
   }
 
   // move shader list
-  shaders = mRawShaderData;
+  shaderList = mRawShaderList;
 }
 
-void ShaderPrecompiler::SavePrecomipleShaderList(RawShaderData& shaders)
+void ShaderPrecompiler::SavePrecomipleShaderList(std::vector<RawShaderData>& shaderList)
 {
   ConditionalWait::ScopedLock lock(mConditionalWait);
-  mRawShaderData.vertexPrefix = shaders.vertexPrefix;
-  mRawShaderData.fragmentPrefix = shaders.fragmentPrefix;
-  mRawShaderData.vertexShader = shaders.vertexShader;
-  mRawShaderData.fragmentShader = shaders.fragmentShader;
-  mRawShaderData.shaderCount = shaders.shaderCount;
 
+  mRawShaderList = shaderList;
   mPrecompiled = true;
   mConditionalWait.Notify(lock);
 }
index 1c2094b..1ad5ba7 100644 (file)
@@ -69,7 +69,7 @@ public:
    *  @SINCE_2_2.45
    *  @param[in] shaders shader data for precompile
   */
-  void GetPrecompileShaderList(RawShaderData& shaders);
+  void GetPrecompileShaderList(std::vector<RawShaderData>& shaders);
 
   /**
    * @brief Save the precompile shader list.
@@ -77,7 +77,7 @@ public:
    * @SINCE_2_2.45
    * @param[in] shaders shader data for precompile
   */
-  void SavePrecomipleShaderList(RawShaderData& shaders);
+  void SavePrecomipleShaderList(std::vector<RawShaderData>& shaders);
 
   /**
    * @brief Check precompile list is ready or not
@@ -116,7 +116,7 @@ public:
 private:
   static std::unique_ptr<ShaderPrecompiler> mInstance;
   static std::once_flag mOnceFlag;
-  RawShaderData mRawShaderData;
+  std::vector<RawShaderData> mRawShaderList;
   ConditionalWait mConditionalWait;
   bool mPrecompiled;
   bool mEnabled;