From 64e55324c75c14c07a8a9ef850b5c00a37013d2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sun, 14 Jun 2026 14:02:09 +0200 Subject: [PATCH] Fix initialization bug in TextureCacheCommon --- GPU/Common/TextureCacheCommon.cpp | 2 +- GPU/Common/TextureShaderCommon.h | 3 ++- GPU/Vulkan/StateMappingVulkan.cpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/GPU/Common/TextureCacheCommon.cpp b/GPU/Common/TextureCacheCommon.cpp index ef14e6d905..e02552437b 100644 --- a/GPU/Common/TextureCacheCommon.cpp +++ b/GPU/Common/TextureCacheCommon.cpp @@ -92,7 +92,7 @@ static bool GetBestFramebufferCandidate(FramebufferManagerCommon *fbManager, con // These are Data::Format:: B4G4R4A4_PACK16, B5G6R6_PACK16, B5G5R5A1_PACK16, R8G8B8A8 TextureCacheCommon::TextureCacheCommon(Draw::DrawContext *draw, Draw2D *draw2D) - : draw_(draw), draw2D_(draw2D), replacer_(draw), textureShaderCache_(draw, draw2D_) { + : draw_(draw), draw2D_(draw2D), replacer_(draw), textureShaderCache_(draw, draw2D_), clutTextureCache_(draw) { decimationCounter_ = TEXCACHE_DECIMATION_INTERVAL; // It's only possible to have 1KB of palette entries, although we allow 2KB in a hack. diff --git a/GPU/Common/TextureShaderCommon.h b/GPU/Common/TextureShaderCommon.h index d3198e059c..9bf80dff4c 100644 --- a/GPU/Common/TextureShaderCommon.h +++ b/GPU/Common/TextureShaderCommon.h @@ -38,6 +38,7 @@ public: class ClutTextureCache { public: + ClutTextureCache(Draw::DrawContext *draw) : draw_(draw) {} ClutTexture GetClutTexture(GEPaletteFormat clutFormat, const u32 clutHash, const u32 *rawClut); void Clear(); @@ -47,7 +48,7 @@ public: void DeviceRestore(Draw::DrawContext *draw); private: - Draw::DrawContext *draw_; + Draw::DrawContext *draw_ = nullptr; std::unordered_map texCache_; }; diff --git a/GPU/Vulkan/StateMappingVulkan.cpp b/GPU/Vulkan/StateMappingVulkan.cpp index 9269492ebb..518c86d824 100644 --- a/GPU/Vulkan/StateMappingVulkan.cpp +++ b/GPU/Vulkan/StateMappingVulkan.cpp @@ -79,7 +79,7 @@ static constexpr VkStencilOp stencilOps[] = { VK_STENCIL_OP_ZERO, VK_STENCIL_OP_REPLACE, VK_STENCIL_OP_INVERT, - VK_STENCIL_OP_INCREMENT_AND_CLAMP, + VK_STENCIL_OP_INCREMENT_AND_CLAMP, // TODO: Are we sure we shouldn't wrap? VK_STENCIL_OP_DECREMENT_AND_CLAMP, VK_STENCIL_OP_KEEP, // reserved VK_STENCIL_OP_KEEP, // reserved