[vk] Bumping features to 1.4
This commit is contained in:
parent
1cc6a3c5b3
commit
273a0788be
|
|
@ -918,6 +918,7 @@ bool Device::GetSuitability(bool requires_swapchain) {
|
|||
// Configure properties.
|
||||
VkPhysicalDeviceVulkan12Features features_1_2{};
|
||||
VkPhysicalDeviceVulkan13Features features_1_3{};
|
||||
VkPhysicalDeviceVulkan14Features features_1_4{};
|
||||
|
||||
// Configure properties.
|
||||
properties.properties = physical.GetProperties();
|
||||
|
|
@ -957,6 +958,9 @@ bool Device::GetSuitability(bool requires_swapchain) {
|
|||
if (instance_version < VK_API_VERSION_1_3) {
|
||||
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_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_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;
|
||||
|
||||
*next = &features_1_2;
|
||||
|
|
@ -1028,6 +1037,11 @@ bool Device::GetSuitability(bool requires_swapchain) {
|
|||
} else {
|
||||
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 FEATURE
|
||||
|
|
|
|||
|
|
@ -42,6 +42,10 @@ VK_DEFINE_HANDLE(VmaAllocator)
|
|||
FEATURE(EXT, SubgroupSizeControl, SUBGROUP_SIZE_CONTROL, subgroup_size_control) \
|
||||
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 FOR_EACH_VK_FEATURE_EXT(FEATURE) \
|
||||
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, VertexInputDynamicState, VERTEX_INPUT_DYNAMIC_STATE, vertex_input_dynamic_state) \
|
||||
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, Maintenance8, MAINTENANCE_8, maintenance8) \
|
||||
FEATURE(KHR, Maintenance9, MAINTENANCE_9, maintenance9) \
|
||||
|
|
@ -844,6 +846,7 @@ private:
|
|||
FOR_EACH_VK_FEATURE_1_1(FEATURE);
|
||||
FOR_EACH_VK_FEATURE_1_2(FEATURE);
|
||||
FOR_EACH_VK_FEATURE_1_3(FEATURE);
|
||||
FOR_EACH_VK_FEATURE_1_4(FEATURE);
|
||||
FOR_EACH_VK_FEATURE_EXT(FEATURE);
|
||||
FOR_EACH_VK_EXTENSION(EXTENSION);
|
||||
|
||||
|
|
@ -860,6 +863,7 @@ private:
|
|||
FOR_EACH_VK_FEATURE_1_1(FEATURE_CORE);
|
||||
FOR_EACH_VK_FEATURE_1_2(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);
|
||||
|
||||
#undef FEATURE_CORE
|
||||
|
|
|
|||
Loading…
Reference in New Issue