vkd3d: Enable 16-bit storage features.
Don't need extension, since VK_KHR_16bit_storage is core in Vulkan 1.1. Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This commit is contained in:
parent
4afd4d355b
commit
5197edb03b
|
@ -944,6 +944,10 @@ static void vkd3d_physical_device_info_init(struct vkd3d_physical_device_info *i
|
||||||
vk_prepend_struct(&info->features2, &info->float16_int8_features);
|
vk_prepend_struct(&info->features2, &info->float16_int8_features);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Core in Vulkan 1.1. */
|
||||||
|
info->storage_16bit_features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES;
|
||||||
|
vk_prepend_struct(&info->features2, &info->storage_16bit_features);
|
||||||
|
|
||||||
if (vulkan_info->KHR_shader_subgroup_extended_types)
|
if (vulkan_info->KHR_shader_subgroup_extended_types)
|
||||||
{
|
{
|
||||||
info->subgroup_extended_types_features.sType =
|
info->subgroup_extended_types_features.sType =
|
||||||
|
@ -4750,9 +4754,12 @@ static void d3d12_device_caps_init_shader_model(struct d3d12_device *device)
|
||||||
* FP16, Denorm modes (float controls extension)
|
* FP16, Denorm modes (float controls extension)
|
||||||
*/
|
*/
|
||||||
if (device->device_info.float16_int8_features.shaderFloat16 &&
|
if (device->device_info.float16_int8_features.shaderFloat16 &&
|
||||||
device->device_info.subgroup_extended_types_features.shaderSubgroupExtendedTypes)
|
device->device_info.storage_16bit_features.storageBuffer16BitAccess &&
|
||||||
|
device->device_info.subgroup_extended_types_features.shaderSubgroupExtendedTypes)
|
||||||
{
|
{
|
||||||
/* These features are required by FidelityFX SSSR demo. */
|
/* These features are required by FidelityFX SSSR demo. */
|
||||||
|
/* Technically we need storageInputOutput16 as well, but
|
||||||
|
* we can probably work around it on devices which don't support it. */
|
||||||
device->d3d12_caps.max_shader_model = D3D_SHADER_MODEL_6_2;
|
device->d3d12_caps.max_shader_model = D3D_SHADER_MODEL_6_2;
|
||||||
TRACE("Enabling support for SM 6.2.\n");
|
TRACE("Enabling support for SM 6.2.\n");
|
||||||
}
|
}
|
||||||
|
|
|
@ -2428,6 +2428,7 @@ struct vkd3d_physical_device_info
|
||||||
VkPhysicalDevice4444FormatsFeaturesEXT ext_4444_formats_features;
|
VkPhysicalDevice4444FormatsFeaturesEXT ext_4444_formats_features;
|
||||||
VkPhysicalDeviceTimelineSemaphoreFeaturesKHR timeline_semaphore_features;
|
VkPhysicalDeviceTimelineSemaphoreFeaturesKHR timeline_semaphore_features;
|
||||||
VkPhysicalDeviceFloat16Int8FeaturesKHR float16_int8_features;
|
VkPhysicalDeviceFloat16Int8FeaturesKHR float16_int8_features;
|
||||||
|
VkPhysicalDevice16BitStorageFeatures storage_16bit_features;
|
||||||
VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR subgroup_extended_types_features;
|
VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR subgroup_extended_types_features;
|
||||||
VkPhysicalDeviceRobustness2FeaturesEXT robustness2_features;
|
VkPhysicalDeviceRobustness2FeaturesEXT robustness2_features;
|
||||||
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT extended_dynamic_state_features;
|
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT extended_dynamic_state_features;
|
||||||
|
|
Loading…
Reference in New Issue