Merge pull request #5292 from lioncash/alloc

gl_shader_manager: Eliminate variable shadowing
This commit is contained in:
Pengfei Zhu 2020-05-01 22:57:55 +08:00 committed by GitHub
commit 2eacb11c53
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -445,7 +445,7 @@ void ShaderProgramManager::LoadDiskCache(const std::atomic_bool& stop_loading,
if (!transferable) { if (!transferable) {
return; return;
} }
const auto raws = *transferable; const auto& raws = *transferable;
auto [decompiled, dumps] = disk_cache.LoadPrecompiled(); auto [decompiled, dumps] = disk_cache.LoadPrecompiled();
@ -460,7 +460,6 @@ void ShaderProgramManager::LoadDiskCache(const std::atomic_bool& stop_loading,
bool precompiled_cache_altered = false; bool precompiled_cache_altered = false;
std::mutex mutex; std::mutex mutex;
std::size_t built_shaders = 0; // It doesn't have be atomic since it's used behind a mutex
std::atomic_bool compilation_failed = false; std::atomic_bool compilation_failed = false;
if (callback) { if (callback) {
callback(VideoCore::LoadCallbackStage::Decompile, 0, raws.size()); callback(VideoCore::LoadCallbackStage::Decompile, 0, raws.size());
@ -468,13 +467,13 @@ void ShaderProgramManager::LoadDiskCache(const std::atomic_bool& stop_loading,
std::vector<std::size_t> load_raws_index; std::vector<std::size_t> load_raws_index;
// Loads both decompiled and precompiled shaders from the cache. If either one is missing for // Loads both decompiled and precompiled shaders from the cache. If either one is missing for
const auto LoadPrecompiledWorker = const auto LoadPrecompiledWorker =
[&](std::size_t begin, std::size_t end, const std::vector<ShaderDiskCacheRaw>& raws, [&](std::size_t begin, std::size_t end, const std::vector<ShaderDiskCacheRaw>& raw_cache,
const ShaderDecompiledMap& decompiled, const ShaderDumpsMap& dumps) { const ShaderDecompiledMap& decompiled_map, const ShaderDumpsMap& dump_map) {
for (std::size_t i = 0; i < end; ++i) { for (std::size_t i = 0; i < end; ++i) {
if (stop_loading || compilation_failed) { if (stop_loading || compilation_failed) {
return; return;
} }
const auto& raw{raws[i]}; const auto& raw{raw_cache[i]};
const u64 unique_identifier{raw.GetUniqueIdentifier()}; const u64 unique_identifier{raw.GetUniqueIdentifier()};
const u64 calculated_hash = const u64 calculated_hash =
@ -488,12 +487,12 @@ void ShaderProgramManager::LoadDiskCache(const std::atomic_bool& stop_loading,
return; return;
} }
const auto dump{dumps.find(unique_identifier)}; const auto dump{dump_map.find(unique_identifier)};
const auto decomp{decompiled.find(unique_identifier)}; const auto decomp{decompiled_map.find(unique_identifier)};
OGLProgram shader; OGLProgram shader;
if (dump != dumps.end() && decomp != decompiled.end()) { if (dump != dump_map.end() && decomp != decompiled_map.end()) {
// Only load this shader if its sanitize_mul setting matches // Only load this shader if its sanitize_mul setting matches
if (decomp->second.sanitize_mul == VideoCore::g_hw_shader_accurate_mul) { if (decomp->second.sanitize_mul == VideoCore::g_hw_shader_accurate_mul) {
continue; continue;
@ -533,7 +532,7 @@ void ShaderProgramManager::LoadDiskCache(const std::atomic_bool& stop_loading,
load_raws_index.push_back(i); load_raws_index.push_back(i);
} }
if (callback) { if (callback) {
callback(VideoCore::LoadCallbackStage::Decompile, i, raws.size()); callback(VideoCore::LoadCallbackStage::Decompile, i, raw_cache.size());
} }
} }
}; };
@ -554,12 +553,12 @@ void ShaderProgramManager::LoadDiskCache(const std::atomic_bool& stop_loading,
compilation_failed = false; compilation_failed = false;
const auto LoadTransferable = [&](std::size_t begin, std::size_t end, const auto LoadTransferable = [&](std::size_t begin, std::size_t end,
const std::vector<ShaderDiskCacheRaw>& raws) { const std::vector<ShaderDiskCacheRaw>& raw_cache) {
for (std::size_t i = 0; i < end; ++i) { for (std::size_t i = 0; i < end; ++i) {
if (stop_loading || compilation_failed) { if (stop_loading || compilation_failed) {
return; return;
} }
const auto& raw{raws[i]}; const auto& raw{raw_cache[i]};
const u64 unique_identifier{raw.GetUniqueIdentifier()}; const u64 unique_identifier{raw.GetUniqueIdentifier()};
bool sanitize_mul = false; bool sanitize_mul = false;
@ -603,7 +602,7 @@ void ShaderProgramManager::LoadDiskCache(const std::atomic_bool& stop_loading,
} }
if (callback) { if (callback) {
callback(VideoCore::LoadCallbackStage::Build, i, raws.size()); callback(VideoCore::LoadCallbackStage::Build, i, raw_cache.size());
} }
} }
}; };