diff options
author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2022-12-28 15:32:31 +0100 |
---|---|---|
committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2023-01-04 04:52:15 +0100 |
commit | 03ccd8bf432e8b2c945b68f00e8fa88f67388098 (patch) | |
tree | 446afdee8cfc6f5ec126bbdae7dbbe23b05d8550 /src/video_core/texture_cache/texture_cache_base.h | |
parent | Vulkan: Update blacklisting to latest driver versions. (diff) | |
download | yuzu-03ccd8bf432e8b2c945b68f00e8fa88f67388098.tar yuzu-03ccd8bf432e8b2c945b68f00e8fa88f67388098.tar.gz yuzu-03ccd8bf432e8b2c945b68f00e8fa88f67388098.tar.bz2 yuzu-03ccd8bf432e8b2c945b68f00e8fa88f67388098.tar.lz yuzu-03ccd8bf432e8b2c945b68f00e8fa88f67388098.tar.xz yuzu-03ccd8bf432e8b2c945b68f00e8fa88f67388098.tar.zst yuzu-03ccd8bf432e8b2c945b68f00e8fa88f67388098.zip |
Diffstat (limited to 'src/video_core/texture_cache/texture_cache_base.h')
-rw-r--r-- | src/video_core/texture_cache/texture_cache_base.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/video_core/texture_cache/texture_cache_base.h b/src/video_core/texture_cache/texture_cache_base.h index 6b2898705..4eea1f609 100644 --- a/src/video_core/texture_cache/texture_cache_base.h +++ b/src/video_core/texture_cache/texture_cache_base.h @@ -92,6 +92,8 @@ class TextureCache : public VideoCommon::ChannelSetupCaches<TextureCacheChannelI static constexpr bool HAS_EMULATED_COPIES = P::HAS_EMULATED_COPIES; /// True when the API can provide info about the memory of the device. static constexpr bool HAS_DEVICE_MEMORY_INFO = P::HAS_DEVICE_MEMORY_INFO; + /// True when the API can do asynchronous texture downloads. + static constexpr bool IMPLEMENTS_ASYNC_DOWNLOADS = P::IMPLEMENTS_ASYNC_DOWNLOADS; static constexpr size_t UNSET_CHANNEL{std::numeric_limits<size_t>::max()}; @@ -106,6 +108,7 @@ class TextureCache : public VideoCommon::ChannelSetupCaches<TextureCacheChannelI using ImageView = typename P::ImageView; using Sampler = typename P::Sampler; using Framebuffer = typename P::Framebuffer; + using AsyncBuffer = typename P::AsyncBuffer; struct BlitImages { ImageId dst_id; @@ -403,7 +406,8 @@ private: // TODO: This data structure is not optimal and it should be reworked std::vector<ImageId> uncommitted_downloads; - std::queue<std::vector<ImageId>> committed_downloads; + std::deque<std::vector<ImageId>> committed_downloads; + std::deque<std::optional<AsyncBuffer>> async_buffers; struct LRUItemParams { using ObjectType = ImageId; |