From 05f084762b5364d5c2c58ab549de269df19ad3c1 Mon Sep 17 00:00:00 2001 From: wheremyfoodat Date: Mon, 27 Feb 2023 21:55:35 +0200 Subject: [PATCH] [PICA] Add IA8 textures --- src/core/renderer_gl/textures.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/core/renderer_gl/textures.cpp b/src/core/renderer_gl/textures.cpp index b45d2586..03f5a4f6 100644 --- a/src/core/renderer_gl/textures.cpp +++ b/src/core/renderer_gl/textures.cpp @@ -120,6 +120,16 @@ u32 Texture::decodeTexel(u32 u, u32 v, Texture::Formats fmt, const void* data) { return (intensity << 24) | (intensity << 16) | (intensity << 8) | intensity; } + case Formats::IA8: { + u32 offset = getSwizzledOffset(u, v, size.u(), 2); + auto ptr = static_cast(data); + + // Same as I8 except each pixel gets its own alpha value too + const u8 alpha = ptr[offset]; + const u8 intensity = ptr[offset + 1]; + return (alpha << 24) | (intensity << 16) | (intensity << 8) | intensity; + } + default: Helpers::panic("[Texture::DecodeTexel] Unimplemented format = %d", static_cast(fmt)); }