mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-20 19:54:19 +01:00
[dxvk] Use new pseudo-features where applicable
This commit is contained in:
parent
019ebeeaf7
commit
51e0a56243
@ -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;
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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), ",
|
||||
|
@ -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),
|
||||
|
@ -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) {
|
||||
|
@ -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));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user