diff options
| author | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-28 13:55:29 -0400 |
|---|---|---|
| committer | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-28 13:55:29 -0400 |
| commit | 2a35b19166ab577674339a514bb7eb1657409443 (patch) | |
| tree | ee91519215212e5218235f707bfdf45256702dc8 /src/video_core/texture_cache/image_base.h | |
| parent | d7818f67b810e44cd3318e828e892040cc92c7b7 (diff) | |
Vulkan: unbacked sparse images for textures too large to back
Title 1 samples an 8192x8192, 12-level, 68-layer array (a sparse virtual
texture, ~23 GB): vkCreateImage failed and Eden aborted, or VMA put it in
system memory and staged a full upload (34 GB private). Images over 2^28
texels are now created sparse-resident with no memory bound; the texture
cache neither uploads nor downloads them. Images merely over the VRAM
budget are allocated without the budget limit instead of failing.
Diffstat (limited to 'src/video_core/texture_cache/image_base.h')
| -rw-r--r-- | src/video_core/texture_cache/image_base.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/image_base.h b/src/video_core/texture_cache/image_base.h index 79fc8505d6..846a6f7fc1 100644 --- a/src/video_core/texture_cache/image_base.h +++ b/src/video_core/texture_cache/image_base.h @@ -45,6 +45,7 @@ enum class ImageFlagBits : u32 { AsynchronousDecode = 1 << 16, IsDecoding = 1 << 17, ///< Is currently being decoded asynchronously. + Unbacked = 1 << 18, ///< Host image has no memory (too big to back); never upload/download. }; DECLARE_ENUM_FLAG_OPERATORS(ImageFlagBits) |
