| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- namespace Ryujinx.Graphics.Gpu.Shader.DiskCache
- {
- /// <summary>
- /// Result of a shader cache load operation.
- /// </summary>
- enum DiskCacheLoadResult
- {
- /// <summary>
- /// No error.
- /// </summary>
- Success,
- /// <summary>
- /// File can't be accessed.
- /// </summary>
- NoAccess,
- /// <summary>
- /// The constant buffer 1 data length is too low for the translation of the guest shader.
- /// </summary>
- InvalidCb1DataLength,
- /// <summary>
- /// The cache is missing the descriptor of a texture used by the shader.
- /// </summary>
- MissingTextureDescriptor,
- /// <summary>
- /// File is corrupted.
- /// </summary>
- FileCorruptedGeneric,
- /// <summary>
- /// File is corrupted, detected by magic value check.
- /// </summary>
- FileCorruptedInvalidMagic,
- /// <summary>
- /// File is corrupted, detected by length check.
- /// </summary>
- FileCorruptedInvalidLength,
- /// <summary>
- /// File might be valid, but is incompatible with the current emulator version.
- /// </summary>
- IncompatibleVersion
- }
- static class DiskCacheLoadResultExtensions
- {
- /// <summary>
- /// Gets an error message from a result code.
- /// </summary>
- /// <param name="result">Result code</param>
- /// <returns>Error message</returns>
- public static string GetMessage(this DiskCacheLoadResult result)
- {
- return result switch
- {
- DiskCacheLoadResult.Success => "No error.",
- DiskCacheLoadResult.NoAccess => "Could not access the cache file.",
- DiskCacheLoadResult.InvalidCb1DataLength => "Constant buffer 1 data length is too low.",
- DiskCacheLoadResult.MissingTextureDescriptor => "Texture descriptor missing from the cache file.",
- DiskCacheLoadResult.FileCorruptedGeneric => "The cache file is corrupted.",
- DiskCacheLoadResult.FileCorruptedInvalidMagic => "Magic check failed, the cache file is corrupted.",
- DiskCacheLoadResult.FileCorruptedInvalidLength => "Length check failed, the cache file is corrupted.",
- DiskCacheLoadResult.IncompatibleVersion => "The version of the disk cache is not compatible with this version of the emulator.",
- _ => "Unknown error."
- };
- }
- }
- }
|