diff --git a/GPU/D3D11/TextureCacheD3D11.cpp b/GPU/D3D11/TextureCacheD3D11.cpp index e02f42dafd..59a990ff3e 100644 --- a/GPU/D3D11/TextureCacheD3D11.cpp +++ b/GPU/D3D11/TextureCacheD3D11.cpp @@ -644,8 +644,6 @@ void TextureCacheD3D11::LoadTextureLevel(TexCacheEntry &entry, ReplacedTexture & int w = gstate.getTextureWidth(srcLevel); int h = gstate.getTextureHeight(srcLevel); - ID3D11Texture2D *texture = DxTex(&entry); - gpuStats.numTexturesDecoded++; // For UpdateSubresource, we can't decode directly into the texture so we allocate a buffer :( u32 *mapData = nullptr; @@ -656,7 +654,6 @@ void TextureCacheD3D11::LoadTextureLevel(TexCacheEntry &entry, ReplacedTexture & double replaceStart = time_now_d(); replaced.Load(srcLevel, mapData, mapRowPitch); replacementTimeThisFrame_ += time_now_d() - replaceStart; - dstFmt = ToDXGIFormat(replaced.Format(srcLevel)); } else { GETextureFormat tfmt = (GETextureFormat)entry.format; GEPaletteFormat clutformat = gstate.getClutPaletteFormat(); @@ -725,6 +722,7 @@ void TextureCacheD3D11::LoadTextureLevel(TexCacheEntry &entry, ReplacedTexture & } } + ID3D11Texture2D *texture = DxTex(&entry); context_->UpdateSubresource(texture, dstLevel, nullptr, mapData, mapRowPitch, 0); FreeAlignedMemory(mapData); } diff --git a/GPU/Directx9/TextureCacheDX9.cpp b/GPU/Directx9/TextureCacheDX9.cpp index d5c5d01a99..5eae0b64e5 100644 --- a/GPU/Directx9/TextureCacheDX9.cpp +++ b/GPU/Directx9/TextureCacheDX9.cpp @@ -598,7 +598,6 @@ void TextureCacheDX9::LoadTextureLevel(TexCacheEntry &entry, uint8_t *data, int double replaceStart = time_now_d(); replaced.Load(level, data, stride); replacementTimeThisFrame_ += time_now_d() - replaceStart; - dstFmt = ToD3D9Format(replaced.Format(level)); } else { GETextureFormat tfmt = (GETextureFormat)entry.format; GEPaletteFormat clutformat = gstate.getClutPaletteFormat(); diff --git a/GPU/GLES/TextureCacheGLES.cpp b/GPU/GLES/TextureCacheGLES.cpp index 027536e4d0..c23a1e56ca 100644 --- a/GPU/GLES/TextureCacheGLES.cpp +++ b/GPU/GLES/TextureCacheGLES.cpp @@ -635,9 +635,8 @@ void TextureCacheGLES::LoadTextureLevel(TexCacheEntry &entry, ReplacedTexture &r gpuStats.numTexturesDecoded++; if (replaced.GetSize(srcLevel, w, h)) { - PROFILE_THIS_SCOPE("replacetex"); - int bpp = (int)DataFormatSizeInBytes(replaced.Format(srcLevel)); + decPitch = w * bpp; uint8_t *rearrange = (uint8_t *)AllocateAlignedMemory(decPitch * h, 16); double replaceStart = time_now_d(); @@ -647,8 +646,6 @@ void TextureCacheGLES::LoadTextureLevel(TexCacheEntry &entry, ReplacedTexture &r dstFmt = replaced.Format(srcLevel); } else { - PROFILE_THIS_SCOPE("decodetex"); - GEPaletteFormat clutformat = gstate.getClutPaletteFormat(); u32 texaddr = gstate.getTextureAddress(srcLevel); int bufw = GetTextureBufw(srcLevel, texaddr, GETextureFormat(entry.format)); @@ -686,7 +683,6 @@ void TextureCacheGLES::LoadTextureLevel(TexCacheEntry &entry, ReplacedTexture &r } } - PROFILE_THIS_SCOPE("loadtex"); render_->TextureImage(entry.textureName, dstLevel, w, h, dstFmt, pixelData, GLRAllocType::ALIGNED); } diff --git a/GPU/Vulkan/TextureCacheVulkan.cpp b/GPU/Vulkan/TextureCacheVulkan.cpp index b0f94d9980..1748073052 100644 --- a/GPU/Vulkan/TextureCacheVulkan.cpp +++ b/GPU/Vulkan/TextureCacheVulkan.cpp @@ -1014,7 +1014,6 @@ void TextureCacheVulkan::LoadTextureLevel(TexCacheEntry &entry, uint8_t *writePt uint8_t *rearrange = (uint8_t *)AllocateAlignedMemory(w * scaleFactor * h * scaleFactor * 4, 16); scaler.ScaleAlways((u32 *)rearrange, pixelData, fmt, w, h, scaleFactor); pixelData = (u32 *)writePtr; - dstFmt = (VkFormat)fmt; // We always end up at 8888. Other parts assume this. _assert_(dstFmt == VULKAN_8888_FORMAT);