Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/HansKristian-Work/vkd3d-proton.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Kristian Arntzen <post@arntzen-software.no>2021-10-18 16:55:31 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2021-10-18 16:55:31 +0300
commit8c6aac3deb06ec11b4e03bad000a059e268ebc09 (patch)
treef877a718c7c3c053adb8aa7fafadc924f469be0d
parent740e23ea8a6528e0cb3ed5f5b8227268cb4d2721 (diff)
vkd3d: Hack in config for disabling sparse support.sparse-disable-config-hack
-rw-r--r--include/vkd3d.h1
-rw-r--r--libs/vkd3d/device.c4
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 ||