Add gpu compressed decoders (#12237) 195d4fcb25
* feat(renderer): GPU compressed texture support (BC7 / ASTC / ETC2) - Software decoders for BC, ASTC, ETC2 in the decoders library. - KTX2 reader extended to parse BC7, ASTC LDR (all footprints), ETC2 RGBA8. - Ktx2HwSupport + per-backend cap flags; DecodeKtx2 falls back to SW decode + tight RGBA mip chain when HW lacks the format. - Native compressed upload in Vulkan, GL, Metal, WebGPU (D3D11/D3D12 already supported BC7); per-mip uploads, no auto-mipgen for compressed. - Texture compressor premultiplies alpha before BC7 encode so output matches the runtime PNG path. - Android CMakeLists exposes decoders include directory. * Android break * fix(android): always expose decoders/include for renderer sources * fix(decoders): include <cstdio> for stderr in texture_decoder.cpp * Clang format * Update premake5_pls_renderer.lua * Update render_context_gl_impl.cpp * Update render_context_vulkan_impl.cpp * Fix null renderer * Update decode_ktx2.hpp * Update astc_footprints.hpp * Copyright * Update texture_decoder.cpp * Comments * Comments * Update to ETC * Update decode_bc_texture.cpp * Update decode_bc_texture.cpp * More comments * Comments * Bug fix on block sizes * Clang format * Fix ASTC * Fix android * Update UE and Other platform * Update render_context_vulkan_impl.cpp * Josh Comments Co-authored-by: John White <aliasbinman@gmail.com>
A
aliasbinman committed
c472dc609a31c160daf3136da01fb0a855e79eb5
Parent: 53a09b9