From 6d52c77f1408c1064c53b765e88b3d34a616ec31 Mon Sep 17 00:00:00 2001 From: JPikachu Date: Sun, 9 Nov 2025 01:54:37 +0000 Subject: [PATCH] test --- .../renderer_vulkan/vk_rasterizer.cpp | 33 ++++--------------- .../vulkan_common/vulkan_device.cpp | 8 ----- 2 files changed, 7 insertions(+), 34 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index 6bad5eca0b..3b103da526 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp @@ -945,7 +945,6 @@ bool AccelerateDMA::BufferToImage(const Tegra::DMA::ImageCopy& copy_info, void RasterizerVulkan::UpdateDynamicStates() { auto& regs = maxwell3d->regs; - UpdateViewportsState(regs); UpdateScissorsState(regs); UpdateDepthBias(regs); @@ -953,19 +952,7 @@ void RasterizerVulkan::UpdateDynamicStates() { UpdateDepthBounds(regs); UpdateStencilFaces(regs); UpdateLineWidth(regs); - - const u8 dynamic_state = Settings::values.dyna_state.GetValue(); - - auto features = DynamicFeatures{ - .has_extended_dynamic_state = device.IsExtExtendedDynamicStateSupported() && dynamic_state > 0, - .has_extended_dynamic_state_2 = device.IsExtExtendedDynamicState2Supported() && dynamic_state > 1, - .has_extended_dynamic_state_2_extra = device.IsExtExtendedDynamicState2ExtrasSupported() && dynamic_state > 1, - .has_extended_dynamic_state_3_blend = device.IsExtExtendedDynamicState3BlendingSupported() && dynamic_state > 2, - .has_extended_dynamic_state_3_enables = device.IsExtExtendedDynamicState3EnablesSupported() && dynamic_state > 2, - .has_dynamic_vertex_input = device.IsExtVertexInputDynamicStateSupported(), - }; - - if (features.has_extended_dynamic_state) { + if (device.IsExtExtendedDynamicStateSupported()) { UpdateCullMode(regs); UpdateDepthCompareOp(regs); UpdateFrontFace(regs); @@ -976,14 +963,13 @@ void RasterizerVulkan::UpdateDynamicStates() { UpdateDepthTestEnable(regs); UpdateDepthWriteEnable(regs); UpdateStencilTestEnable(regs); - - if (features.has_extended_dynamic_state_2) { + if (device.IsExtExtendedDynamicState2Supported()) { UpdatePrimitiveRestartEnable(regs); UpdateRasterizerDiscardEnable(regs); UpdateDepthBiasEnable(regs); } - if (features.has_extended_dynamic_state_3_enables) { + if (device.IsExtExtendedDynamicState3Supported()) { using namespace Tegra::Engines; if (device.GetDriverID() == VkDriverIdKHR::VK_DRIVER_ID_AMD_OPEN_SOURCE || @@ -1010,20 +996,15 @@ void RasterizerVulkan::UpdateDynamicStates() { UpdateDepthClampEnable(regs); } } - if (features.has_extended_dynamic_state_2_extra) { + if (device.IsExtExtendedDynamicState2ExtrasSupported()) { UpdateLogicOp(regs); } - if (features.has_extended_dynamic_state_3_enables) { + if (device.IsExtExtendedDynamicState3Supported()) { UpdateBlending(regs); - UpdateLineStippleEnable(regs); - UpdateConservativeRasterizationMode(regs); } } - if (features.has_dynamic_vertex_input) { - if (auto* gp = pipeline_cache.CurrentGraphicsPipeline(); - gp && gp->HasDynamicVertexInput()) { - UpdateVertexInput(regs); - } + if (device.IsExtVertexInputDynamicStateSupported()) { + UpdateVertexInput(regs); } } diff --git a/src/video_core/vulkan_common/vulkan_device.cpp b/src/video_core/vulkan_common/vulkan_device.cpp index 24823c8ea4..3a6c316eca 100644 --- a/src/video_core/vulkan_common/vulkan_device.cpp +++ b/src/video_core/vulkan_common/vulkan_device.cpp @@ -753,14 +753,6 @@ Device::Device(VkInstance instance_, vk::PhysicalDevice physical_, VkSurfaceKHR Settings::values.dyna_state.SetValue(0); } - if (Settings::values.dyna_state.GetValue() != 0) { - if (Settings::values.dyna_state.GetValue() == 0) { - RemoveExtensionFeature(extensions.extended_dynamic_state, features.extended_dynamic_state, VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME); - RemoveExtensionFeature(extensions.extended_dynamic_state2, features.extended_dynamic_state2, VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME); - RemoveExtensionFeature(extensions.extended_dynamic_state3, features.extended_dynamic_state3, VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME); - } - } - logical = vk::Device::Create(physical, queue_cis, ExtensionListForVulkan(loaded_extensions), first_next, dld); graphics_queue = logical.GetQueue(graphics_family);