Commit graph

15 commits

Author SHA1 Message Date
Rémi Verschelde
91907a89f7 Thirdparty: Harmonize patches to document downstream changes 2025-02-06 01:40:03 +01:00
Rémi Verschelde
bee5de61de Merge pull request #100365 from BlueCube3310/etc-decompress
Add support for decompressing ETC2
2025-01-14 00:21:55 +01:00
BlueCube3310
c4fd9f9733 Add etcpak decompression functions 2025-01-12 18:48:03 +01:00
BlueCube3310
84c53607ab Etcpak: Sync with upstream 2025-01-09 19:29:58 +01:00
BlueCube3310
becf5b1d23 [etcpak] Sync with upstream 2024-02-05 18:53:35 +01:00
BlueCube3310
50d33aac6c Implement ETC2_R and ETC2_RG compression to etcpak 2023-12-19 17:49:05 +01:00
BlueCube3310
5837e1fe3f Improve normal map VRAM Compression with RGTC 2023-12-06 15:28:18 +01:00
Rémi Verschelde
de75085c7f etcpak: Fix Android ARMv7 build with NDK r23
Fix merged upstream.
Fixes #62516.
2022-06-29 14:31:57 +02:00
Rémi Verschelde
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
bruvzg
71cc26f55e
etcpak: Update to upstream commit f128369 (May 13, 2022) 2022-05-13 15:58:53 +03:00
Rémi Verschelde
9570f3bf45 etcpak: Update to upstream commit 10fc4ce (May 12, 2022)
Fixes support for ARMv7+NEON.
2022-05-12 14:13:47 +02:00
Rémi Verschelde
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
Rémi Verschelde
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
Rémi Verschelde
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
K. S. Ernest (iFire) Lee
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