[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 16:10:15 PST 2019


(removing the list to avoid "spamming" them while we're in debug mode)

Actually that should be

static inline bool CPLDetectSSE3()
{
    int cpuinfo[4] = { 0, 0, 0, 0 };
    CPL_CPUID(0, cpuinfo);
    if( cpuinfo[REG_EAX] <= 2 )
        return false;
    CPL_CPUID(0x80000000, cpuinfo);
    if( static_cast<unsigned>(cpuinfo[REG_EAX]) < 1 )
        return false;
    CPL_CPUID(1, cpuinfo);
    fprintf(stderr, "ECX = 0x%X\n", cpuinfo[REG_ECX]);
    return (cpuinfo[REG_ECX] & (1 << CPUID_SSSE3_ECX_BIT)) != 0;
}

The static_cast<unsigned>(cpuinfo[REG_EAX]) <= 1 has been changed to < 1
I don't think that would make a difference. Your CPU does support extended 
status, but my assumption is that CPL_CPUID(0x80000000, cpuinfo) must be 
called before CPL_CPUID(1, cpuinfo) so the later gets correct results (not 
super confident that it will change anything...)

If that still doesn't work, I'm a bit short of idea and would need to be able 
to test locally if you can provide ssh access.

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com


More information about the gdal-dev mailing list