[dxvk] Use new pseudo-features where applicable

This commit is contained in:
Philip Rebohle 2022-09-03 21:20:35 +02:00
parent 019ebeeaf7
commit 51e0a56243
7 changed files with 9 additions and 9 deletions

View File

@ -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;

View File

@ -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

View File

@ -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;
}

View File

@ -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), ",

View File

@ -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),

View File

@ -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) {

View File

@ -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));
}