mirror of
https://github.com/izzy2lost/dolphin.git
synced 2026-06-19 01:16:48 -07:00
TextureCache: Don't re-use pooled textures within the same frame
This is an issue because a driver may have to maintain two copies of a texture if it batches all uploads together at the start of a frame. In the Vulkan backend, we do something similar to avoid breaking out of a render pass to copy a texture from the streaming buffer to the destination image. This was causing issues in the sms-bubbles fifolog, where an EFB copy to the same address of a previously-used texture caused the previous texture to be re-used again for a different image later on in the frame, causing the original contents to be discarded.
This commit is contained in:
@@ -193,6 +193,7 @@ private:
|
||||
static void CheckTempSize(size_t required_size);
|
||||
|
||||
static TCacheEntryBase* AllocateTexture(const TCacheEntryConfig& config);
|
||||
static TexPool::iterator FindMatchingTextureFromPool(const TCacheEntryConfig& config);
|
||||
static TexCache::iterator GetTexCacheIter(TCacheEntryBase* entry);
|
||||
|
||||
// Removes and unlinks texture from texture cache and returns it to the pool
|
||||
|
||||
Reference in New Issue
Block a user