diff options
author | bunnei <bunneidev@gmail.com> | 2019-04-18 02:59:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-18 02:59:49 +0200 |
commit | 5bd5140bdecd7139029426502b3a474a7d9c9608 (patch) | |
tree | 97c40345bf9c9af75ff9c294601f54ab3a42a1b6 /src/video_core/renderer_opengl/gl_shader_disk_cache.cpp | |
parent | Merge pull request #2315 from ReinUsesLisp/severity-decompiler (diff) | |
parent | Adapt Bindless to work with AOFFI (diff) | |
download | yuzu-5bd5140bdecd7139029426502b3a474a7d9c9608.tar yuzu-5bd5140bdecd7139029426502b3a474a7d9c9608.tar.gz yuzu-5bd5140bdecd7139029426502b3a474a7d9c9608.tar.bz2 yuzu-5bd5140bdecd7139029426502b3a474a7d9c9608.tar.lz yuzu-5bd5140bdecd7139029426502b3a474a7d9c9608.tar.xz yuzu-5bd5140bdecd7139029426502b3a474a7d9c9608.tar.zst yuzu-5bd5140bdecd7139029426502b3a474a7d9c9608.zip |
Diffstat (limited to 'src/video_core/renderer_opengl/gl_shader_disk_cache.cpp')
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_disk_cache.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp b/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp index d5890a375..53752b38d 100644 --- a/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp +++ b/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp @@ -319,16 +319,19 @@ std::optional<ShaderDiskCacheDecompiled> ShaderDiskCacheOpenGL::LoadDecompiledEn u32 type{}; u8 is_array{}; u8 is_shadow{}; + u8 is_bindless{}; if (file.ReadBytes(&offset, sizeof(u64)) != sizeof(u64) || file.ReadBytes(&index, sizeof(u64)) != sizeof(u64) || file.ReadBytes(&type, sizeof(u32)) != sizeof(u32) || file.ReadBytes(&is_array, sizeof(u8)) != sizeof(u8) || - file.ReadBytes(&is_shadow, sizeof(u8)) != sizeof(u8)) { + file.ReadBytes(&is_shadow, sizeof(u8)) != sizeof(u8) || + file.ReadBytes(&is_bindless, sizeof(u8)) != sizeof(u8)) { return {}; } - entry.entries.samplers.emplace_back( - static_cast<std::size_t>(offset), static_cast<std::size_t>(index), - static_cast<Tegra::Shader::TextureType>(type), is_array != 0, is_shadow != 0); + entry.entries.samplers.emplace_back(static_cast<std::size_t>(offset), + static_cast<std::size_t>(index), + static_cast<Tegra::Shader::TextureType>(type), + is_array != 0, is_shadow != 0, is_bindless != 0); } u32 global_memory_count{}; @@ -393,7 +396,8 @@ bool ShaderDiskCacheOpenGL::SaveDecompiledFile(FileUtil::IOFile& file, u64 uniqu file.WriteObject(static_cast<u64>(sampler.GetIndex())) != 1 || file.WriteObject(static_cast<u32>(sampler.GetType())) != 1 || file.WriteObject(static_cast<u8>(sampler.IsArray() ? 1 : 0)) != 1 || - file.WriteObject(static_cast<u8>(sampler.IsShadow() ? 1 : 0)) != 1) { + file.WriteObject(static_cast<u8>(sampler.IsShadow() ? 1 : 0)) != 1 || + file.WriteObject(static_cast<u8>(sampler.IsBindless() ? 1 : 0)) != 1) { return false; } } |