From 59521d7e96daa23b30fa87c973a25ec1b85c0d1e Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Sun, 30 Nov 2025 03:08:31 -0400 Subject: [PATCH] Saving Private Windows --- src/video_core/renderer_vulkan/vk_rasterizer.cpp | 12 ++++++------ src/video_core/vulkan_common/vulkan_device.cpp | 9 +++++---- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index 269b87ac3a..1ebb36f707 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp @@ -1299,8 +1299,8 @@ void RasterizerVulkan::UpdateStencilFaces(Tegra::Engines::Maxwell3D::Regs& regs) if (front_dirty || back_dirty) { scheduler.Record([front_ref = regs.stencil_front_ref, back_ref = regs.stencil_back_ref, - two_sided](vk::CommandBuffer cmdbuf) { - const bool set_back = two_sided && front_ref != back_ref; + is_two_sided = two_sided](vk::CommandBuffer cmdbuf) { + const bool set_back = is_two_sided && front_ref != back_ref; cmdbuf.SetStencilReference(set_back ? VK_STENCIL_FACE_FRONT_BIT : VK_STENCIL_FACE_FRONT_AND_BACK, front_ref); @@ -1324,9 +1324,9 @@ void RasterizerVulkan::UpdateStencilFaces(Tegra::Engines::Maxwell3D::Regs& regs) scheduler.Record([ front_write_mask = regs.stencil_front_mask, back_write_mask = regs.stencil_back_mask, - two_sided = regs.stencil_two_side_enable + is_two_sided = regs.stencil_two_side_enable ](vk::CommandBuffer cmdbuf) { - const bool set_back = two_sided && front_write_mask != back_write_mask; + const bool set_back = is_two_sided && front_write_mask != back_write_mask; cmdbuf.SetStencilWriteMask(set_back ? VK_STENCIL_FACE_FRONT_BIT : VK_STENCIL_FACE_FRONT_AND_BACK, front_write_mask); @@ -1350,9 +1350,9 @@ void RasterizerVulkan::UpdateStencilFaces(Tegra::Engines::Maxwell3D::Regs& regs) scheduler.Record([ front_test_mask = regs.stencil_front_func_mask, back_test_mask = regs.stencil_back_func_mask, - two_sided = regs.stencil_two_side_enable + is_two_sided = regs.stencil_two_side_enable ](vk::CommandBuffer cmdbuf) { - const bool set_back = two_sided && front_test_mask != back_test_mask; + const bool set_back = is_two_sided && front_test_mask != back_test_mask; cmdbuf.SetStencilCompareMask(set_back ? VK_STENCIL_FACE_FRONT_BIT : VK_STENCIL_FACE_FRONT_AND_BACK, front_test_mask); diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index cbe8e5745d..295b0942d9 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -1070,14 +1070,15 @@ bool Device::GetSuitability(bool requires_swapchain) { // Set next pointer. void** next = &features2.pNext; - // Vulkan 1.2 and 1.3 features + // Vulkan 1.2 and 1.3 features if (instance_version >= VK_API_VERSION_1_2) { features_1_2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES; - SetNext(next, features_1_2); - + features_1_2.pNext = nullptr; + *next = &features_1_2; if (instance_version >= VK_API_VERSION_1_3) { features_1_3.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES; - SetNext(next, features_1_3); + features_1_3.pNext = nullptr; + features_1_2.pNext = &features_1_3; } }