Browse Source

[vk] Bumping features to 1.4

pull/3115/head
CamilleLaVey 4 weeks ago
parent
commit
3611149bbb
  1. 14
      src/video_core/vulkan_common/vulkan_device.cpp
  2. 8
      src/video_core/vulkan_common/vulkan_device.h

14
src/video_core/vulkan_common/vulkan_device.cpp

@ -918,6 +918,7 @@ bool Device::GetSuitability(bool requires_swapchain) {
// Configure properties. // Configure properties.
VkPhysicalDeviceVulkan12Features features_1_2{}; VkPhysicalDeviceVulkan12Features features_1_2{};
VkPhysicalDeviceVulkan13Features features_1_3{}; VkPhysicalDeviceVulkan13Features features_1_3{};
VkPhysicalDeviceVulkan14Features features_1_4{};
// Configure properties. // Configure properties.
properties.properties = physical.GetProperties(); properties.properties = physical.GetProperties();
@ -957,6 +958,9 @@ bool Device::GetSuitability(bool requires_swapchain) {
if (instance_version < VK_API_VERSION_1_3) { if (instance_version < VK_API_VERSION_1_3) {
FOR_EACH_VK_FEATURE_1_3(FEATURE_EXTENSION); FOR_EACH_VK_FEATURE_1_3(FEATURE_EXTENSION);
} }
if (instance_version < VK_API_VERSION_1_4) {
FOR_EACH_VK_FEATURE_1_4(FEATURE_EXTENSION);
}
FOR_EACH_VK_FEATURE_EXT(FEATURE_EXTENSION); FOR_EACH_VK_FEATURE_EXT(FEATURE_EXTENSION);
FOR_EACH_VK_EXTENSION(EXTENSION); FOR_EACH_VK_EXTENSION(EXTENSION);
@ -997,6 +1001,11 @@ bool Device::GetSuitability(bool requires_swapchain) {
features_1_2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES; features_1_2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES;
features_1_3.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES; features_1_3.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES;
if (instance_version >= VK_API_VERSION_1_4) {
features_1_4.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES;
features_1_3.pNext = &features_1_4;
}
features_1_2.pNext = &features_1_3; features_1_2.pNext = &features_1_3;
*next = &features_1_2; *next = &features_1_2;
@ -1028,6 +1037,11 @@ bool Device::GetSuitability(bool requires_swapchain) {
} else { } else {
FOR_EACH_VK_FEATURE_1_3(EXT_FEATURE); FOR_EACH_VK_FEATURE_1_3(EXT_FEATURE);
} }
if (instance_version >= VK_API_VERSION_1_4) {
FOR_EACH_VK_FEATURE_1_4(FEATURE);
} else {
FOR_EACH_VK_FEATURE_1_4(EXT_FEATURE);
}
#undef EXT_FEATURE #undef EXT_FEATURE
#undef FEATURE #undef FEATURE

8
src/video_core/vulkan_common/vulkan_device.h

@ -42,6 +42,10 @@ VK_DEFINE_HANDLE(VmaAllocator)
FEATURE(EXT, SubgroupSizeControl, SUBGROUP_SIZE_CONTROL, subgroup_size_control) \ FEATURE(EXT, SubgroupSizeControl, SUBGROUP_SIZE_CONTROL, subgroup_size_control) \
FEATURE(KHR, Maintenance4, MAINTENANCE_4, maintenance4) FEATURE(KHR, Maintenance4, MAINTENANCE_4, maintenance4)
#define FOR_EACH_VK_FEATURE_1_4(FEATURE) \
FEATURE(KHR, Maintenance5, MAINTENANCE_5, maintenance5) \
FEATURE(KHR, Maintenance6, MAINTENANCE_6, maintenance6)
// Define all features which may be used by the implementation and require an extension here. // Define all features which may be used by the implementation and require an extension here.
#define FOR_EACH_VK_FEATURE_EXT(FEATURE) \ #define FOR_EACH_VK_FEATURE_EXT(FEATURE) \
FEATURE(EXT, CustomBorderColor, CUSTOM_BORDER_COLOR, custom_border_color) \ FEATURE(EXT, CustomBorderColor, CUSTOM_BORDER_COLOR, custom_border_color) \
@ -60,8 +64,6 @@ VK_DEFINE_HANDLE(VmaAllocator)
FEATURE(EXT, TransformFeedback, TRANSFORM_FEEDBACK, transform_feedback) \ FEATURE(EXT, TransformFeedback, TRANSFORM_FEEDBACK, transform_feedback) \
FEATURE(EXT, VertexInputDynamicState, VERTEX_INPUT_DYNAMIC_STATE, vertex_input_dynamic_state) \ FEATURE(EXT, VertexInputDynamicState, VERTEX_INPUT_DYNAMIC_STATE, vertex_input_dynamic_state) \
FEATURE(EXT, SwapchainMaintenance1, SWAPCHAIN_MAINTENANCE_1, swapchain_maintenance1) \ FEATURE(EXT, SwapchainMaintenance1, SWAPCHAIN_MAINTENANCE_1, swapchain_maintenance1) \
FEATURE(KHR, Maintenance5, MAINTENANCE_5, maintenance5) \
FEATURE(KHR, Maintenance6, MAINTENANCE_6, maintenance6) \
FEATURE(KHR, Maintenance7, MAINTENANCE_7, maintenance7) \ FEATURE(KHR, Maintenance7, MAINTENANCE_7, maintenance7) \
FEATURE(KHR, Maintenance8, MAINTENANCE_8, maintenance8) \ FEATURE(KHR, Maintenance8, MAINTENANCE_8, maintenance8) \
FEATURE(KHR, Maintenance9, MAINTENANCE_9, maintenance9) \ FEATURE(KHR, Maintenance9, MAINTENANCE_9, maintenance9) \
@ -844,6 +846,7 @@ private:
FOR_EACH_VK_FEATURE_1_1(FEATURE); FOR_EACH_VK_FEATURE_1_1(FEATURE);
FOR_EACH_VK_FEATURE_1_2(FEATURE); FOR_EACH_VK_FEATURE_1_2(FEATURE);
FOR_EACH_VK_FEATURE_1_3(FEATURE); FOR_EACH_VK_FEATURE_1_3(FEATURE);
FOR_EACH_VK_FEATURE_1_4(FEATURE);
FOR_EACH_VK_FEATURE_EXT(FEATURE); FOR_EACH_VK_FEATURE_EXT(FEATURE);
FOR_EACH_VK_EXTENSION(EXTENSION); FOR_EACH_VK_EXTENSION(EXTENSION);
@ -860,6 +863,7 @@ private:
FOR_EACH_VK_FEATURE_1_1(FEATURE_CORE); FOR_EACH_VK_FEATURE_1_1(FEATURE_CORE);
FOR_EACH_VK_FEATURE_1_2(FEATURE_CORE); FOR_EACH_VK_FEATURE_1_2(FEATURE_CORE);
FOR_EACH_VK_FEATURE_1_3(FEATURE_CORE); FOR_EACH_VK_FEATURE_1_3(FEATURE_CORE);
FOR_EACH_VK_FEATURE_1_4(FEATURE_CORE);
FOR_EACH_VK_FEATURE_EXT(FEATURE_EXT); FOR_EACH_VK_FEATURE_EXT(FEATURE_EXT);
#undef FEATURE_CORE #undef FEATURE_CORE

Loading…
Cancel
Save