[GPU] Non-ROV f24 trunc/round, host shader modifications, cache dir
This commit is contained in:
@@ -276,8 +276,7 @@ void GraphicsSystem::ClearCaches() {
|
||||
}
|
||||
|
||||
void GraphicsSystem::InitializeShaderStorage(
|
||||
const std::filesystem::path& storage_root, uint32_t title_id,
|
||||
bool blocking) {
|
||||
const std::filesystem::path& cache_root, uint32_t title_id, bool blocking) {
|
||||
if (!cvars::store_shaders) {
|
||||
return;
|
||||
}
|
||||
@@ -285,21 +284,18 @@ void GraphicsSystem::InitializeShaderStorage(
|
||||
if (command_processor_->is_paused()) {
|
||||
// Safe to run on any thread while the command processor is paused, no
|
||||
// race condition.
|
||||
command_processor_->InitializeShaderStorage(storage_root, title_id, true);
|
||||
command_processor_->InitializeShaderStorage(cache_root, title_id, true);
|
||||
} else {
|
||||
xe::threading::Fence fence;
|
||||
command_processor_->CallInThread(
|
||||
[this, storage_root, title_id, &fence]() {
|
||||
command_processor_->InitializeShaderStorage(storage_root, title_id,
|
||||
true);
|
||||
fence.Signal();
|
||||
});
|
||||
command_processor_->CallInThread([this, cache_root, title_id, &fence]() {
|
||||
command_processor_->InitializeShaderStorage(cache_root, title_id, true);
|
||||
fence.Signal();
|
||||
});
|
||||
fence.Wait();
|
||||
}
|
||||
} else {
|
||||
command_processor_->CallInThread([this, storage_root, title_id]() {
|
||||
command_processor_->InitializeShaderStorage(storage_root, title_id,
|
||||
false);
|
||||
command_processor_->CallInThread([this, cache_root, title_id]() {
|
||||
command_processor_->InitializeShaderStorage(cache_root, title_id, false);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user