From a850d96fade014f11bc076fb916fae8c7c5eaecb Mon Sep 17 00:00:00 2001 From: Jan Holesovsky Date: Sun, 25 May 2014 14:14:05 +0200 Subject: Update OpenCollada and collada2gltf to the newest versions. Change-Id: Iee0b9f08843220e8ece00739ca01aa438b93965a --- .../opencollada/UnpackedTarball_opencollada.mk | 2 + ...Revert-fix-for-malformed-FBX-COLLADA-id.patch.1 | 51 +++++++++++++++++ .../0002-Expose-sid-for-textures-in-extras.patch.1 | 66 ++++++++++++++++++++++ .../generatedsaxparser_utils_touri_fix.patch.1 | 25 +++----- 4 files changed, 128 insertions(+), 16 deletions(-) create mode 100644 external/opencollada/patches/0001-Revert-fix-for-malformed-FBX-COLLADA-id.patch.1 create mode 100644 external/opencollada/patches/0002-Expose-sid-for-textures-in-extras.patch.1 (limited to 'external/opencollada') diff --git a/external/opencollada/UnpackedTarball_opencollada.mk b/external/opencollada/UnpackedTarball_opencollada.mk index 7670784951b8..b625bb4c2e3b 100644 --- a/external/opencollada/UnpackedTarball_opencollada.mk +++ b/external/opencollada/UnpackedTarball_opencollada.mk @@ -12,6 +12,8 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,opencollada)) $(eval $(call gb_UnpackedTarball_set_tarball,opencollada,$(OPENCOLLADA_TARBALL))) $(eval $(call gb_UnpackedTarball_add_patches,opencollada,\ + external/opencollada/patches/0001-Revert-fix-for-malformed-FBX-COLLADA-id.patch.1 \ + external/opencollada/patches/0002-Expose-sid-for-textures-in-extras.patch.1 \ external/opencollada/patches/opencollada.clang.patch.0 \ external/opencollada/patches/opencollada.libxml.patch.0 \ external/opencollada/patches/generatedsaxparser_utils_touri_fix.patch.1 \ diff --git a/external/opencollada/patches/0001-Revert-fix-for-malformed-FBX-COLLADA-id.patch.1 b/external/opencollada/patches/0001-Revert-fix-for-malformed-FBX-COLLADA-id.patch.1 new file mode 100644 index 000000000000..968b57c50b9a --- /dev/null +++ b/external/opencollada/patches/0001-Revert-fix-for-malformed-FBX-COLLADA-id.patch.1 @@ -0,0 +1,51 @@ +From a54360e9d2a67350f27eec8dfbe1103778b2711c Mon Sep 17 00:00:00 2001 +From: Fabrice Robinet +Date: Tue, 13 May 2014 16:31:40 -0700 +Subject: [PATCH 1/2] Revert fix for malformed FBX-COLLADA id + +--- + GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp | 17 +++++++++++------ + 1 file changed, 11 insertions(+), 6 deletions(-) + +diff --git a/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp b/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp +index 404306a..1f9a3ee 100644 +--- a/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp ++++ b/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp +@@ -868,11 +868,13 @@ namespace GeneratedSaxParser + failed = false; + return COLLADABU::URI(0); + } ++ const ParserString& string = toStringListItem(buffer, bufferEnd, failed); ++ return COLLADABU::URI(string.str, string.length); ++ ++ //FIXME: Testing fails on windows but pass on OSX with this fix. + //Just get the string as it is for ids, so that we are able to read FBX-COLLADA + //Otherwise, calling toStringItem would result in a truncated string when an id contains spaces +- //const ParserString& string = toStringListItem(buffer, bufferEnd, failed); +- //return COLLADABU::URI(string.str, string.length); +- return COLLADABU::URI((const char*)*buffer, bufferEnd - *buffer); ++ //return COLLADABU::URI((const char*)*buffer, bufferEnd - *buffer); + } + + //-------------------------------------------------------------------- +@@ -883,11 +885,14 @@ namespace GeneratedSaxParser + failed = false; + return COLLADABU::URI(0); + } ++ ++ const ParserString& string = toStringListItem(buffer, failed); ++ return COLLADABU::URI(string.str, string.length); ++ ++ //FIXME: Testing fails on windows but pass on OSX with this fix. + //Just get the string as it is for ids, so that we are able to read FBX-COLLADA + //Otherwise, calling toStringItem would result in a truncated string when an id contains spaces +- //const ParserString& string = toStringListItem(buffer, failed); +- //return COLLADABU::URI(string.str, string.length); +- return COLLADABU::URI((const char*)*buffer); ++ //return COLLADABU::URI((const char*)*buffer); + } + + +-- +1.8.1.4 + diff --git a/external/opencollada/patches/0002-Expose-sid-for-textures-in-extras.patch.1 b/external/opencollada/patches/0002-Expose-sid-for-textures-in-extras.patch.1 new file mode 100644 index 000000000000..067b277e6da6 --- /dev/null +++ b/external/opencollada/patches/0002-Expose-sid-for-textures-in-extras.patch.1 @@ -0,0 +1,66 @@ +From 3f68b25b9085c577c2cc2db81d9a9f743de077b7 Mon Sep 17 00:00:00 2001 +From: Fabrice Robinet +Date: Thu, 22 May 2014 15:15:40 -0700 +Subject: [PATCH 2/2] Expose sid for textures in extras. + +--- + COLLADAFramework/include/COLLADAFWSampler.h | 8 +++++++- + .../src/COLLADASaxFWLLibraryEffectsLoader.cpp | 4 +++- + 2 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/COLLADAFramework/include/COLLADAFWSampler.h b/COLLADAFramework/include/COLLADAFWSampler.h +index 44936a8..562e47a 100644 +--- a/COLLADAFramework/include/COLLADAFWSampler.h ++++ b/COLLADAFramework/include/COLLADAFWSampler.h +@@ -129,6 +129,9 @@ namespace COLLADAFW + that is used by the sampler to evaluate the MIPmap chain. */ + float mMipmapBias; + ++ /* sampler Sid, required to be able to retrieve a sampler from extras */ ++ std::string mSid; ++ + public: + + /** Constructor. */ +@@ -203,8 +206,11 @@ namespace COLLADAFW + /** Returns the mipmap Bias.*/ + void setMipmapBias ( float mipmapBias ) { mMipmapBias = mipmapBias; } + +- Sampler* clone() { return FW_NEW Sampler(*this); } ++ void setSid( const std::string &sid) { mSid = sid; } ++ ++ const std::string& getSid() { return mSid; } + ++ Sampler* clone() { return FW_NEW Sampler(*this); } + }; + + /** +diff --git a/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryEffectsLoader.cpp b/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryEffectsLoader.cpp +index 36f9c58..5ac99a4 100644 +--- a/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryEffectsLoader.cpp ++++ b/COLLADASaxFrameworkLoader/src/COLLADASaxFWLLibraryEffectsLoader.cpp +@@ -1003,18 +1003,20 @@ namespace COLLADASaxFWL + + bool validSampler = false; + SidSamplerInfoMap::iterator samplerIt = mEffectProfileSidSamplerInfoMap.find ( samplerSid ); ++ + if ( samplerIt == mEffectProfileSidSamplerInfoMap.end () ) + { + samplerIt = mEffectSidSamplerInfoMap.find ( samplerSid ); + if ( samplerIt != mEffectSidSamplerInfoMap.end () ) validSampler = true; + } + else validSampler = true; +- ++ + if ( validSampler ) + { + SamplerInfo& samplerInfo = samplerIt->second; + samplerInfo.id = samplerArray.getCount(); + COLLADAFW::Sampler* sampler = samplerInfo.sampler; ++ sampler->setSid(samplerSid); + if ( !sampler->getSourceImage().isValid() ) + { + bool validSurface = false; +-- +1.8.1.4 + diff --git a/external/opencollada/patches/generatedsaxparser_utils_touri_fix.patch.1 b/external/opencollada/patches/generatedsaxparser_utils_touri_fix.patch.1 index 892d4b93020d..1df5d5b50e26 100644 --- a/external/opencollada/patches/generatedsaxparser_utils_touri_fix.patch.1 +++ b/external/opencollada/patches/generatedsaxparser_utils_touri_fix.patch.1 @@ -1,7 +1,7 @@ diff -ur opencollada.org/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp opencollada/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp --- opencollada.org/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp 2014-05-22 15:24:25.437939696 +0200 +++ opencollada/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp 2014-05-22 15:24:50.769938623 +0200 -@@ -865,13 +865,14 @@ +@@ -865,9 +865,10 @@ { if ( *buffer == bufferEnd ) { @@ -9,15 +9,11 @@ diff -ur opencollada.org/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp open + failed = true; return COLLADABU::URI(0); } - //Just get the string as it is for ids, so that we are able to read FBX-COLLADA - //Otherwise, calling toStringItem would result in a truncated string when an id contains spaces - //const ParserString& string = toStringListItem(buffer, bufferEnd, failed); - //return COLLADABU::URI(string.str, string.length); + failed = false; - return COLLADABU::URI((const char*)*buffer, bufferEnd - *buffer); - } - -@@ -880,13 +881,14 @@ + const ParserString& string = toStringListItem(buffer, bufferEnd, failed); + return COLLADABU::URI(string.str, string.length); + +@@ -880,10 +881,11 @@ { if ( **buffer == '\0' ) { @@ -25,11 +21,8 @@ diff -ur opencollada.org/GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp open + failed = true; return COLLADABU::URI(0); } - //Just get the string as it is for ids, so that we are able to read FBX-COLLADA - //Otherwise, calling toStringItem would result in a truncated string when an id contains spaces - //const ParserString& string = toStringListItem(buffer, failed); - //return COLLADABU::URI(string.str, string.length); + + failed = false; - return COLLADABU::URI((const char*)*buffer); - } - + const ParserString& string = toStringListItem(buffer, failed); + return COLLADABU::URI(string.str, string.length); + -- cgit