std::vector<std::string_view> shaderName;
std::string_view vertexShader;
std::string_view fragmentShader;
- bool custom;
+ bool custom;
};
/**
*/
void Awake();
+ /**
+ * @brief Remove all pre-compiled programs from cache.
+ * @note It must be called before graphics shutdown.
+ */
+ void ClearPreCompiledPrograms();
+
private:
/**
* Construct a new ShaderPreCompiler.
std::string fragmentShader;
if(precompiledShader->custom)
{
- vertexShader = precompiledShader->vertexPrefix[i].data();
+ vertexShader = precompiledShader->vertexPrefix[i].data();
fragmentShader = precompiledShader->fragmentPrefix[i].data();
}
else
}
TRACE_UPDATE_RENDER_BEGIN("DALI_RENDER_THREAD_FINISH");
+ // Remove pre-compiled program before context destroyed
+ ShaderPreCompiler::Get().ClearPreCompiledPrograms();
+
// Inform core of context destruction
mCore.ContextDestroyed();