mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Vulkan: Before cleaning the shader managers, drain the shader compile queue.
Mainly paranoia, but might help with the mutex crash from #17364
This commit is contained in:
parent
1a2d599942
commit
97488c0a79
2 changed files with 4 additions and 1 deletions
|
@ -456,13 +456,13 @@ public:
|
||||||
void Invalidate(InvalidationFlags flags);
|
void Invalidate(InvalidationFlags flags);
|
||||||
|
|
||||||
void ResetStats();
|
void ResetStats();
|
||||||
|
void DrainCompileQueue();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void EndCurRenderStep();
|
void EndCurRenderStep();
|
||||||
|
|
||||||
void ThreadFunc();
|
void ThreadFunc();
|
||||||
void CompileThreadFunc();
|
void CompileThreadFunc();
|
||||||
void DrainCompileQueue();
|
|
||||||
|
|
||||||
void Run(VKRRenderThreadTask &task);
|
void Run(VKRRenderThreadTask &task);
|
||||||
|
|
||||||
|
|
|
@ -182,6 +182,9 @@ void GPU_Vulkan::SaveCache(const Path &filename) {
|
||||||
}
|
}
|
||||||
|
|
||||||
GPU_Vulkan::~GPU_Vulkan() {
|
GPU_Vulkan::~GPU_Vulkan() {
|
||||||
|
VulkanRenderManager *rm = (VulkanRenderManager *)draw_->GetNativeObject(Draw::NativeObject::RENDER_MANAGER);
|
||||||
|
rm->DrainCompileQueue();
|
||||||
|
|
||||||
SaveCache(shaderCachePath_);
|
SaveCache(shaderCachePath_);
|
||||||
// Note: We save the cache in DeviceLost
|
// Note: We save the cache in DeviceLost
|
||||||
DestroyDeviceObjects();
|
DestroyDeviceObjects();
|
||||||
|
|
Loading…
Add table
Reference in a new issue