Commit Graph

15 Commits

Author SHA1 Message Date
91907a89f7 Thirdparty: Harmonize patches to document downstream changes 2025-02-06 01:40:03 +01:00
bee5de61de Merge pull request #100365 from BlueCube3310/etc-decompress
Add support for decompressing ETC2
2025-01-14 00:21:55 +01:00
c4fd9f9733 Add etcpak decompression functions 2025-01-12 18:48:03 +01:00
84c53607ab Etcpak: Sync with upstream 2025-01-09 19:29:58 +01:00
becf5b1d23 [etcpak] Sync with upstream 2024-02-05 18:53:35 +01:00
50d33aac6c Implement ETC2_R and ETC2_RG compression to etcpak 2023-12-19 17:49:05 +01:00
5837e1fe3f Improve normal map VRAM Compression with RGTC 2023-12-06 15:28:18 +01:00
de75085c7f etcpak: Fix Android ARMv7 build with NDK r23
Fix merged upstream.
Fixes #62516.
2022-06-29 14:31:57 +02:00
776418942c etcpak: Update to upstream release 1.0 (June 4, 2022)
No change compared to our previous commit, just documentation update
and a release tag we can track.
2022-06-10 12:36:45 +02:00
71cc26f55e etcpak: Update to upstream commit f128369 (May 13, 2022) 2022-05-13 15:58:53 +03:00
9570f3bf45 etcpak: Update to upstream commit 10fc4ce (May 12, 2022)
Fixes support for ARMv7+NEON.
2022-05-12 14:13:47 +02:00
3691cb0ca4 etcpak: Update to upstream commit 7c3cb6f (Jul 29, 2021)
Adds a new `useHeuristics` compression mode for ETC2.
Upstream defaults to enable it so we do the same.
2021-09-22 13:17:07 +02:00
638cfec853 etcpak: We only need the compression code, remove rest of etcpak app
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-14 16:50:02 +02:00
d137ccbfc8 etcpak: Fix handling of pthread naming API for Linux and MinGW
For MinGW this is tricky to do as a two-step process like it was implemented,
as `std:🧵: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-13 21:04:09 +02:00
d840165a32 Add etcpak library for faster ETC/ETC2/S3TC imports.
- `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>
2021-04-13 00:12:12 +02:00