|
|
@ -2229,8 +2229,10 @@ void GMainWindow::OnGameListRemoveFile(u64 program_id, GameListRemoveTarget targ
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
switch (target) {
|
|
|
|
switch (target) {
|
|
|
|
case GameListRemoveTarget::GlShaderCache:
|
|
|
|
|
|
|
|
case GameListRemoveTarget::VkShaderCache:
|
|
|
|
case GameListRemoveTarget::VkShaderCache:
|
|
|
|
|
|
|
|
RemoveVulkanDriverPipelineCache(program_id);
|
|
|
|
|
|
|
|
[[fallthrough]];
|
|
|
|
|
|
|
|
case GameListRemoveTarget::GlShaderCache:
|
|
|
|
RemoveTransferableShaderCache(program_id, target);
|
|
|
|
RemoveTransferableShaderCache(program_id, target);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
case GameListRemoveTarget::AllShaderCache:
|
|
|
|
case GameListRemoveTarget::AllShaderCache:
|
|
|
@ -2271,6 +2273,22 @@ void GMainWindow::RemoveTransferableShaderCache(u64 program_id, GameListRemoveTa
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void GMainWindow::RemoveVulkanDriverPipelineCache(u64 program_id) {
|
|
|
|
|
|
|
|
static constexpr std::string_view target_file_name = "vulkan_pipelines.bin";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const auto shader_cache_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::ShaderDir);
|
|
|
|
|
|
|
|
const auto shader_cache_folder_path = shader_cache_dir / fmt::format("{:016x}", program_id);
|
|
|
|
|
|
|
|
const auto target_file = shader_cache_folder_path / target_file_name;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!Common::FS::Exists(target_file)) {
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!Common::FS::RemoveFile(target_file)) {
|
|
|
|
|
|
|
|
QMessageBox::warning(this, tr("Error Removing Vulkan Driver Pipeline Cache"),
|
|
|
|
|
|
|
|
tr("Failed to remove the driver pipeline cache."));
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void GMainWindow::RemoveAllTransferableShaderCaches(u64 program_id) {
|
|
|
|
void GMainWindow::RemoveAllTransferableShaderCaches(u64 program_id) {
|
|
|
|
const auto shader_cache_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::ShaderDir);
|
|
|
|
const auto shader_cache_dir = Common::FS::GetYuzuPath(Common::FS::YuzuPath::ShaderDir);
|
|
|
|
const auto program_shader_cache_dir = shader_cache_dir / fmt::format("{:016x}", program_id);
|
|
|
|
const auto program_shader_cache_dir = shader_cache_dir / fmt::format("{:016x}", program_id);
|
|
|
|