From 9e462fbf7281bb2b1c0144702a1fc6afa8cc0c92 Mon Sep 17 00:00:00 2001 From: "huiyu.eun" Date: Wed, 29 Nov 2023 13:45:45 +0900 Subject: [PATCH] Revert "[Tizen] Removed unused macro invocation from shader" This reverts commit 94be0e917e63bf673a13da4c23c62c6490a7de14. --- .../src/dali-scene3d/utc-Dali-ShaderManager.cpp | 3 -- .../model-components/model-primitive-impl.cpp | 8 ++--- .../public-api/loader/shader-definition.cpp | 35 +++++++--------------- dali-scene3d/public-api/loader/shader-manager.cpp | 4 --- dali-scene3d/public-api/loader/shader-option.cpp | 5 ---- 5 files changed, 13 insertions(+), 42 deletions(-) diff --git a/automated-tests/src/dali-scene3d/utc-Dali-ShaderManager.cpp b/automated-tests/src/dali-scene3d/utc-Dali-ShaderManager.cpp index f17dcb3..191a631 100644 --- a/automated-tests/src/dali-scene3d/utc-Dali-ShaderManager.cpp +++ b/automated-tests/src/dali-scene3d/utc-Dali-ShaderManager.cpp @@ -255,7 +255,6 @@ int UtcDaliShaderManagerProduceShader(void) MeshDefinition meshDefinition; MaterialDefinition materialDefinition; ShaderParameters shaderParameter{meshDefinition, materialDefinition, nodeDefinition}; - // Only define skinning accessors for skinning test... if(permutationSet.permutations.size() > 1) { @@ -281,8 +280,6 @@ int UtcDaliShaderManagerProduceShader(void) { option1.AddOption(optionType); } - // No permutation uses extra joint weights. - option1.AddJointMacros(0); rendererState = (rendererState | permutation->rendererStateSet) & ~permutation->rendererStateClear; } option1.AddOption(ShaderOption::Type::THREE_TEXTURE); diff --git a/dali-scene3d/internal/model-components/model-primitive-impl.cpp b/dali-scene3d/internal/model-components/model-primitive-impl.cpp index 48519f7..e58327c 100644 --- a/dali-scene3d/internal/model-components/model-primitive-impl.cpp +++ b/dali-scene3d/internal/model-components/model-primitive-impl.cpp @@ -310,10 +310,6 @@ void ModelPrimitive::ApplyMaterialToRenderer(MaterialModifyObserver::ModifyFlag shaderOption.AddOption(Scene3D::Loader::ShaderOption::Type::SKINNING); shaderOption.AddJointMacros(mNumberOfJointSets); } - else - { - shaderOption.AddJointMacros(0); - } if(mHasVertexColor) { shaderOption.AddOption(Scene3D::Loader::ShaderOption::Type::COLOR_ATTRIBUTE); @@ -348,13 +344,13 @@ void ModelPrimitive::ApplyMaterialToRenderer(MaterialModifyObserver::ModifyFlag { Property::Map oldMap = GetMap(mShader); DALI_LOG_WRITE_FILE(tmpFilename("oldShader", ".txt"), "Vertex Shader:\n" - << oldMap["vertex"] << "\n\nFragmentShader: " << oldMap["fragment"] << "\n"); + << oldMap["vertex"] << "\n\nFragmentShader: " << oldMap["fragment"] << "\n"); } if(newShader) { Property::Map newMap = GetMap(newShader); DALI_LOG_WRITE_FILE(tmpFilename("newShader", ".txt"), "Vertex Shader:\n" - << newMap["vertex"] << "\n\nFragmentShader: " << newMap["fragment"] << "\n"); + << newMap["vertex"] << "\n\nFragmentShader: " << newMap["fragment"] << "\n"); } #endif } diff --git a/dali-scene3d/public-api/loader/shader-definition.cpp b/dali-scene3d/public-api/loader/shader-definition.cpp index 5aba19e..a7727d6 100644 --- a/dali-scene3d/public-api/loader/shader-definition.cpp +++ b/dali-scene3d/public-api/loader/shader-definition.cpp @@ -91,33 +91,20 @@ void ApplyDefine(std::string& shaderCode, const std::string& definevar) void RedefineMacro(std::string& shaderCode, const std::string& macro, const std::string& value) { - if(!value.empty()) + std::string definition = "#define " + macro; + std::size_t found = shaderCode.find(definition); + if(found != std::string::npos) { - std::string definition = "#define " + macro; - std::size_t found = shaderCode.find(definition); - if(found != std::string::npos) - { - std::size_t insertionPoint = found + definition.length(); + std::size_t insertionPoint = found + definition.length(); - // Automatically insert line-continuation character into value - std::regex re("\n"); - std::sregex_token_iterator first{value.begin(), value.end(), re, -1}, last; - for(auto i = first; i != last; ++i) - { - std::string line = std::string(" \\\n") + (*i).str(); - shaderCode.insert(insertionPoint, line); - insertionPoint += line.length(); - } - } - } - else - { - std::size_t invocation = shaderCode.rfind(macro); - if(invocation != std::string::npos) + // Automatically insert line-continuation character into value + std::regex re("\n"); + std::sregex_token_iterator first{value.begin(), value.end(), re, -1}, last; + for(auto i = first; i != last; ++i) { - std::size_t start = shaderCode.rfind("\n", invocation); - std::size_t end = shaderCode.find("\n", invocation); - shaderCode.erase(start, end - start); + std::string line = std::string(" \\\n") + (*i).str(); + shaderCode.insert(insertionPoint, line); + insertionPoint += line.length(); } } } diff --git a/dali-scene3d/public-api/loader/shader-manager.cpp b/dali-scene3d/public-api/loader/shader-manager.cpp index 35ebd63..6adb452 100644 --- a/dali-scene3d/public-api/loader/shader-manager.cpp +++ b/dali-scene3d/public-api/loader/shader-manager.cpp @@ -118,10 +118,6 @@ ShaderOption MakeOption(const MaterialDefinition& materialDef, const MeshDefinit option.AddOption(ShaderOption::Type::SKINNING); option.AddJointMacros(meshDef.mJoints.size()); } - else - { - option.AddJointMacros(0); - } if(MaskMatch(meshDef.mFlags, MeshDefinition::FLIP_UVS_VERTICAL)) { diff --git a/dali-scene3d/public-api/loader/shader-option.cpp b/dali-scene3d/public-api/loader/shader-option.cpp index f504a99..4654348 100644 --- a/dali-scene3d/public-api/loader/shader-option.cpp +++ b/dali-scene3d/public-api/loader/shader-option.cpp @@ -117,11 +117,6 @@ void ShaderOption::AddJointMacros(size_t numberOfJointSets) AddMacroDefinition(ADD_EXTRA_SKINNING_ATTRIBUTES, attributes.str()); AddMacroDefinition(ADD_EXTRA_WEIGHTS, weights.str()); } - else - { - AddMacroDefinition(ADD_EXTRA_SKINNING_ATTRIBUTES, std::string{}); - AddMacroDefinition(ADD_EXTRA_WEIGHTS, std::string{}); - } } void ShaderOption::AddMacroDefinition(std::string macro, std::string definition) -- 2.7.4