From: Eunki, Hong Date: Thu, 30 Nov 2023 02:43:45 +0000 (+0900) Subject: [Tizen] Revert "[Tizen] Apply precompile shader" X-Git-Tag: accepted/tizen/8.0/unified/20231130.180820~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F75%2F302075%2F1;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git [Tizen] Revert "[Tizen] Apply precompile shader" This reverts commit 82442f05b91524bdc363c0768407b811b9a794fa. Change-Id: I4f01bf79f2bb24059243c64e01f259fc9b57c1f6 --- diff --git a/dali-toolkit/devel-api/visual-factory/visual-factory.cpp b/dali-toolkit/devel-api/visual-factory/visual-factory.cpp index 368f8d5..93dcb4b 100644 --- a/dali-toolkit/devel-api/visual-factory/visual-factory.cpp +++ b/dali-toolkit/devel-api/visual-factory/visual-factory.cpp @@ -116,11 +116,6 @@ void VisualFactory::DiscardVisual(Visual::Base visual) GetImplementation(*this).DiscardVisual(visual); } -void VisualFactory::UsePreCompiledShader() -{ - GetImplementation(*this).UsePreCompiledShader(); -} - } // namespace Toolkit } // namespace Dali diff --git a/dali-toolkit/devel-api/visual-factory/visual-factory.h b/dali-toolkit/devel-api/visual-factory/visual-factory.h index cc62c2b..1b7d9b5 100644 --- a/dali-toolkit/devel-api/visual-factory/visual-factory.h +++ b/dali-toolkit/devel-api/visual-factory/visual-factory.h @@ -133,17 +133,6 @@ public: */ void DiscardVisual(Visual::Base visual); - /** - * @brief Compile the visual shader in advance. Afterwards, - * when a visual using a new shader is requested, the pre-compiled shader is used. - * - * @note It is recommended that this method be called at the top of the application code. - * @note Using precompiled shaders is helpful when the application is complex and uses - * many different styles of visual options. On the other hand,if most visuals are the same - * and the application is simple, it may use memory unnecessarily or slow down the application launching speed. - */ - void UsePreCompiledShader(); - private: explicit DALI_INTERNAL VisualFactory(Internal::VisualFactory* impl); }; diff --git a/dali-toolkit/internal/visuals/image-visual-shader-factory.cpp b/dali-toolkit/internal/visuals/image-visual-shader-factory.cpp index 9af065d..9761015 100644 --- a/dali-toolkit/internal/visuals/image-visual-shader-factory.cpp +++ b/dali-toolkit/internal/visuals/image-visual-shader-factory.cpp @@ -36,48 +36,8 @@ namespace const Vector4 FULL_TEXTURE_RECT(0.f, 0.f, 1.f, 1.f); const int NATIVE_SHADER_TYPE_OFFSET = VisualFactoryCache::ShaderType::NATIVE_IMAGE_SHADER - VisualFactoryCache::ShaderType::IMAGE_SHADER; - } // unnamed namespace -static constexpr auto SHADER_TYPE_COUNT = 16u; - -const std::string_view VertexPredefines[SHADER_TYPE_COUNT]{ - "", // VisualFactoryCache::IMAGE_SHADER, - "#define IS_REQUIRED_ROUNDED_CORNER\n", //VisualFactoryCache::IMAGE_SHADER_ROUNDED_CORNER, - "#define IS_REQUIRED_BORDERLINE\n", //VisualFactoryCache::IMAGE_SHADER_BORDERLINE, - "#define IS_REQUIRED_ROUNDED_CORNER\n#define IS_REQUIRED_BORDERLINE\n", //VisualFactoryCache::IMAGE_SHADER_ROUNDED_BORDERLINE, - "#define IS_REQUIRED_ALPHA_MASKING\n", // VisualFactoryCache::IMAGE_SHADER_MASKING, - "#define IS_REQUIRED_ROUNDED_CORNER\n#define IS_REQUIRED_ALPHA_MASKING\n", //VisualFactoryCache::IMAGE_SHADER_ROUNDED_CORNER_MASKING, - "#define IS_REQUIRED_BORDERLINE\n#define IS_REQUIRED_ALPHA_MASKING\n", //VisualFactoryCache::IMAGE_SHADER_BORDERLINE_MASKING, - "#define IS_REQUIRED_ROUNDED_CORNER\n#define IS_REQUIRED_BORDERLINE\n#define IS_REQUIRED_ALPHA_MASKING\n", //VisualFactoryCache::IMAGE_SHADER_ROUNDED_BORDERLINE_MASKING, - "", //VisualFactoryCache::IMAGE_SHADER_YUV_TO_RGB, - "#define IS_REQUIRED_ROUNDED_CORNER\n", //VisualFactoryCache::IMAGE_SHADER_ROUNDED_CORNER_YUV_TO_RGB, - "#define IS_REQUIRED_BORDERLINE\n", //VisualFactoryCache::IMAGE_SHADER_BORDERLINE_YUV_TO_RGB, - "#define IS_REQUIRED_ROUNDED_CORNER\n#define IS_REQUIRED_BORDERLINE\n", //VisualFactoryCache::IMAGE_SHADER_ROUNDED_BORDERLINE_YUV_TO_RGB}; - "", //VisualFactoryCache::IMAGE_SHADER_YUV_AND_RGB, - "#define IS_REQUIRED_ROUNDED_CORNER\n", //VisualFactoryCache::IMAGE_SHADER_ROUNDED_CORNER_YUV_AND_RGB, - "#define IS_REQUIRED_BORDERLINE\n", //VisualFactoryCache::IMAGE_SHADER_BORDERLINE_YUV_AND_RGB, - "#define IS_REQUIRED_ROUNDED_CORNER\n#define IS_REQUIRED_BORDERLINE\n" //VisualFactoryCache::IMAGE_SHADER_ROUNDED_BORDERLINE_YUV_AND_RGB}; -}; -const std::string_view FragmentPredefines[SHADER_TYPE_COUNT]{ - "", // VisualFactoryCache::IMAGE_SHADER, - "#define IS_REQUIRED_ROUNDED_CORNER\n", //VisualFactoryCache::IMAGE_SHADER_ROUNDED_CORNER, - "#define IS_REQUIRED_BORDERLINE\n", //VisualFactoryCache::IMAGE_SHADER_BORDERLINE, - "#define IS_REQUIRED_ROUNDED_CORNER\n#define IS_REQUIRED_BORDERLINE\n", //VisualFactoryCache::IMAGE_SHADER_ROUNDED_BORDERLINE, - "#define IS_REQUIRED_ALPHA_MASKING\n", // VisualFactoryCache::IMAGE_SHADER_MASKING, - "#define IS_REQUIRED_ROUNDED_CORNER\n#define IS_REQUIRED_ALPHA_MASKING\n", //VisualFactoryCache::IMAGE_SHADER_ROUNDED_CORNER_MASKING, - "#define IS_REQUIRED_BORDERLINE\n#define IS_REQUIRED_ALPHA_MASKING\n", //VisualFactoryCache::IMAGE_SHADER_BORDERLINE_MASKING, - "#define IS_REQUIRED_ROUNDED_CORNER\n#define IS_REQUIRED_BORDERLINE\n#define IS_REQUIRED_ALPHA_MASKING\n", //VisualFactoryCache::IMAGE_SHADER_ROUNDED_BORDERLINE_MASKING, - "#define IS_REQUIRED_YUV_TO_RGB\n", //VisualFactoryCache::IMAGE_SHADER_YUV_TO_RGB, - "#define IS_REQUIRED_YUV_TO_RGB\n#define IS_REQUIRED_ROUNDED_CORNER\n", //VisualFactoryCache::IMAGE_SHADER_ROUNDED_CORNER_YUV_TO_RGB, - "#define IS_REQUIRED_YUV_TO_RGB\n#define IS_REQUIRED_BORDERLINE\n", //VisualFactoryCache::IMAGE_SHADER_BORDERLINE_YUV_TO_RGB, - "#define IS_REQUIRED_YUV_TO_RGB\n#define IS_REQUIRED_ROUNDED_CORNER\n#define IS_REQUIRED_BORDERLINE\n", //VisualFactoryCache::IMAGE_SHADER_ROUNDED_BORDERLINE_YUV_TO_RGB}; - "#define IS_REQUIRED_UNIFIED_YUV_AND_RGB\n", //VisualFactoryCache::IMAGE_SHADER_YUV_AND_RGB, - "#define IS_REQUIRED_UNIFIED_YUV_AND_RGB\n#define IS_REQUIRED_ROUNDED_CORNER\n", //VisualFactoryCache::IMAGE_SHADER_ROUNDED_CORNER_YUV_AND_RGB, - "#define IS_REQUIRED_UNIFIED_YUV_AND_RGB\n#define IS_REQUIRED_BORDERLINE\n", //VisualFactoryCache::IMAGE_SHADER_BORDERLINE_YUV_AND_RGB, - "#define IS_REQUIRED_UNIFIED_YUV_AND_RGB\n#define IS_REQUIRED_ROUNDED_CORNER\n#define IS_REQUIRED_BORDERLINE\n" //VisualFactoryCache::IMAGE_SHADER_ROUNDED_BORDERLINE_YUV_AND_RGB}; -}; - ImageVisualShaderFactory::ImageVisualShaderFactory() : mFragmentShaderNeedChange(ImageVisualShaderFeature::ChangeFragmentShader::UNDECIDED) { @@ -167,26 +127,6 @@ std::string_view ImageVisualShaderFactory::GetFragmentShaderSource() return gFragmentShaderNoAtlas; } -void ImageVisualShaderFactory::GetPrecompiledShader(RawShaderData& shaders) -{ - std::vector vertexPrefix; - std::vector fragmentPrefix; - shaders.shaderCount = 0; - int shaderCount = 0; - for(int i = 0; i < SHADER_TYPE_COUNT; ++i) - { - vertexPrefix.push_back(VertexPredefines[i]); - fragmentPrefix.push_back(FragmentPredefines[i]); - shaderCount++; - } - - shaders.vertexPrefix = vertexPrefix; - shaders.fragmentPrefix = fragmentPrefix; - shaders.vertexShader = SHADER_IMAGE_VISUAL_SHADER_VERT; - shaders.fragmentShader = SHADER_IMAGE_VISUAL_SHADER_FRAG; - shaders.shaderCount += shaderCount; -} - } // namespace Internal } // namespace Toolkit diff --git a/dali-toolkit/internal/visuals/image-visual-shader-factory.h b/dali-toolkit/internal/visuals/image-visual-shader-factory.h index 5f1b061..cf1c25b 100644 --- a/dali-toolkit/internal/visuals/image-visual-shader-factory.h +++ b/dali-toolkit/internal/visuals/image-visual-shader-factory.h @@ -20,8 +20,8 @@ // EXTERNAL INCLUDES // INTERNAL INCLUDES -#include #include +#include #include namespace Dali @@ -30,6 +30,7 @@ namespace Toolkit { namespace Internal { + /** * ImageVisualShaderFactory is an object that provides and shares shaders between image visuals */ @@ -66,12 +67,6 @@ public: */ std::string_view GetFragmentShaderSource(); - /** - * @brief Get the default shader source. - * @param[in] shaders shaderList for precompile - */ - void GetPrecompiledShader(RawShaderData& shaders); - protected: /** * Undefined copy constructor. diff --git a/dali-toolkit/internal/visuals/visual-factory-cache.h b/dali-toolkit/internal/visuals/visual-factory-cache.h index 15824e9..f1d9703 100644 --- a/dali-toolkit/internal/visuals/visual-factory-cache.h +++ b/dali-toolkit/internal/visuals/visual-factory-cache.h @@ -19,7 +19,6 @@ // EXTERNAL INCLUDES #include -#include #include #include #include diff --git a/dali-toolkit/internal/visuals/visual-factory-impl.cpp b/dali-toolkit/internal/visuals/visual-factory-impl.cpp index 07e1ec9..7cc5119 100644 --- a/dali-toolkit/internal/visuals/visual-factory-impl.cpp +++ b/dali-toolkit/internal/visuals/visual-factory-impl.cpp @@ -393,20 +393,6 @@ void VisualFactory::DiscardVisual(Toolkit::Visual::Base visual) RegisterDiscardCallback(); } -void VisualFactory::UsePreCompiledShader() -{ - if(mPrecompiledShaderRequested) - { - return; - } - mPrecompiledShaderRequested = true; - - RawShaderData rawShaderData; - Integration::ShaderPrecompiler::Get().Enable(); - GetImageVisualShaderFactory().GetPrecompiledShader(rawShaderData); - Integration::ShaderPrecompiler::Get().SavePrecomipleShaderList(rawShaderData); -} - Internal::TextureManager& VisualFactory::GetTextureManager() { return GetFactoryCache().GetTextureManager(); @@ -445,9 +431,6 @@ Internal::VisualFactoryCache& VisualFactory::GetFactoryCache() } SetBrokenImageUrl(styleManager); } - - //UsePreCompiledShader(); // Call forcelly - return *mFactoryCache; } diff --git a/dali-toolkit/internal/visuals/visual-factory-impl.h b/dali-toolkit/internal/visuals/visual-factory-impl.h index 04dce97..c0b95b4 100644 --- a/dali-toolkit/internal/visuals/visual-factory-impl.h +++ b/dali-toolkit/internal/visuals/visual-factory-impl.h @@ -18,7 +18,6 @@ */ // EXTERNAL INCLUDES -#include #include #include @@ -92,11 +91,6 @@ public: void DiscardVisual(Toolkit::Visual::Base visual); /** - * @copydoc Toolkit::VisualFactory::UsePreCompiledShader() - */ - void UsePreCompiledShader(); - - /** * @return the reference to texture manager */ Internal::TextureManager& GetTextureManager(); @@ -155,7 +149,6 @@ private: bool mDebugEnabled : 1; bool mPreMultiplyOnLoad : 1; ///< Local store for this flag - bool mPrecompiledShaderRequested{false}; }; /**