diff options
author | Hans-Kristian Arntzen <post@arntzen-software.no> | 2021-10-18 16:55:31 +0300 |
---|---|---|
committer | Hans-Kristian Arntzen <post@arntzen-software.no> | 2021-10-18 16:55:31 +0300 |
commit | 8c6aac3deb06ec11b4e03bad000a059e268ebc09 (patch) | |
tree | f877a718c7c3c053adb8aa7fafadc924f469be0d | |
parent | 740e23ea8a6528e0cb3ed5f5b8227268cb4d2721 (diff) |
vkd3d: Hack in config for disabling sparse support.sparse-disable-config-hack
-rw-r--r-- | include/vkd3d.h | 1 | ||||
-rw-r--r-- | libs/vkd3d/device.c | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/vkd3d.h b/include/vkd3d.h index 274ab301..d19f24ab 100644 --- a/include/vkd3d.h +++ b/include/vkd3d.h @@ -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); diff --git a/libs/vkd3d/device.c b/libs/vkd3d/device.c index 4be50350..1b8c6aaa 100644 --- a/libs/vkd3d/device.c +++ b/libs/vkd3d/device.c @@ -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 || |