mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-06 20:58:37 +01:00
[dxvk] Use new pseudo-features where applicable
This commit is contained in:
parent
019ebeeaf7
commit
51e0a56243
7 changed files with 9 additions and 9 deletions
|
@ -323,11 +323,11 @@ namespace dxvk {
|
||||||
|
|
||||||
DxvkDevicePerfHints DxvkDevice::getPerfHints() {
|
DxvkDevicePerfHints DxvkDevice::getPerfHints() {
|
||||||
DxvkDevicePerfHints hints;
|
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_MESA_RADV_KHR, 0, 0)
|
||||||
|| m_adapter->matchesDriver(VK_DRIVER_ID_AMD_OPEN_SOURCE_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));
|
|| 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_OPEN_SOURCE_KHR, 0, 0)
|
||||||
|| m_adapter->matchesDriver(VK_DRIVER_ID_AMD_PROPRIETARY_KHR, 0, 0));
|
|| m_adapter->matchesDriver(VK_DRIVER_ID_AMD_PROPRIETARY_KHR, 0, 0));
|
||||||
return hints;
|
return hints;
|
||||||
|
|
|
@ -1362,7 +1362,7 @@ namespace dxvk {
|
||||||
|
|
||||||
// Validate rasterization state
|
// Validate rasterization state
|
||||||
if (state.rs.conservativeMode() != VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT) {
|
if (state.rs.conservativeMode() != VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT) {
|
||||||
if (!m_device->extensions().extConservativeRasterization)
|
if (!m_device->features().extConservativeRasterization)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (state.rs.conservativeMode() == VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT
|
if (state.rs.conservativeMode() == VK_CONSERVATIVE_RASTERIZATION_MODE_UNDERESTIMATE_EXT
|
||||||
|
|
|
@ -182,7 +182,7 @@ namespace dxvk {
|
||||||
if (sharingInfo.mode == DxvkSharedHandleMode::None)
|
if (sharingInfo.mode == DxvkSharedHandleMode::None)
|
||||||
return false;
|
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");
|
Logger::err("Failed to create shared resource: VK_KHR_EXTERNAL_MEMORY_WIN32 not supported");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -278,7 +278,7 @@ namespace dxvk {
|
||||||
Logger::err(str::format("Heap ", i, ": ",
|
Logger::err(str::format("Heap ", i, ": ",
|
||||||
(m_memHeaps[i].stats.memoryAllocated >> 20), " MB allocated, ",
|
(m_memHeaps[i].stats.memoryAllocated >> 20), " MB allocated, ",
|
||||||
(m_memHeaps[i].stats.memoryUsed >> 20), " MB used, ",
|
(m_memHeaps[i].stats.memoryUsed >> 20), " MB used, ",
|
||||||
m_device->extensions().extMemoryBudget
|
m_device->features().extMemoryBudget
|
||||||
? str::format(
|
? str::format(
|
||||||
(memHeapInfo.heaps[i].memoryAllocated >> 20), " MB allocated (driver), ",
|
(memHeapInfo.heaps[i].memoryAllocated >> 20), " MB allocated (driver), ",
|
||||||
(memHeapInfo.heaps[i].memoryBudget >> 20), " MB budget (driver), ",
|
(memHeapInfo.heaps[i].memoryBudget >> 20), " MB budget (driver), ",
|
||||||
|
|
|
@ -96,7 +96,7 @@ namespace dxvk {
|
||||||
m_shaderGeom = createShaderModule(dxvk_fullscreen_geom);
|
m_shaderGeom = createShaderModule(dxvk_fullscreen_geom);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (device->extensions().extShaderStencilExport) {
|
if (device->features().extShaderStencilExport) {
|
||||||
m_depthStencil = {
|
m_depthStencil = {
|
||||||
createShaderModule(dxvk_copy_depth_stencil_1d),
|
createShaderModule(dxvk_copy_depth_stencil_1d),
|
||||||
createShaderModule(dxvk_copy_depth_stencil_2d),
|
createShaderModule(dxvk_copy_depth_stencil_2d),
|
||||||
|
|
|
@ -55,13 +55,13 @@ namespace dxvk {
|
||||||
DxvkMetaResolveObjects::DxvkMetaResolveObjects(const DxvkDevice* device)
|
DxvkMetaResolveObjects::DxvkMetaResolveObjects(const DxvkDevice* device)
|
||||||
: m_vkd (device->vkd()),
|
: m_vkd (device->vkd()),
|
||||||
m_sampler (createSampler()),
|
m_sampler (createSampler()),
|
||||||
m_shaderFragF (device->extensions().amdShaderFragmentMask
|
m_shaderFragF (device->features().amdShaderFragmentMask
|
||||||
? createShaderModule(dxvk_resolve_frag_f_amd)
|
? createShaderModule(dxvk_resolve_frag_f_amd)
|
||||||
: createShaderModule(dxvk_resolve_frag_f)),
|
: createShaderModule(dxvk_resolve_frag_f)),
|
||||||
m_shaderFragU (createShaderModule(dxvk_resolve_frag_u)),
|
m_shaderFragU (createShaderModule(dxvk_resolve_frag_u)),
|
||||||
m_shaderFragI (createShaderModule(dxvk_resolve_frag_i)),
|
m_shaderFragI (createShaderModule(dxvk_resolve_frag_i)),
|
||||||
m_shaderFragD (createShaderModule(dxvk_resolve_frag_d)) {
|
m_shaderFragD (createShaderModule(dxvk_resolve_frag_d)) {
|
||||||
if (device->extensions().extShaderStencilExport)
|
if (device->features().extShaderStencilExport)
|
||||||
m_shaderFragDS = createShaderModule(dxvk_resolve_frag_ds);
|
m_shaderFragDS = createShaderModule(dxvk_resolve_frag_ds);
|
||||||
|
|
||||||
if (device->features().vk12.shaderOutputLayer) {
|
if (device->features().vk12.shaderOutputLayer) {
|
||||||
|
|
|
@ -342,7 +342,7 @@ namespace dxvk {
|
||||||
|
|
||||||
fsInfo.inputMask = 0;
|
fsInfo.inputMask = 0;
|
||||||
m_fsCopy = new DxvkShader(fsInfo, std::move(fsCodeCopy));
|
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(fsCodeResolveAmd)
|
||||||
: std::move(fsCodeResolve));
|
: std::move(fsCodeResolve));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue