Win32: Plumb through an attempt at handling Vulkan device lost.

Unfortunately, recreating the device fails on NV.
This commit is contained in:
Henrik Rydgård committed 2023-05-29 18:32:29 +02:00
1 parent f33776bc4a
commit 485131a29c
23 files changed
+184 -43

No files matched your search

+7 -4
View File
@@ -476,7 +476,7 @@ public:
void Clear(int mask, uint32_t colorval, float depthVal, int stencilVal) override;
void BeginFrame() override;
bool BeginFrame() override;
void EndFrame() override;
void WipeQueue() override;
@@ -1072,15 +1072,18 @@ VKContext::~VKContext() {
vulkan_->Delete().QueueDeletePipelineCache(pipelineCache_);
}
void VKContext::BeginFrame() {
// TODO: Bad dependency on g_Config here!
renderManager_.BeginFrame(debugFlags_ & DebugFlags::PROFILE_TIMESTAMPS, debugFlags_ & DebugFlags::PROFILE_SCOPES);
bool VKContext::BeginFrame() {
if (!renderManager_.BeginFrame(debugFlags_ & DebugFlags::PROFILE_TIMESTAMPS, debugFlags_ & DebugFlags::PROFILE_SCOPES)) {
// Something failed badly, let's bail.
return false;
}
FrameData &frame = frame_[vulkan_->GetCurFrame()];
push_->BeginFrame();
frame.descriptorPool.Reset();
return true;
}
void VKContext::EndFrame() {