From e894039959c4d8a52b6d35f665de239392a350da Mon Sep 17 00:00:00 2001 From: h4570 Date: Thu, 28 Jul 2022 11:34:28 +0200 Subject: [PATCH] fix textures alloc problem --- engine/inc/renderer/core/gs/renderer_core_gs.hpp | 2 +- .../core/texture/renderer_core_texture_sender.cpp | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/engine/inc/renderer/core/gs/renderer_core_gs.hpp b/engine/inc/renderer/core/gs/renderer_core_gs.hpp index 535fda8..0ba2c90 100644 --- a/engine/inc/renderer/core/gs/renderer_core_gs.hpp +++ b/engine/inc/renderer/core/gs/renderer_core_gs.hpp @@ -36,7 +36,7 @@ class RendererCoreGS { constexpr static float gsCenter = 4096.0F; constexpr static float screenCenter = gsCenter / 2.0F; constexpr static float vramMargin = - 0.01F; // We don't have perfectly 4MB of VRAM + 0.003F; // We don't have perfectly 4MB of VRAM float spaceOccupiedByFrameBuffers, spaceOccupiedByZBuffer; RendererSettings* settings; 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 d656554..7138caa 100644 --- a/engine/src/renderer/core/texture/renderer_core_texture_sender.cpp +++ b/engine/src/renderer/core/texture/renderer_core_texture_sender.cpp @@ -31,7 +31,7 @@ RendererCoreTextureBuffers RendererCoreTextureSender::allocate( texbuffer_t* clut = nullptr; auto texClut = t_texture->getClutData(); - if (texClut != nullptr && texClut->width + texClut->height > 0) { + if (texClut != nullptr && texClut->width > 0) { clut = allocateTextureClut(t_texture); } return {t_texture->getId(), core, clut}; @@ -46,14 +46,14 @@ float RendererCoreTextureSender::getSizeInMB(texbuffer_t* texBuffer) { void RendererCoreTextureSender::deallocate( const RendererCoreTextureBuffers& texBuffers) { - graph_vram_free(texBuffers.core->address); - delete texBuffers.core; - if (texBuffers.clut != nullptr && texBuffers.clut->width > 0) { graph_vram_free(texBuffers.clut->address); delete texBuffers.clut; } + graph_vram_free(texBuffers.core->address); + delete texBuffers.core; + allocatedVRamMemForTextures -= getSizeInMB(texBuffers.core); }