Revert "[Tizen] Add lock for shader-precompiler"
authorEverLEEst(SangHyeon Lee) <sh10233.lee@samsung.com>
Wed, 22 Nov 2023 05:08:02 +0000 (14:08 +0900)
committerEverLEEst(SangHyeon Lee) <sh10233.lee@samsung.com>
Wed, 22 Nov 2023 05:08:02 +0000 (14:08 +0900)
This reverts commit 9f078e4ce9ea92e390afaaba7fa5c89eba7e1a10.

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

index 7ebc35c..f897a70 100644 (file)
@@ -46,15 +46,24 @@ ShaderPrecompiler& ShaderPrecompiler::Get()
 
 void ShaderPrecompiler::GetPrecompileShaderList(std::vector<RawShaderData>& shaderList)
 {
+  ConditionalWait::ScopedLock lock(mConditionalWait);
+  if(!IsReady())
+  {
+    DALI_LOG_RELEASE_INFO("Precompiled shader list is not ready yet, need to wait \n");
+    mConditionalWait.Wait(lock);
+  }
+
   // move shader list
   shaderList = mRawShaderList;
 }
 
 void ShaderPrecompiler::SavePrecomipleShaderList(std::vector<RawShaderData>& shaderList)
 {
+  ConditionalWait::ScopedLock lock(mConditionalWait);
+
   mRawShaderList = shaderList;
   mPrecompiled = true;
-  StopPrecompile();
+  mConditionalWait.Notify(lock);
 }
 
 bool ShaderPrecompiler::IsReady() const
@@ -72,28 +81,6 @@ bool ShaderPrecompiler::IsEnable()
   return mEnabled;
 }
 
-void ShaderPrecompiler::WaitPrecompileList()
-{
-  ConditionalWait::ScopedLock lock(mConditionalWait);
-  {
-    Dali::Mutex::ScopedLock mutexLock(mMutex);
-    if(!mNeedsSleep)
-    {
-      return;
-    }
-  }
-
-  mConditionalWait.Wait(lock);
-}
-
-void ShaderPrecompiler::StopPrecompile()
-{
-  ConditionalWait::ScopedLock lock(mConditionalWait);
-  Dali::Mutex::ScopedLock mutexLock(mMutex);
-  mNeedsSleep = false;
-  mConditionalWait.Notify(lock);
-}
-
 
 } // namespace Integration
 } // namespace Dali
index e4a0774..1ad5ba7 100644 (file)
@@ -68,7 +68,7 @@ public:
    *
    *  @SINCE_2_2.45
    *  @param[in] shaders shader data for precompile
-   */
+  */
   void GetPrecompileShaderList(std::vector<RawShaderData>& shaders);
 
   /**
@@ -76,7 +76,7 @@ public:
    *
    * @SINCE_2_2.45
    * @param[in] shaders shader data for precompile
-   */
+  */
   void SavePrecomipleShaderList(std::vector<RawShaderData>& shaders);
 
   /**
@@ -84,14 +84,14 @@ public:
    *
    * @SINCE_2_2.45
    * @return true if precompile list is ready
-   */
+  */
   bool IsReady() const;
 
   /**
    * @brief Enable the feature of precompile
    *
    * @SINCE_2_2.45
-   */
+  */
   void Enable();
 
   /**
@@ -103,18 +103,6 @@ public:
   bool IsEnable();
 
   /**
-   * @brief Waiting for a list of shaders to be precompiled
-   *
-   */
-  void WaitPrecompileList();
-
-  /**
-   * @brief Stop waiting for a list of shaders to be precompiled
-   *
-   */
-  void StopPrecompile();
-
-  /**
    * Construct a new ShaderPrecompiler.
    */
   ShaderPrecompiler();
@@ -130,10 +118,8 @@ private:
   static std::once_flag mOnceFlag;
   std::vector<RawShaderData> mRawShaderList;
   ConditionalWait mConditionalWait;
-  Dali::Mutex mMutex;
   bool mPrecompiled;
   bool mEnabled;
-  bool mNeedsSleep{true};
 };
 
 } // namespace Integration