summaryrefslogtreecommitdiff
path: root/thirdparty/etcpak/System.cpp
AgeCommit message (Collapse)Author
2021-04-14etcpak: We only need the compression code, remove rest of etcpak appRémi Verschelde
We do our own image loading, threading, and memory management in Godot already, so the only components we need from etcpak (at least as of now) are the `Compress*` methods defined in `ProcessDxtc.cpp` and `ProcessRGB.cpp`. So we don't need to compile or vendor the rest.
2021-04-13etcpak: Fix handling of pthread naming API for Linux and MinGWRémi Verschelde
For MinGW this is tricky to do as a two-step process like it was implemented, as `std::thread::native_handle()` is implementation-defined and depending on the MinGW distribution, it may or may not be a pthread handle. With mingw-gcc as packaged in Linux distros with pthread support it worked fine, but with llvm-mingw it was problematic. Setting the name in the thread directly as done for Apple platforms is simpler and works fine. Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2021-04-13Add `etcpak` library for faster ETC/ETC2/S3TC imports.K. S. Ernest (iFire) Lee
- `etc` module was renamed to `etcpak` and modified to use the new library. - PKM importer is removed in the process, it's obsolete. - Old library `etc2comp` is removed. - S3TC compression no longer done via `squish` (but decompression still is). - Slight modifications to etcpak sources for MinGW compatibility, to fix LLVM `-Wc++11-narrowing` errors, and to allow using vendored or system libpng. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>