vkd3d: Enable 64-bit atomics extensions.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
This commit is contained in:
parent
a392e82d1c
commit
23ad0247e3
|
@ -77,6 +77,7 @@ static const struct vkd3d_optional_extension_info optional_device_extensions[] =
|
|||
VK_EXTENSION(KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS, KHR_separate_depth_stencil_layouts),
|
||||
VK_EXTENSION(KHR_SHADER_INTEGER_DOT_PRODUCT, KHR_shader_integer_dot_product),
|
||||
VK_EXTENSION(KHR_FORMAT_FEATURE_FLAGS_2, KHR_format_feature_flags2),
|
||||
VK_EXTENSION(KHR_SHADER_ATOMIC_INT64, KHR_shader_atomic_int64),
|
||||
/* EXT extensions */
|
||||
VK_EXTENSION(EXT_CALIBRATED_TIMESTAMPS, EXT_calibrated_timestamps),
|
||||
VK_EXTENSION(EXT_CONDITIONAL_RENDERING, EXT_conditional_rendering),
|
||||
|
@ -97,6 +98,7 @@ static const struct vkd3d_optional_extension_info optional_device_extensions[] =
|
|||
VK_EXTENSION(EXT_EXTENDED_DYNAMIC_STATE, EXT_extended_dynamic_state),
|
||||
VK_EXTENSION(EXT_EXTERNAL_MEMORY_HOST, EXT_external_memory_host),
|
||||
VK_EXTENSION(EXT_4444_FORMATS, EXT_4444_formats),
|
||||
VK_EXTENSION(EXT_SHADER_IMAGE_ATOMIC_INT64, EXT_shader_image_atomic_int64),
|
||||
/* AMD extensions */
|
||||
VK_EXTENSION(AMD_BUFFER_MARKER, AMD_buffer_marker),
|
||||
VK_EXTENSION(AMD_SHADER_CORE_PROPERTIES, AMD_shader_core_properties),
|
||||
|
@ -1246,6 +1248,20 @@ static void vkd3d_physical_device_info_init(struct vkd3d_physical_device_info *i
|
|||
vk_prepend_struct(&info->features2, &info->compute_shader_derivatives_features_nv);
|
||||
}
|
||||
|
||||
if (vulkan_info->KHR_shader_atomic_int64)
|
||||
{
|
||||
info->shader_atomic_int64_features.sType =
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES_KHR;
|
||||
vk_prepend_struct(&info->features2, &info->shader_atomic_int64_features);
|
||||
}
|
||||
|
||||
if (vulkan_info->EXT_shader_image_atomic_int64)
|
||||
{
|
||||
info->shader_image_atomic_int64_features.sType =
|
||||
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT;
|
||||
vk_prepend_struct(&info->features2, &info->shader_image_atomic_int64_features);
|
||||
}
|
||||
|
||||
/* Core in Vulkan 1.1. */
|
||||
info->shader_draw_parameters_features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES;
|
||||
vk_prepend_struct(&info->features2, &info->shader_draw_parameters_features);
|
||||
|
|
|
@ -125,6 +125,7 @@ struct vkd3d_vulkan_info
|
|||
bool KHR_separate_depth_stencil_layouts;
|
||||
bool KHR_shader_integer_dot_product;
|
||||
bool KHR_format_feature_flags2;
|
||||
bool KHR_shader_atomic_int64;
|
||||
/* EXT device extensions */
|
||||
bool EXT_calibrated_timestamps;
|
||||
bool EXT_conditional_rendering;
|
||||
|
@ -145,6 +146,7 @@ struct vkd3d_vulkan_info
|
|||
bool EXT_extended_dynamic_state;
|
||||
bool EXT_external_memory_host;
|
||||
bool EXT_4444_formats;
|
||||
bool EXT_shader_image_atomic_int64;
|
||||
/* AMD device extensions */
|
||||
bool AMD_buffer_marker;
|
||||
bool AMD_shader_core_properties;
|
||||
|
@ -2720,6 +2722,8 @@ struct vkd3d_physical_device_info
|
|||
VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV barycentric_features_nv;
|
||||
VkPhysicalDeviceRayQueryFeaturesKHR ray_query_features;
|
||||
VkPhysicalDeviceComputeShaderDerivativesFeaturesNV compute_shader_derivatives_features_nv;
|
||||
VkPhysicalDeviceShaderAtomicInt64FeaturesKHR shader_atomic_int64_features;
|
||||
VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT shader_image_atomic_int64_features;
|
||||
|
||||
VkPhysicalDeviceFeatures2 features2;
|
||||
|
||||
|
|
Loading…
Reference in New Issue