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_SEPARATE_DEPTH_STENCIL_LAYOUTS, KHR_separate_depth_stencil_layouts),
|
||||||
VK_EXTENSION(KHR_SHADER_INTEGER_DOT_PRODUCT, KHR_shader_integer_dot_product),
|
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_FORMAT_FEATURE_FLAGS_2, KHR_format_feature_flags2),
|
||||||
|
VK_EXTENSION(KHR_SHADER_ATOMIC_INT64, KHR_shader_atomic_int64),
|
||||||
/* EXT extensions */
|
/* EXT extensions */
|
||||||
VK_EXTENSION(EXT_CALIBRATED_TIMESTAMPS, EXT_calibrated_timestamps),
|
VK_EXTENSION(EXT_CALIBRATED_TIMESTAMPS, EXT_calibrated_timestamps),
|
||||||
VK_EXTENSION(EXT_CONDITIONAL_RENDERING, EXT_conditional_rendering),
|
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_EXTENDED_DYNAMIC_STATE, EXT_extended_dynamic_state),
|
||||||
VK_EXTENSION(EXT_EXTERNAL_MEMORY_HOST, EXT_external_memory_host),
|
VK_EXTENSION(EXT_EXTERNAL_MEMORY_HOST, EXT_external_memory_host),
|
||||||
VK_EXTENSION(EXT_4444_FORMATS, EXT_4444_formats),
|
VK_EXTENSION(EXT_4444_FORMATS, EXT_4444_formats),
|
||||||
|
VK_EXTENSION(EXT_SHADER_IMAGE_ATOMIC_INT64, EXT_shader_image_atomic_int64),
|
||||||
/* AMD extensions */
|
/* AMD extensions */
|
||||||
VK_EXTENSION(AMD_BUFFER_MARKER, AMD_buffer_marker),
|
VK_EXTENSION(AMD_BUFFER_MARKER, AMD_buffer_marker),
|
||||||
VK_EXTENSION(AMD_SHADER_CORE_PROPERTIES, AMD_shader_core_properties),
|
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);
|
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. */
|
/* Core in Vulkan 1.1. */
|
||||||
info->shader_draw_parameters_features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES;
|
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);
|
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_separate_depth_stencil_layouts;
|
||||||
bool KHR_shader_integer_dot_product;
|
bool KHR_shader_integer_dot_product;
|
||||||
bool KHR_format_feature_flags2;
|
bool KHR_format_feature_flags2;
|
||||||
|
bool KHR_shader_atomic_int64;
|
||||||
/* EXT device extensions */
|
/* EXT device extensions */
|
||||||
bool EXT_calibrated_timestamps;
|
bool EXT_calibrated_timestamps;
|
||||||
bool EXT_conditional_rendering;
|
bool EXT_conditional_rendering;
|
||||||
|
@ -145,6 +146,7 @@ struct vkd3d_vulkan_info
|
||||||
bool EXT_extended_dynamic_state;
|
bool EXT_extended_dynamic_state;
|
||||||
bool EXT_external_memory_host;
|
bool EXT_external_memory_host;
|
||||||
bool EXT_4444_formats;
|
bool EXT_4444_formats;
|
||||||
|
bool EXT_shader_image_atomic_int64;
|
||||||
/* AMD device extensions */
|
/* AMD device extensions */
|
||||||
bool AMD_buffer_marker;
|
bool AMD_buffer_marker;
|
||||||
bool AMD_shader_core_properties;
|
bool AMD_shader_core_properties;
|
||||||
|
@ -2720,6 +2722,8 @@ struct vkd3d_physical_device_info
|
||||||
VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV barycentric_features_nv;
|
VkPhysicalDeviceFragmentShaderBarycentricFeaturesNV barycentric_features_nv;
|
||||||
VkPhysicalDeviceRayQueryFeaturesKHR ray_query_features;
|
VkPhysicalDeviceRayQueryFeaturesKHR ray_query_features;
|
||||||
VkPhysicalDeviceComputeShaderDerivativesFeaturesNV compute_shader_derivatives_features_nv;
|
VkPhysicalDeviceComputeShaderDerivativesFeaturesNV compute_shader_derivatives_features_nv;
|
||||||
|
VkPhysicalDeviceShaderAtomicInt64FeaturesKHR shader_atomic_int64_features;
|
||||||
|
VkPhysicalDeviceShaderImageAtomicInt64FeaturesEXT shader_image_atomic_int64_features;
|
||||||
|
|
||||||
VkPhysicalDeviceFeatures2 features2;
|
VkPhysicalDeviceFeatures2 features2;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue