|
@@ -1,211 +0,0 @@
|
|
-diff --git a/thirdparty/squish/colourblock.cpp b/thirdparty/squish/colourblock.cpp
|
|
|
|
-index af8b98036..3d87adaa7 100644
|
|
|
|
---- a/thirdparty/squish/colourblock.cpp
|
|
|
|
-+++ b/thirdparty/squish/colourblock.cpp
|
|
|
|
-@@ -24,6 +24,9 @@
|
|
|
|
- -------------------------------------------------------------------------- */
|
|
|
|
-
|
|
|
|
- #include "colourblock.h"
|
|
|
|
-+// -- Godot start --
|
|
|
|
-+#include "alpha.h"
|
|
|
|
-+// -- Godot end --
|
|
|
|
-
|
|
|
|
- namespace squish {
|
|
|
|
-
|
|
|
|
-@@ -211,4 +214,23 @@ void DecompressColour( u8* rgba, void const* block, bool isDxt1 )
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-+// -- Godot start --
|
|
|
|
-+void DecompressColourBc5( u8* rgba, void const* block)
|
|
|
|
-+{
|
|
|
|
-+ void const* rblock = block;
|
|
|
|
-+ void const* gblock = reinterpret_cast< u8 const* >( block ) + 8;
|
|
|
|
-+ DecompressAlphaDxt5(rgba,rblock);
|
|
|
|
-+ for ( int i = 0; i < 16; ++i ) {
|
|
|
|
-+ rgba[i*4] = rgba[i*4 + 3];
|
|
|
|
-+ }
|
|
|
|
-+ DecompressAlphaDxt5(rgba,gblock);
|
|
|
|
-+ for ( int i = 0; i < 16; ++i ) {
|
|
|
|
-+ rgba[i*4+1] = rgba[i*4 + 3];
|
|
|
|
-+ rgba[i*4 + 2] = 0;
|
|
|
|
-+ rgba[i*4 + 3] = 255;
|
|
|
|
-+ }
|
|
|
|
-+}
|
|
|
|
-+// -- GODOT end --
|
|
|
|
-+
|
|
|
|
-+
|
|
|
|
- } // namespace squish
|
|
|
|
-diff --git a/thirdparty/squish/colourblock.h b/thirdparty/squish/colourblock.h
|
|
|
|
-index fee2cd7c5..3cb9b7e3b 100644
|
|
|
|
---- a/thirdparty/squish/colourblock.h
|
|
|
|
-+++ b/thirdparty/squish/colourblock.h
|
|
|
|
-@@ -35,6 +35,9 @@ void WriteColourBlock3( Vec3::Arg start, Vec3::Arg end, u8 const* indices, void*
|
|
|
|
- void WriteColourBlock4( Vec3::Arg start, Vec3::Arg end, u8 const* indices, void* block );
|
|
|
|
-
|
|
|
|
- void DecompressColour( u8* rgba, void const* block, bool isDxt1 );
|
|
|
|
-+// -- GODOT start --
|
|
|
|
-+void DecompressColourBc5( u8* rgba, void const* block );
|
|
|
|
-+// -- GODOT end --
|
|
|
|
-
|
|
|
|
- } // namespace squish
|
|
|
|
-
|
|
|
|
-diff --git a/thirdparty/squish/config.h b/thirdparty/squish/config.h
|
|
|
|
-index 92edefe96..05f8d7259 100644
|
|
|
|
---- a/thirdparty/squish/config.h
|
|
|
|
-+++ b/thirdparty/squish/config.h
|
|
|
|
-@@ -32,6 +32,26 @@
|
|
|
|
- #endif
|
|
|
|
-
|
|
|
|
- // Set to 1 or 2 when building squish to use SSE or SSE2 instructions.
|
|
|
|
-+// -- GODOT start --
|
|
|
|
-+#ifdef _MSC_VER
|
|
|
|
-+ #if defined(_M_IX86_FP)
|
|
|
|
-+ #if _M_IX86_FP >= 2
|
|
|
|
-+ #define SQUISH_USE_SSE 2
|
|
|
|
-+ #elif _M_IX86_FP >= 1
|
|
|
|
-+ #define SQUISH_USE_SSE 1
|
|
|
|
-+ #endif
|
|
|
|
-+ #elif defined(_M_X64)
|
|
|
|
-+ #define SQUISH_USE_SSE 2
|
|
|
|
-+ #endif
|
|
|
|
-+#else
|
|
|
|
-+ #if defined(__SSE2__)
|
|
|
|
-+ #define SQUISH_USE_SSE 2
|
|
|
|
-+ #elif defined(__SSE__)
|
|
|
|
-+ #define SQUISH_USE_SSE 1
|
|
|
|
-+ #endif
|
|
|
|
-+#endif
|
|
|
|
-+// -- GODOT end --
|
|
|
|
-+
|
|
|
|
- #ifndef SQUISH_USE_SSE
|
|
|
|
- #define SQUISH_USE_SSE 0
|
|
|
|
- #endif
|
|
|
|
-diff --git a/thirdparty/squish/squish.cpp b/thirdparty/squish/squish.cpp
|
|
|
|
-index 1d22a64ad..fd11a147d 100644
|
|
|
|
---- a/thirdparty/squish/squish.cpp
|
|
|
|
-+++ b/thirdparty/squish/squish.cpp
|
|
|
|
-@@ -135,7 +135,13 @@ void Decompress( u8* rgba, void const* block, int flags )
|
|
|
|
- colourBlock = reinterpret_cast< u8 const* >( block ) + 8;
|
|
|
|
-
|
|
|
|
- // decompress colour
|
|
|
|
-- DecompressColour( rgba, colourBlock, ( flags & kDxt1 ) != 0 );
|
|
|
|
-+ // -- GODOT start --
|
|
|
|
-+ //DecompressColour( rgba, colourBlock, ( flags & kDxt1 ) != 0 );
|
|
|
|
-+ if(( flags & ( kBc5 ) ) != 0)
|
|
|
|
-+ DecompressColourBc5( rgba, colourBlock);
|
|
|
|
-+ else
|
|
|
|
-+ DecompressColour( rgba, colourBlock, ( flags & kDxt1 ) != 0 );
|
|
|
|
-+ // -- GODOT end --
|
|
|
|
-
|
|
|
|
- // decompress alpha separately if necessary
|
|
|
|
- if( ( flags & kDxt3 ) != 0 )
|
|
|
|
-
|
|
|
|
-diff --git a/thirdparty/squish/colourblock.cpp b/thirdparty/squish/colourblock.cpp
|
|
|
|
-index 49401358bc..f14c9362bd 100644
|
|
|
|
---- a/thirdparty/squish/colourblock.cpp
|
|
|
|
-+++ b/thirdparty/squish/colourblock.cpp
|
|
|
|
-@@ -24,9 +24,9 @@
|
|
|
|
- -------------------------------------------------------------------------- */
|
|
|
|
-
|
|
|
|
- #include "colourblock.h"
|
|
|
|
--// -- Godot start --
|
|
|
|
-+// -- GODOT start --
|
|
|
|
- #include "alpha.h"
|
|
|
|
--// -- Godot end --
|
|
|
|
-+// -- GODOT end --
|
|
|
|
-
|
|
|
|
- namespace squish {
|
|
|
|
-
|
|
|
|
-diff --git a/thirdparty/squish/godot-changes.patch b/thirdparty/squish/godot-changes.patch
|
|
|
|
-index ef7bafb4b4..655a8cffc2 100644
|
|
|
|
---- a/thirdparty/squish/godot-changes.patch
|
|
|
|
-+++ b/thirdparty/squish/godot-changes.patch
|
|
|
|
-@@ -1,22 +1,33 @@
|
|
|
|
- diff --git a/thirdparty/squish/colourblock.cpp b/thirdparty/squish/colourblock.cpp
|
|
|
|
--index af8b98036..3d87adaa7 100644
|
|
|
|
-+index af8b980365..f14c9362bd 100644
|
|
|
|
- --- a/thirdparty/squish/colourblock.cpp
|
|
|
|
- +++ b/thirdparty/squish/colourblock.cpp
|
|
|
|
- @@ -24,6 +24,9 @@
|
|
|
|
- -------------------------------------------------------------------------- */
|
|
|
|
-
|
|
|
|
- #include "colourblock.h"
|
|
|
|
--+// -- Godot start --
|
|
|
|
-++// -- GODOT start --
|
|
|
|
- +#include "alpha.h"
|
|
|
|
--+// -- Godot end --
|
|
|
|
-++// -- GODOT end --
|
|
|
|
-
|
|
|
|
- namespace squish {
|
|
|
|
-
|
|
|
|
--@@ -211,4 +214,23 @@ void DecompressColour( u8* rgba, void const* block, bool isDxt1 )
|
|
|
|
-+@@ -211,4 +214,34 @@ void DecompressColour( u8* rgba, void const* block, bool isDxt1 )
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
--+// -- Godot start --
|
|
|
|
-++// -- GODOT start --
|
|
|
|
-++void DecompressColourBc4( u8* rgba, void const* block)
|
|
|
|
-++{
|
|
|
|
-++ DecompressAlphaDxt5(rgba,block);
|
|
|
|
-++ for ( int i = 0; i < 16; ++i ) {
|
|
|
|
-++ rgba[i*4] = rgba[i*4 + 3];
|
|
|
|
-++ rgba[i*4 + 1] = 0;
|
|
|
|
-++ rgba[i*4 + 2] = 0;
|
|
|
|
-++ rgba[i*4 + 3] = 255;
|
|
|
|
-++ }
|
|
|
|
-++}
|
|
|
|
-++
|
|
|
|
- +void DecompressColourBc5( u8* rgba, void const* block)
|
|
|
|
- +{
|
|
|
|
- + void const* rblock = block;
|
|
|
|
-@@ -37,21 +48,22 @@ index af8b98036..3d87adaa7 100644
|
|
|
|
- +
|
|
|
|
- } // namespace squish
|
|
|
|
- diff --git a/thirdparty/squish/colourblock.h b/thirdparty/squish/colourblock.h
|
|
|
|
--index fee2cd7c5..3cb9b7e3b 100644
|
|
|
|
-+index fee2cd7c5d..e1eb9e4917 100644
|
|
|
|
- --- a/thirdparty/squish/colourblock.h
|
|
|
|
- +++ b/thirdparty/squish/colourblock.h
|
|
|
|
--@@ -35,6 +35,9 @@ void WriteColourBlock3( Vec3::Arg start, Vec3::Arg end, u8 const* indices, void*
|
|
|
|
-+@@ -35,6 +35,10 @@ void WriteColourBlock3( Vec3::Arg start, Vec3::Arg end, u8 const* indices, void*
|
|
|
|
- void WriteColourBlock4( Vec3::Arg start, Vec3::Arg end, u8 const* indices, void* block );
|
|
|
|
-
|
|
|
|
- void DecompressColour( u8* rgba, void const* block, bool isDxt1 );
|
|
|
|
- +// -- GODOT start --
|
|
|
|
-++void DecompressColourBc4( u8* rgba, void const* block );
|
|
|
|
- +void DecompressColourBc5( u8* rgba, void const* block );
|
|
|
|
- +// -- GODOT end --
|
|
|
|
-
|
|
|
|
- } // namespace squish
|
|
|
|
-
|
|
|
|
- diff --git a/thirdparty/squish/config.h b/thirdparty/squish/config.h
|
|
|
|
--index 92edefe96..05f8d7259 100644
|
|
|
|
-+index 92edefe966..05f8d72598 100644
|
|
|
|
- --- a/thirdparty/squish/config.h
|
|
|
|
- +++ b/thirdparty/squish/config.h
|
|
|
|
- @@ -32,6 +32,26 @@
|
|
|
|
-@@ -82,17 +94,19 @@ index 92edefe96..05f8d7259 100644
|
|
|
|
- #define SQUISH_USE_SSE 0
|
|
|
|
- #endif
|
|
|
|
- diff --git a/thirdparty/squish/squish.cpp b/thirdparty/squish/squish.cpp
|
|
|
|
--index 1d22a64ad..fd11a147d 100644
|
|
|
|
-+index 1d22a64ad6..086ba11cd0 100644
|
|
|
|
- --- a/thirdparty/squish/squish.cpp
|
|
|
|
- +++ b/thirdparty/squish/squish.cpp
|
|
|
|
--@@ -135,7 +135,13 @@ void Decompress( u8* rgba, void const* block, int flags )
|
|
|
|
-+@@ -135,7 +135,15 @@ void Decompress( u8* rgba, void const* block, int flags )
|
|
|
|
- colourBlock = reinterpret_cast< u8 const* >( block ) + 8;
|
|
|
|
-
|
|
|
|
- // decompress colour
|
|
|
|
- - DecompressColour( rgba, colourBlock, ( flags & kDxt1 ) != 0 );
|
|
|
|
- + // -- GODOT start --
|
|
|
|
- + //DecompressColour( rgba, colourBlock, ( flags & kDxt1 ) != 0 );
|
|
|
|
--+ if(( flags & ( kBc5 ) ) != 0)
|
|
|
|
-++ if(( flags & ( kBc4 ) ) != 0)
|
|
|
|
-++ DecompressColourBc4( rgba, colourBlock);
|
|
|
|
-++ else if(( flags & ( kBc5 ) ) != 0)
|
|
|
|
- + DecompressColourBc5( rgba, colourBlock);
|
|
|
|
- + else
|
|
|
|
- + DecompressColour( rgba, colourBlock, ( flags & kDxt1 ) != 0 );
|
|
|