common: Add more robust ZSTD handling. (#7071)

This commit is contained in:
Steveice10 2023-10-15 14:08:29 -07:00 committed by GitHub
parent 07839fb3ce
commit 4c59443ed2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 35 additions and 8 deletions

View file

@ -206,6 +206,10 @@ ShaderDiskCache::LoadPrecompiledFile(FileUtil::IOFile& file, bool compressed) {
if (compressed) {
const std::vector<u8> decompressed =
Common::Compression::DecompressDataZSTD(precompiled_file);
if (decompressed.empty()) {
LOG_ERROR(Render_OpenGL, "Could not decompress precompiled shader cache.");
return std::nullopt;
}
SaveArrayToPrecompiled(decompressed.data(), decompressed.size());
} else {
SaveArrayToPrecompiled(precompiled_file.data(), precompiled_file.size());

View file

@ -10,10 +10,11 @@
namespace Pica::Shader::Generator {
// NOTE: Changing the order impacts shader transferable and precompiled cache loading.
enum ProgramType : u32 {
VS = 0,
GS = 2,
FS = 1,
GS = 2,
};
enum Attributes {