diff --git a/GPU/Vulkan/GPU_Vulkan.cpp b/GPU/Vulkan/GPU_Vulkan.cpp index 706483bb5f..2fb204160c 100644 --- a/GPU/Vulkan/GPU_Vulkan.cpp +++ b/GPU/Vulkan/GPU_Vulkan.cpp @@ -1945,11 +1945,25 @@ void GPU_Vulkan::FastLoadBoneMatrix(u32 target) { } void GPU_Vulkan::DeviceLost() { - // TODO + framebufferManager_->DeviceLost(); + drawEngine_.DeviceLost(); + pipelineManager_->DeviceLost(); + textureCache_.DeviceLost(); + depalShaderCache_.Clear(); + shaderManager_->ClearShaders(); } void GPU_Vulkan::DeviceRestore() { - // TODO + vulkan_ = (VulkanContext *)PSP_CoreParameter().graphicsContext->GetAPIContext(); + CheckGPUFeatures(); + BuildReportingInfo(); + UpdateCmdInfo(); + + framebufferManager_->DeviceRestore(vulkan_); + drawEngine_.DeviceRestore(vulkan_); + pipelineManager_->DeviceRestore(vulkan_); + textureCache_.DeviceRestore(vulkan_); + shaderManager_->DeviceRestore(vulkan_); } void GPU_Vulkan::GetStats(char *buffer, size_t bufsize) {