mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-07-03 21:41:19 +12:00
Vulkan: Fix freeze when closing pad view (#435)
This commit is contained in:
parent
948460cad7
commit
138510106c
3 changed files with 56 additions and 36 deletions
|
@ -187,6 +187,7 @@ public:
|
|||
const std::unique_ptr<SwapchainInfoVk>& GetChainInfoPtr(bool mainWindow) const;
|
||||
SwapchainInfoVk& GetChainInfo(bool mainWindow) const;
|
||||
|
||||
void StopUsingPadAndWait();
|
||||
bool IsPadWindowActive() override;
|
||||
|
||||
void HandleScreenshotRequest(LatteTextureView* texView, bool padView) override;
|
||||
|
@ -432,6 +433,8 @@ private:
|
|||
}m_state;
|
||||
|
||||
std::unique_ptr<SwapchainInfoVk> m_mainSwapchainInfo{}, m_padSwapchainInfo{};
|
||||
Semaphore m_padCloseReadySemaphore;
|
||||
bool m_destroyPadSwapchainNextAcquire = false;
|
||||
bool IsSwapchainInfoValid(bool mainWindow) const;
|
||||
|
||||
VkRenderPass m_imguiRenderPass = nullptr;
|
||||
|
@ -555,8 +558,8 @@ private:
|
|||
void CreatePipelineCache();
|
||||
VkPipelineShaderStageCreateInfo CreatePipelineShaderStageCreateInfo(VkShaderStageFlagBits stage, VkShaderModule& module, const char* entryName) const;
|
||||
VkPipeline backbufferBlit_createGraphicsPipeline(VkDescriptorSetLayout descriptorLayout, bool padView, RendererOutputShader* shader);
|
||||
void AcquireNextSwapchainImage(bool mainWindow);
|
||||
void RecreateSwapchain(bool mainWindow);
|
||||
bool AcquireNextSwapchainImage(bool mainWindow);
|
||||
void RecreateSwapchain(bool mainWindow, bool skipCreate = false);
|
||||
|
||||
// streamout
|
||||
void streamout_setupXfbBuffer(uint32 bufferIndex, sint32 ringBufferOffset, uint32 rangeAddr, uint32 rangeSize) override;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue