diff --git a/src/SharpEmu.Libs/Gpu/Images/GuestImageCache.cs b/src/SharpEmu.Libs/Gpu/Images/GuestImageCache.cs index 94728e9..8d50e0a 100644 --- a/src/SharpEmu.Libs/Gpu/Images/GuestImageCache.cs +++ b/src/SharpEmu.Libs/Gpu/Images/GuestImageCache.cs @@ -126,6 +126,17 @@ public sealed unsafe partial class GuestImageCache : IGuestImageCache, IGuestIma var found = LookUpImage(ref request, exactFormat); if (request.Role is ImageRole.Texture or ImageRole.StorageImage) { + if (request.Description.Metadata.Kind == MetadataKind.Dcc) + { + using var held = _lock.Hold(); + var image = _slots[found]; + if (image.Description.Metadata.Kind == MetadataKind.None) + { + image.Description.Metadata.Kind = MetadataKind.Dcc; + image.Description.Metadata.Range = request.Description.Metadata.Range; + } + } + ref readonly var description = ref _slots[found].Description; if (description.DccSliceSize is var sliceSize and not 0) {