| @@ -94,6 +94,7 @@ typedef struct VulkanDevicePriv { · 93 unmodified lines |
| 94 | VkPhysicalDeviceCooperativeMatrixFeaturesKHR coop_matrix_features; | 94 | VkPhysicalDeviceCooperativeMatrixFeaturesKHR coop_matrix_features; |
| 95 | VkPhysicalDeviceOpticalFlowFeaturesNV optical_flow_features; | 95 | VkPhysicalDeviceOpticalFlowFeaturesNV optical_flow_features; |
| 96 | VkPhysicalDeviceShaderObjectFeaturesEXT shader_object_features; | 96 | VkPhysicalDeviceShaderObjectFeaturesEXT shader_object_features; |
| | 97 | VkPhysicalDeviceVideoMaintenance1FeaturesKHR video_maint_1_features; |
| 97 | | 98 | |
| 98 | /* Queues */ | 99 | /* Queues */ |
| 99 | pthread_mutex_t **qf_mutex; | 100 | pthread_mutex_t **qf_mutex; |
| @@ -422,6 +423,7 @@ static const VulkanOptExtension optional_device_exts[] = { · 322 unmodified lines |
| 422 | { VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME, FF_VK_EXT_COOP_MATRIX }, | 423 | { VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME, FF_VK_EXT_COOP_MATRIX }, |
| 423 | { VK_NV_OPTICAL_FLOW_EXTENSION_NAME, FF_VK_EXT_OPTICAL_FLOW }, | 424 | { VK_NV_OPTICAL_FLOW_EXTENSION_NAME, FF_VK_EXT_OPTICAL_FLOW }, |
| 424 | { VK_EXT_SHADER_OBJECT_EXTENSION_NAME, FF_VK_EXT_SHADER_OBJECT }, | 425 | { VK_EXT_SHADER_OBJECT_EXTENSION_NAME, FF_VK_EXT_SHADER_OBJECT }, |
| | 426 | { VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME, FF_VK_EXT_VIDEO_MAINTENANCE_1 }, |
| 425 | | 427 | |
| 426 | /* Imports/exports */ | 428 | /* Imports/exports */ |
| 427 | { VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME, FF_VK_EXT_EXTERNAL_FD_MEMORY }, | 429 | { VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME, FF_VK_EXT_EXTERNAL_FD_MEMORY }, |
| @@ -1401,9 +1403,13 @@ static int vulkan_device_create_internal(AVHWDeviceContext *ctx, · 973 unmodified lines |
| 1401 | VkPhysicalDeviceTimelineSemaphoreFeatures timeline_features = { | 1403 | VkPhysicalDeviceTimelineSemaphoreFeatures timeline_features = { |
| 1402 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, | 1404 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES, |
| 1403 | }; | 1405 | }; |
| | 1406 | VkPhysicalDeviceVideoMaintenance1FeaturesKHR video_maint_1_features = { |
| | 1407 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR, |
| | 1408 | .pNext = &timeline_features, |
| | 1409 | }; |
| 1404 | VkPhysicalDeviceShaderObjectFeaturesEXT shader_object_features = { | 1410 | VkPhysicalDeviceShaderObjectFeaturesEXT shader_object_features = { |
| 1405 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT, | 1411 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT, |
| 1406 | .pNext = &timeline_features, | 1412 | .pNext = &video_maint_1_features, |
| 1407 | }; | 1413 | }; |
| 1408 | VkPhysicalDeviceOpticalFlowFeaturesNV optical_flow_features = { | 1414 | VkPhysicalDeviceOpticalFlowFeaturesNV optical_flow_features = { |
| 1409 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV, | 1415 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV, |
| @@ -1498,6 +1504,8 @@ static int vulkan_device_create_internal(AVHWDeviceContext *ctx, · 88 unmodified lines |
| 1498 | p->device_features_1_3.shaderZeroInitializeWorkgroupMemory = dev_features_1_3.shaderZeroInitializeWorkgroupMemory; | 1504 | p->device_features_1_3.shaderZeroInitializeWorkgroupMemory = dev_features_1_3.shaderZeroInitializeWorkgroupMemory; |
| 1499 | p->device_features_1_3.dynamicRendering = dev_features_1_3.dynamicRendering; | 1505 | p->device_features_1_3.dynamicRendering = dev_features_1_3.dynamicRendering; |
| 1500 | | 1506 | |
| | 1507 | p->video_maint_1_features.videoMaintenance1 = video_maint_1_features.videoMaintenance1; |
| | 1508 | |
| 1501 | p->desc_buf_features.descriptorBuffer = desc_buf_features.descriptorBuffer; | 1509 | p->desc_buf_features.descriptorBuffer = desc_buf_features.descriptorBuffer; |
| 1502 | p->desc_buf_features.descriptorBufferPushDescriptors = desc_buf_features.descriptorBufferPushDescriptors; | 1510 | p->desc_buf_features.descriptorBufferPushDescriptors = desc_buf_features.descriptorBufferPushDescriptors; |
| 1503 | | 1511 | |
| @@ -1547,6 +1555,8 @@ static int vulkan_device_create_internal(AVHWDeviceContext *ctx, · 43 unmodified lines |
| 1547 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT); | 1555 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT); |
| 1548 | OPT_CHAIN(FF_VK_EXT_OPTICAL_FLOW, &p->optical_flow_features, | 1556 | OPT_CHAIN(FF_VK_EXT_OPTICAL_FLOW, &p->optical_flow_features, |
| 1549 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV); | 1557 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV); |
| | 1558 | OPT_CHAIN(FF_VK_EXT_VIDEO_MAINTENANCE_1, &p->video_maint_1_features, |
| | 1559 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR); |
| 1550 | #undef OPT_CHAIN | 1560 | #undef OPT_CHAIN |
| 1551 | | 1561 | |
| 1552 | /* Add the enabled features into the pnext chain of device creation */ | 1562 | /* Add the enabled features into the pnext chain of device creation */ |