| @@ -79,7 +79,10 @@ typedef struct VulkanDeviceFeatures { · 78 unmodified lines |
| 79 | VkPhysicalDeviceVulkan12Features vulkan_1_2; | 79 | VkPhysicalDeviceVulkan12Features vulkan_1_2; |
| 80 | VkPhysicalDeviceVulkan13Features vulkan_1_3; | 80 | VkPhysicalDeviceVulkan13Features vulkan_1_3; |
| 81 | VkPhysicalDeviceTimelineSemaphoreFeatures timeline_semaphore; | 81 | VkPhysicalDeviceTimelineSemaphoreFeatures timeline_semaphore; |
| | 82 | |
| | 83 | #ifdef VK_KHR_shader_expect_assume |
| 82 | VkPhysicalDeviceShaderExpectAssumeFeatures expect_assume; | 84 | VkPhysicalDeviceShaderExpectAssumeFeatures expect_assume; |
| | 85 | #endif |
| 83 | | 86 | |
| 84 | VkPhysicalDeviceVideoMaintenance1FeaturesKHR video_maintenance_1; | 87 | VkPhysicalDeviceVideoMaintenance1FeaturesKHR video_maintenance_1; |
| 85 | #ifdef VK_KHR_video_maintenance2 | 88 | #ifdef VK_KHR_video_maintenance2 |
| @@ -211,8 +214,10 @@ static void device_features_init(AVHWDeviceContext *ctx, VulkanDeviceFeatures *f · 125 unmodified lines |
| 211 | OPT_CHAIN(&feats->timeline_semaphore, FF_VK_EXT_PORTABILITY_SUBSET, | 214 | OPT_CHAIN(&feats->timeline_semaphore, FF_VK_EXT_PORTABILITY_SUBSET, |
| 212 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES); | 215 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES); |
| 213 | | 216 | |
| | 217 | #ifdef VK_KHR_shader_expect_assume |
| 214 | OPT_CHAIN(&feats->expect_assume, FF_VK_EXT_EXPECT_ASSUME, | 218 | OPT_CHAIN(&feats->expect_assume, FF_VK_EXT_EXPECT_ASSUME, |
| 215 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR); | 219 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR); |
| | 220 | #endif |
| 216 | | 221 | |
| 217 | OPT_CHAIN(&feats->video_maintenance_1, FF_VK_EXT_VIDEO_MAINTENANCE_1, | 222 | OPT_CHAIN(&feats->video_maintenance_1, FF_VK_EXT_VIDEO_MAINTENANCE_1, |
| 218 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR); | 223 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR); |
| @@ -306,7 +311,9 @@ static void device_features_copy_needed(VulkanDeviceFeatures *dst, VulkanDeviceF · 87 unmodified lines |
| 306 | COPY_VAL(relaxed_extended_instruction.shaderRelaxedExtendedInstruction); | 311 | COPY_VAL(relaxed_extended_instruction.shaderRelaxedExtendedInstruction); |
| 307 | #endif | 312 | #endif |
| 308 | | 313 | |
| | 314 | #ifdef VK_KHR_shader_expect_assume |
| 309 | COPY_VAL(expect_assume.shaderExpectAssume); | 315 | COPY_VAL(expect_assume.shaderExpectAssume); |
| | 316 | #endif |
| 310 | | 317 | |
| 311 | COPY_VAL(optical_flow.opticalFlow); | 318 | COPY_VAL(optical_flow.opticalFlow); |
| 312 | #undef COPY_VAL | 319 | #undef COPY_VAL |
| @@ -622,7 +629,9 @@ static const VulkanOptExtension optional_device_exts[] = { · 309 unmodified lines |
| 622 | { VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME, FF_VK_EXT_COOP_MATRIX }, | 629 | { VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME, FF_VK_EXT_COOP_MATRIX }, |
| 623 | { VK_NV_OPTICAL_FLOW_EXTENSION_NAME, FF_VK_EXT_OPTICAL_FLOW }, | 630 | { VK_NV_OPTICAL_FLOW_EXTENSION_NAME, FF_VK_EXT_OPTICAL_FLOW }, |
| 624 | { VK_EXT_SHADER_OBJECT_EXTENSION_NAME, FF_VK_EXT_SHADER_OBJECT }, | 631 | { VK_EXT_SHADER_OBJECT_EXTENSION_NAME, FF_VK_EXT_SHADER_OBJECT }, |
| | 632 | #ifdef VK_KHR_shader_expect_assume |
| 625 | { VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME, FF_VK_EXT_EXPECT_ASSUME }, | 633 | { VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME, FF_VK_EXT_EXPECT_ASSUME }, |
| | 634 | #endif |
| 626 | { VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME, FF_VK_EXT_VIDEO_MAINTENANCE_1 }, | 635 | { VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME, FF_VK_EXT_VIDEO_MAINTENANCE_1 }, |
| 627 | #ifdef VK_KHR_video_maintenance2 | 636 | #ifdef VK_KHR_video_maintenance2 |
| 628 | { VK_KHR_VIDEO_MAINTENANCE_2_EXTENSION_NAME, FF_VK_EXT_VIDEO_MAINTENANCE_2 }, | 637 | { VK_KHR_VIDEO_MAINTENANCE_2_EXTENSION_NAME, FF_VK_EXT_VIDEO_MAINTENANCE_2 }, |