From 51e0a56243a11ab538d33413599800b82e09c6f8 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Sat, 3 Sep 2022 21:20:35 +0200 Subject: [PATCH] [dxvk] Use new pseudo-features where applicable --- src/dxvk/dxvk_device.cpp | 4 ++-- src/dxvk/dxvk_graphics.cpp | 2 +- src/dxvk/dxvk_image.cpp | 2 +- src/dxvk/dxvk_memory.cpp | 2 +- src/dxvk/dxvk_meta_copy.cpp | 2 +- src/dxvk/dxvk_meta_resolve.cpp | 4 ++-- src/dxvk/dxvk_swapchain_blitter.cpp | 2 +- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/dxvk/dxvk_device.cpp b/src/dxvk/dxvk_device.cpp index 94cc0e528..769635b48 100644 --- a/src/dxvk/dxvk_device.cpp +++ b/src/dxvk/dxvk_device.cpp @@ -323,11 +323,11 @@ namespace dxvk { DxvkDevicePerfHints DxvkDevice::getPerfHints() { DxvkDevicePerfHints hints; - hints.preferFbDepthStencilCopy = m_extensions.extShaderStencilExport + hints.preferFbDepthStencilCopy = m_features.extShaderStencilExport && (m_adapter->matchesDriver(VK_DRIVER_ID_MESA_RADV_KHR, 0, 0) || m_adapter->matchesDriver(VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR, 0, 0) || m_adapter->matchesDriver(VK_DRIVER_ID_AMD_PROPRIETARY_KHR, 0, 0)); - hints.preferFbResolve = m_extensions.amdShaderFragmentMask + hints.preferFbResolve = m_features.amdShaderFragmentMask && (m_adapter->matchesDriver(VK_DRIVER_ID_AMD_OPEN_SOURCE_KHR, 0, 0) || m_adapter->matchesDriver(VK_DRIVER_ID_AMD_PROPRIETARY_KHR, 0, 0)); return hints; diff --git a/src/dxvk/dxvk_graphics.cpp b/src/dxvk/dxvk_graphics.cpp index 4285d04e1..8b0a65502 100644 --- a/src/dxvk/dxvk_graphics.cpp +++ b/src/dxvk/dxvk_graphics.cpp @@ -1362,7 +1362,7 @@ namespace dxvk { // Validate rasterization state if (state.rs.conservativeMode() != VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT) { - if (!m_device->extensions().extConservativeRasterization) + if (!m_device->features().extConservativeRasterization) return false; if (state.rs.conservativeMode() == VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT diff --git a/src/dxvk/dxvk_image.cpp b/src/dxvk/dxvk_image.cpp index 0cf60e3da..8c3a1bc89 100644 --- a/src/dxvk/dxvk_image.cpp +++ b/src/dxvk/dxvk_image.cpp @@ -182,7 +182,7 @@ namespace dxvk { if (sharingInfo.mode == DxvkSharedHandleMode::None) return false; - if (!m_device->extensions().khrExternalMemoryWin32) { + if (!m_device->features().khrExternalMemoryWin32) { Logger::err("Failed to create shared resource: VK_KHR_EXTERNAL_MEMORY_WIN32 not supported"); return false; } diff --git a/src/dxvk/dxvk_memory.cpp b/src/dxvk/dxvk_memory.cpp index 135bf9991..c51f2ea7d 100644 --- a/src/dxvk/dxvk_memory.cpp +++ b/src/dxvk/dxvk_memory.cpp @@ -278,7 +278,7 @@ namespace dxvk { Logger::err(str::format("Heap ", i, ": ", (m_memHeaps[i].stats.memoryAllocated >> 20), " MB allocated, ", (m_memHeaps[i].stats.memoryUsed >> 20), " MB used, ", - m_device->extensions().extMemoryBudget + m_device->features().extMemoryBudget ? str::format( (memHeapInfo.heaps[i].memoryAllocated >> 20), " MB allocated (driver), ", (memHeapInfo.heaps[i].memoryBudget >> 20), " MB budget (driver), ", diff --git a/src/dxvk/dxvk_meta_copy.cpp b/src/dxvk/dxvk_meta_copy.cpp index 4368f13da..a3be19c82 100644 --- a/src/dxvk/dxvk_meta_copy.cpp +++ b/src/dxvk/dxvk_meta_copy.cpp @@ -96,7 +96,7 @@ namespace dxvk { m_shaderGeom = createShaderModule(dxvk_fullscreen_geom); } - if (device->extensions().extShaderStencilExport) { + if (device->features().extShaderStencilExport) { m_depthStencil = { createShaderModule(dxvk_copy_depth_stencil_1d), createShaderModule(dxvk_copy_depth_stencil_2d), diff --git a/src/dxvk/dxvk_meta_resolve.cpp b/src/dxvk/dxvk_meta_resolve.cpp index 26cde48e5..7e3dfd2e8 100644 --- a/src/dxvk/dxvk_meta_resolve.cpp +++ b/src/dxvk/dxvk_meta_resolve.cpp @@ -55,13 +55,13 @@ namespace dxvk { DxvkMetaResolveObjects::DxvkMetaResolveObjects(const DxvkDevice* device) : m_vkd (device->vkd()), m_sampler (createSampler()), - m_shaderFragF (device->extensions().amdShaderFragmentMask + m_shaderFragF (device->features().amdShaderFragmentMask ? createShaderModule(dxvk_resolve_frag_f_amd) : createShaderModule(dxvk_resolve_frag_f)), m_shaderFragU (createShaderModule(dxvk_resolve_frag_u)), m_shaderFragI (createShaderModule(dxvk_resolve_frag_i)), m_shaderFragD (createShaderModule(dxvk_resolve_frag_d)) { - if (device->extensions().extShaderStencilExport) + if (device->features().extShaderStencilExport) m_shaderFragDS = createShaderModule(dxvk_resolve_frag_ds); if (device->features().vk12.shaderOutputLayer) { diff --git a/src/dxvk/dxvk_swapchain_blitter.cpp b/src/dxvk/dxvk_swapchain_blitter.cpp index d1c03a7f5..f71bd732b 100644 --- a/src/dxvk/dxvk_swapchain_blitter.cpp +++ b/src/dxvk/dxvk_swapchain_blitter.cpp @@ -342,7 +342,7 @@ namespace dxvk { fsInfo.inputMask = 0; m_fsCopy = new DxvkShader(fsInfo, std::move(fsCodeCopy)); - m_fsResolve = new DxvkShader(fsInfo, m_device->extensions().amdShaderFragmentMask + m_fsResolve = new DxvkShader(fsInfo, m_device->features().amdShaderFragmentMask ? std::move(fsCodeResolveAmd) : std::move(fsCodeResolve)); }