Keep working on ASTC

This commit is contained in:
CamilleLaVey
2026-09-16 16:19:52 -04:00
parent 66a25a3d79
commit 9bedcf6202
8 changed files with 221 additions and 57 deletions
+19
View File
@@ -1,3 +1,6 @@
// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
@@ -5,7 +8,23 @@
namespace Tegra::Texture::ASTC {
struct BlockLinearLayout {
uint32_t layer_stride;
uint32_t slice_size;
uint32_t block_size;
uint32_t x_shift;
uint32_t gob_height;
uint32_t gob_height_mask;
uint32_t gob_depth;
uint32_t gob_depth_mask;
};
void Decompress(std::span<const uint8_t> data, uint32_t width, uint32_t height, uint32_t depth,
uint32_t block_width, uint32_t block_height, std::span<uint8_t> output);
void DecompressBlockLinear(std::span<const uint8_t> data, uint32_t width, uint32_t height,
uint32_t depth, uint32_t layers, uint32_t block_width,
uint32_t block_height, const BlockLinearLayout& layout,
std::span<uint8_t> output);
} // namespace Tegra::Texture::ASTC