diff --git a/rpcs3/Emu/RSX/VK/VKGSRender.cpp b/rpcs3/Emu/RSX/VK/VKGSRender.cpp index bea1094042..a3d86fa4ec 100644 --- a/rpcs3/Emu/RSX/VK/VKGSRender.cpp +++ b/rpcs3/Emu/RSX/VK/VKGSRender.cpp @@ -763,6 +763,8 @@ void VKGSRender::notify_tile_unbound(u32 tile) void VKGSRender::check_heap_status(u32 flags) { + verify(HERE), flags; + bool heap_critical; if (flags == VK_HEAP_CHECK_ALL) { @@ -2563,9 +2565,9 @@ bool VKGSRender::load_program() if (properties.state.ds.front.failOp != VK_STENCIL_OP_KEEP || properties.state.ds.front.depthFailOp != VK_STENCIL_OP_KEEP || properties.state.ds.front.passOp != VK_STENCIL_OP_KEEP || - properties.state.ds.front.failOp != VK_STENCIL_OP_KEEP || - properties.state.ds.front.depthFailOp != VK_STENCIL_OP_KEEP || - properties.state.ds.front.passOp != VK_STENCIL_OP_KEEP) + properties.state.ds.back.failOp != VK_STENCIL_OP_KEEP || + properties.state.ds.back.depthFailOp != VK_STENCIL_OP_KEEP || + properties.state.ds.back.passOp != VK_STENCIL_OP_KEEP) { // Toggle bit 9 to signal require full bit-wise transfer ds->stencil_init_flags |= (1 << 8); diff --git a/rpcs3/Emu/RSX/VK/VKHelpers.h b/rpcs3/Emu/RSX/VK/VKHelpers.h index db0622f4ca..824f02b250 100644 --- a/rpcs3/Emu/RSX/VK/VKHelpers.h +++ b/rpcs3/Emu/RSX/VK/VKHelpers.h @@ -1855,7 +1855,12 @@ public: swapchain_images.clear(); if (full) + { + ReleaseDC(window_handle, hDstDC); + hDstDC = NULL; + dev.destroy(); + } } VkResult present(VkSemaphore /*semaphore*/, u32 image) override diff --git a/rpcs3/Emu/RSX/VK/VKOverlays.h b/rpcs3/Emu/RSX/VK/VKOverlays.h index 95aa0c0934..eb69517130 100644 --- a/rpcs3/Emu/RSX/VK/VKOverlays.h +++ b/rpcs3/Emu/RSX/VK/VKOverlays.h @@ -445,7 +445,7 @@ namespace vk color4f m_color; bool m_pulse_glow = false; bool m_skip_texture_read = false; - bool m_clip_enabled; + bool m_clip_enabled = false; int m_texture_type; areaf m_clip_region; size2f m_viewport_size;