From e8c0cfce1f619e3783350173b445c8cf4601cc0e Mon Sep 17 00:00:00 2001 From: Guido Diego Quispe Robles Date: Sun, 1 Sep 2024 18:54:42 -0300 Subject: [PATCH] Fix: width of texture buffer for pallete color --- .../core/texture/renderer_core_texture_sender.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/engine/src/renderer/core/texture/renderer_core_texture_sender.cpp b/engine/src/renderer/core/texture/renderer_core_texture_sender.cpp index 8e94476..55b1929 100644 --- a/engine/src/renderer/core/texture/renderer_core_texture_sender.cpp +++ b/engine/src/renderer/core/texture/renderer_core_texture_sender.cpp @@ -58,9 +58,19 @@ texbuffer_t* RendererCoreTextureSender::allocateTextureCore( auto* result = new texbuffer_t; const auto* core = t_texture->core; - int coreWidth = core->width <= 64 ? 64 : core->width; + switch (core->psm) { + case GS_PSM_8: + case GS_PSM_4: + case GS_PSM_8H: + case GS_PSM_4HL: + case GS_PSM_4HH: + result->width = -128 & (core->width + 127); + break; + default: + result->width = -64 & (core->width + 63); + break; + } - result->width = coreWidth; result->psm = core->psm; result->info.components = core->components;