We don't use them, and on NVIDIA, each queue takes around 30ms to allocate, and the driver has a global limit of ONLY 112 queues.
Unified · Split
| @@ -95,8 +95,6 @@ typedef struct VulkanDeviceFeatures { · 94 unmodified lines | |||
| 95 | VkPhysicalDeviceDescriptorBufferFeaturesEXT descriptor_buffer; | 95 | VkPhysicalDeviceDescriptorBufferFeaturesEXT descriptor_buffer; |
| 96 | VkPhysicalDeviceShaderAtomicFloatFeaturesEXT atomic_float; | 96 | VkPhysicalDeviceShaderAtomicFloatFeaturesEXT atomic_float; |
| 97 | 97 | ||
| 98 | VkPhysicalDeviceOpticalFlowFeaturesNV optical_flow; | ||
| 99 | |||
| 100 | #ifdef VK_KHR_shader_relaxed_extended_instruction | 98 | #ifdef VK_KHR_shader_relaxed_extended_instruction |
| 101 | VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR relaxed_extended_instruction; | 99 | VkPhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR relaxed_extended_instruction; |
| 102 | #endif | 100 | #endif |
| @@ -234,9 +232,6 @@ static void device_features_init(AVHWDeviceContext *ctx, VulkanDeviceFeatures *f · 131 unmodified lines | |||
| 234 | FF_VK_STRUCT_EXT(s, &feats->device, &feats->relaxed_extended_instruction, FF_VK_EXT_RELAXED_EXTENDED_INSTR, | 232 | FF_VK_STRUCT_EXT(s, &feats->device, &feats->relaxed_extended_instruction, FF_VK_EXT_RELAXED_EXTENDED_INSTR, |
| 235 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR); | 233 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_RELAXED_EXTENDED_INSTRUCTION_FEATURES_KHR); |
| 236 | #endif | 234 | #endif |
| 237 | |||
| 238 | FF_VK_STRUCT_EXT(s, &feats->device, &feats->optical_flow, FF_VK_EXT_OPTICAL_FLOW, | ||
| 239 | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV); | ||
| 240 | } | 235 | } |
| 241 | 236 | ||
| 242 | /* Copy all needed device features */ | 237 | /* Copy all needed device features */ |
| @@ -311,7 +306,6 @@ static void device_features_copy_needed(VulkanDeviceFeatures *dst, VulkanDeviceF · 68 unmodified lines | |||
| 311 | COPY_VAL(expect_assume.shaderExpectAssume); | 306 | COPY_VAL(expect_assume.shaderExpectAssume); |
| 312 | #endif | 307 | #endif |
| 313 | 308 | ||
| 314 | COPY_VAL(optical_flow.opticalFlow); | ||
| 315 | #undef COPY_VAL | 309 | #undef COPY_VAL |
| 316 | } | 310 | } |
| 317 | 311 | ||
| @@ -607,7 +601,6 @@ static const VulkanOptExtension optional_device_exts[] = { · 289 unmodified lines | |||
| 607 | { VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, FF_VK_EXT_DEVICE_DRM }, | 601 | { VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME, FF_VK_EXT_DEVICE_DRM }, |
| 608 | { VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, FF_VK_EXT_ATOMIC_FLOAT }, | 602 | { VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, FF_VK_EXT_ATOMIC_FLOAT }, |
| 609 | { VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME, FF_VK_EXT_COOP_MATRIX }, | 603 | { VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME, FF_VK_EXT_COOP_MATRIX }, |
| 610 | { VK_NV_OPTICAL_FLOW_EXTENSION_NAME, FF_VK_EXT_OPTICAL_FLOW }, | ||
| 611 | { VK_EXT_SHADER_OBJECT_EXTENSION_NAME, FF_VK_EXT_SHADER_OBJECT }, | 604 | { VK_EXT_SHADER_OBJECT_EXTENSION_NAME, FF_VK_EXT_SHADER_OBJECT }, |
| 612 | { VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME, FF_VK_EXT_SUBGROUP_ROTATE }, | 605 | { VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME, FF_VK_EXT_SUBGROUP_ROTATE }, |
| 613 | #ifdef VK_KHR_shader_expect_assume | 606 | #ifdef VK_KHR_shader_expect_assume |
| @@ -1511,7 +1504,6 @@ static int setup_queue_families(AVHWDeviceContext *ctx, VkDeviceCreateInfo *cd) · 897 unmodified lines | |||
| 1511 | PICK_QF(VK_QUEUE_GRAPHICS_BIT, VK_VIDEO_CODEC_OPERATION_NONE_KHR); | 1504 | PICK_QF(VK_QUEUE_GRAPHICS_BIT, VK_VIDEO_CODEC_OPERATION_NONE_KHR); |
| 1512 | PICK_QF(VK_QUEUE_COMPUTE_BIT, VK_VIDEO_CODEC_OPERATION_NONE_KHR); | 1505 | PICK_QF(VK_QUEUE_COMPUTE_BIT, VK_VIDEO_CODEC_OPERATION_NONE_KHR); |
| 1513 | PICK_QF(VK_QUEUE_TRANSFER_BIT, VK_VIDEO_CODEC_OPERATION_NONE_KHR); | 1506 | PICK_QF(VK_QUEUE_TRANSFER_BIT, VK_VIDEO_CODEC_OPERATION_NONE_KHR); |
| 1514 | PICK_QF(VK_QUEUE_OPTICAL_FLOW_BIT_NV, VK_VIDEO_CODEC_OPERATION_NONE_KHR); | ||
| 1515 | 1507 | ||
| 1516 | PICK_QF(VK_QUEUE_VIDEO_ENCODE_BIT_KHR, VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR); | 1508 | PICK_QF(VK_QUEUE_VIDEO_ENCODE_BIT_KHR, VK_VIDEO_CODEC_OPERATION_ENCODE_H264_BIT_KHR); |
| 1517 | PICK_QF(VK_QUEUE_VIDEO_DECODE_BIT_KHR, VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR); | 1509 | PICK_QF(VK_QUEUE_VIDEO_DECODE_BIT_KHR, VK_VIDEO_CODEC_OPERATION_DECODE_H264_BIT_KHR); |