[gdal-dev] Different results when reading a GeoTIFF with GDAL 2.1.2 vs 3.x
Even Rouault
even.rouault at spatialys.com
Sun Dec 29 13:57:29 PST 2019
On dimanche 29 décembre 2019 22:36:24 CET Momtchil Momtchev wrote:
> Disabling HAVE_SSSE3_AT_COMPILE_TIME had no effect,
Make sure you run "make clean" after running ./configure
> but after
> short-circuiting the #ifdef I got a correct result.
Hum so it seems that the SSSE3 detection doesn't work properly.
Can you :
1. undo your code changes
2. modify port/cpl_cpu_features.cpp at line 98 to replace the code of the
CPLDetectSSE3() function by
static inline bool CPLDetectSSE3()
{
int cpuinfo[4] = { 0, 0, 0, 0 };
CPL_CPUID(0, cpuinfo);
if( cpuinfo[REG_EAX] <= 0 )
return false;
CPL_CPUID(1, cpuinfo);
return (cpuinfo[REG_ECX] & (1 << CPUID_SSSE3_ECX_BIT)) != 0;
}
(note: this function should really be called CPLDetectSSSE3 ... missing S...
but that doesn't matter)
3. modify port/cpl_cpu_features.h to add just after line 47 "#if __SSSE3__" a
new line with "dummy" as content. Normally this shouldn't be compiled... but
this is just to make sure the compiler doesn't define SSSE3 as available
unconditionnally at runtime.
4. run configure again *without* disabling ssse3
5. make clean
6. make (possibly with -j something)
--
Spatialys - Geospatial professional services
http://www.spatialys.com
More information about the gdal-dev
mailing list