mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-17 08:20:30 +02:00
Vulkan: Preserve active frame profiling queries when stopping threads
StopThreads is called inside the FramebufferManagerCommon::NotifyRenderResized. Issue is, StopThreads is called inside an active frame, then clears that active frame's timestamp descriptions. Rendering resumes, and QueueRunner uses the empty list’s size to select query 0, which was already written. Fix this by preserving timestamp descriptions for the current frame when insideFrame_ is true while retaining the cleanup for other frames.
This commit is contained in:
1 parent
b13f444d4e
commit
4158f114d0
1 file changed
+3
@@ -494,6 +494,9 @@ void VulkanRenderManager::StopThreads() {
|
||||
for (int i = 0; i < vulkan_->GetInflightFrames(); i++) {
|
||||
auto &frameData = frameData_[i];
|
||||
// Zero the queries so we don't try to pull them later.
|
||||
if (insideFrame_ && i == vulkan_->GetCurFrame()) {
|
||||
continue;
|
||||
}
|
||||
frameData.profile.timestampDescriptions.clear();
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user