Browse Source

[vk] Fix AMD windows

Aims to fix Regressions from 612da00d1b
pull/2962/head
JPikachu 3 months ago
parent
commit
7ce2746fca
  1. 13
      src/video_core/renderer_vulkan/vk_rasterizer.cpp

13
src/video_core/renderer_vulkan/vk_rasterizer.cpp

@ -952,7 +952,10 @@ void RasterizerVulkan::UpdateDynamicStates() {
UpdateDepthBounds(regs); UpdateDepthBounds(regs);
UpdateStencilFaces(regs); UpdateStencilFaces(regs);
UpdateLineWidth(regs); UpdateLineWidth(regs);
if (device.IsExtExtendedDynamicStateSupported()) {
const u8 dynamic_state = Settings::values.dyna_state.GetValue();
if (device.IsExtExtendedDynamicStateSupported() && dynamic_state > 0) {
UpdateCullMode(regs); UpdateCullMode(regs);
UpdateDepthCompareOp(regs); UpdateDepthCompareOp(regs);
UpdateFrontFace(regs); UpdateFrontFace(regs);
@ -963,13 +966,13 @@ void RasterizerVulkan::UpdateDynamicStates() {
UpdateDepthTestEnable(regs); UpdateDepthTestEnable(regs);
UpdateDepthWriteEnable(regs); UpdateDepthWriteEnable(regs);
UpdateStencilTestEnable(regs); UpdateStencilTestEnable(regs);
if (device.IsExtExtendedDynamicState2Supported()) {
if (device.IsExtExtendedDynamicState2Supported() && dynamic_state > 1) {
UpdatePrimitiveRestartEnable(regs); UpdatePrimitiveRestartEnable(regs);
UpdateRasterizerDiscardEnable(regs); UpdateRasterizerDiscardEnable(regs);
UpdateDepthBiasEnable(regs); UpdateDepthBiasEnable(regs);
} }
if (device.IsExtExtendedDynamicState3Supported()) {
if (device.IsExtExtendedDynamicState3EnablesSupported() && dynamic_state > 2) {
using namespace Tegra::Engines; using namespace Tegra::Engines;
if (device.GetDriverID() == VkDriverIdKHR::VK_DRIVER_ID_AMD_OPEN_SOURCE || if (device.GetDriverID() == VkDriverIdKHR::VK_DRIVER_ID_AMD_OPEN_SOURCE ||
@ -996,10 +999,10 @@ void RasterizerVulkan::UpdateDynamicStates() {
UpdateDepthClampEnable(regs); UpdateDepthClampEnable(regs);
} }
} }
if (device.IsExtExtendedDynamicState2ExtrasSupported()) {
if (device.IsExtExtendedDynamicState2ExtrasSupported() && dynamic_state > 1) {
UpdateLogicOp(regs); UpdateLogicOp(regs);
} }
if (device.IsExtExtendedDynamicState3Supported()) {
if (device.IsExtExtendedDynamicState3BlendingSupported() && dynamic_state > 2) {
UpdateBlending(regs); UpdateBlending(regs);
} }
} }

Loading…
Cancel
Save