vkd3d: Hack in config for disabling sparse support.

This commit is contained in:
Hans-Kristian Arntzen 2021-10-18 15:55:31 +02:00
parent 740e23ea8a
commit 8c6aac3deb
2 changed files with 5 additions and 0 deletions

View File

@ -76,6 +76,7 @@ enum vkd3d_config_flags
VKD3D_CONFIG_FLAG_FORCE_HOST_CACHED = 0x00002000,
VKD3D_CONFIG_FLAG_DXR11 = 0x00004000,
VKD3D_CONFIG_FLAG_FORCE_NO_INVARIANT_POSITION = 0x00008000,
VKD3D_CONFIG_FLAG_DISABLE_SPARSE = 0x00010000,
};
typedef HRESULT (*PFN_vkd3d_signal_event)(HANDLE event);

View File

@ -534,6 +534,7 @@ static const struct vkd3d_debug_option vkd3d_config_options[] =
{"log_memory_budget", VKD3D_CONFIG_FLAG_LOG_MEMORY_BUDGET},
{"force_host_cached", VKD3D_CONFIG_FLAG_FORCE_HOST_CACHED},
{"no_invariant_position", VKD3D_CONFIG_FLAG_FORCE_NO_INVARIANT_POSITION},
{"disable_sparse", VKD3D_CONFIG_FLAG_DISABLE_SPARSE},
};
static void vkd3d_config_flags_init_once(void)
@ -4729,6 +4730,9 @@ static D3D12_TILED_RESOURCES_TIER d3d12_device_determine_tiled_resources_tier(st
const VkPhysicalDeviceSparseProperties *sparse_properties = &device->device_info.properties2.properties.sparseProperties;
const VkPhysicalDeviceFeatures *features = &device->device_info.features2.features;
if (vkd3d_config_flags & VKD3D_CONFIG_FLAG_DISABLE_SPARSE)
return D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED;
if (!features->sparseBinding || !features->sparseResidencyAliased ||
!features->sparseResidencyBuffer || !features->sparseResidencyImage2D ||
!sparse_properties->residencyStandard2DBlockShape ||