1
0
Fork 0
forked from suyu/suyu

shader: Reorder shader cache directories

This commit is contained in:
ReinUsesLisp 2021-06-12 01:46:30 -03:00 committed by ameerj
parent 3025b2f605
commit cb78a1b494
2 changed files with 12 additions and 18 deletions

View file

@ -238,16 +238,13 @@ void ShaderCache::LoadDiskResources(u64 title_id, std::stop_token stop_loading,
if (title_id == 0) { if (title_id == 0) {
return; return;
} }
auto shader_dir{Common::FS::GetYuzuPath(Common::FS::YuzuPath::ShaderDir)}; const auto shader_dir{Common::FS::GetYuzuPath(Common::FS::YuzuPath::ShaderDir)};
auto base_dir{shader_dir / "new_opengl"}; const auto base_dir{shader_dir / fmt::format("{:016x}", title_id)};
auto transferable_dir{base_dir / "transferable"}; if (!Common::FS::CreateDir(shader_dir) || !Common::FS::CreateDir(base_dir)) {
auto precompiled_dir{base_dir / "precompiled"}; LOG_ERROR(Common_Filesystem, "Failed to create shader cache directories");
if (!Common::FS::CreateDir(shader_dir) || !Common::FS::CreateDir(base_dir) ||
!Common::FS::CreateDir(transferable_dir) || !Common::FS::CreateDir(precompiled_dir)) {
LOG_ERROR(Common_Filesystem, "Failed to create pipeline cache directories");
return; return;
} }
shader_cache_filename = transferable_dir / fmt::format("{:016x}.bin", title_id); shader_cache_filename = base_dir / "opengl.bin";
if (!workers) { if (!workers) {
workers = CreateWorkers(); workers = CreateWorkers();

View file

@ -337,22 +337,19 @@ void PipelineCache::LoadDiskResources(u64 title_id, std::stop_token stop_loading
if (title_id == 0) { if (title_id == 0) {
return; return;
} }
auto shader_dir{Common::FS::GetYuzuPath(Common::FS::YuzuPath::ShaderDir)}; const auto shader_dir{Common::FS::GetYuzuPath(Common::FS::YuzuPath::ShaderDir)};
auto base_dir{shader_dir / "vulkan"}; const auto base_dir{shader_dir / fmt::format("{:016x}", title_id)};
auto transferable_dir{base_dir / "transferable"}; if (!Common::FS::CreateDir(shader_dir) || !Common::FS::CreateDir(base_dir)) {
auto precompiled_dir{base_dir / "precompiled"};
if (!Common::FS::CreateDir(shader_dir) || !Common::FS::CreateDir(base_dir) ||
!Common::FS::CreateDir(transferable_dir) || !Common::FS::CreateDir(precompiled_dir)) {
LOG_ERROR(Common_Filesystem, "Failed to create pipeline cache directories"); LOG_ERROR(Common_Filesystem, "Failed to create pipeline cache directories");
return; return;
} }
pipeline_cache_filename = transferable_dir / fmt::format("{:016x}.bin", title_id); pipeline_cache_filename = base_dir / "vulkan.bin";
struct { struct {
std::mutex mutex; std::mutex mutex;
size_t total{0}; size_t total{};
size_t built{0}; size_t built{};
bool has_loaded{false}; bool has_loaded{};
} state; } state;
const auto load_compute{[&](std::ifstream& file, FileEnvironment env) { const auto load_compute{[&](std::ifstream& file, FileEnvironment env) {