This cl adds both LDR and HDR support for ASTC compressed textures. Only LDR formats are exposed in the PhysicalDevice's properties, but HDR support can be added trivially later by adding the HDR formats and exposing "VK_EXT_texture_compression_astc_hdr". Pulled from: https://github.com/ARM-software/astc-encoder Git hash: 81a5e50741b4c8302cf7d78f314a53e44ee68e1f The astc-encode git repo was added to third-party, with a few minor modifications: 1) All encoding related code has been ripped out, only decoding related code remains 2) Replaced ASTC_CODEC_INTERNAL_ERROR() with UNREACHABLE() in a switch statement in astc_color_unquantize.cpp 3) Some functions were using a lot of stack memory, so I added a unique_ptr to allocate the same objects on the heap, to avoid potential issues. LDR ASTC is decoded to 8bit unsigned RGBA. HDR ASTC is decoded to 32b floating point. Tests: dEQP-VK.*astc* Bug: b/150130101 Change-Id: I6b03fed6e1f326a95c7aefe9f9a9d0a89cf24428 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/41568Reviewed-by:Nicolas Capens <nicolascapens@google.com> Tested-by:
Nicolas Capens <nicolascapens@google.com> Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| Linux | Loading commit data... | |
| BUILD.gn | Loading commit data... | |
| Build.cpp | Loading commit data... | |
| Build.hpp | Loading commit data... | |
| CPUID.cpp | Loading commit data... | |
| CPUID.hpp | Loading commit data... | |
| Configurator.cpp | Loading commit data... | |
| Configurator.hpp | Loading commit data... | |
| Debug.cpp | Loading commit data... | |
| Debug.hpp | Loading commit data... | |
| GrallocAndroid.cpp | Loading commit data... | |
| GrallocAndroid.hpp | Loading commit data... | |
| Half.cpp | Loading commit data... | |
| Half.hpp | Loading commit data... | |
| Math.cpp | Loading commit data... | |
| Math.hpp | Loading commit data... | |
| Memory.cpp | Loading commit data... | |
| Memory.hpp | Loading commit data... | |
| SharedLibrary.hpp | Loading commit data... | |
| Socket.cpp | Loading commit data... | |
| Socket.hpp | Loading commit data... | |
| Synchronization.hpp | Loading commit data... | |
| Timer.cpp | Loading commit data... | |
| Timer.hpp | Loading commit data... | |
| Types.hpp | Loading commit data... |