FFmpeg has patches which add support for it.
Unified · Split
| @@ -185,6 +185,7 @@ pl_vulkan mppl_create_vulkan(struct vulkan_opts *opts, · 184 unmodified lines | |||
| 185 | const char *opt_extensions[] = { | 185 | const char *opt_extensions[] = { |
| 186 | VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME, | 186 | VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME, |
| 187 | VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, | 187 | VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, |
| 188 | VK_EXT_SHADER_OBJECT_EXTENSION_NAME, | ||
| 188 | VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME, | 189 | VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME, |
| 189 | VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME, | 190 | VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME, |
| 190 | VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME, | 191 | VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME, |
| @@ -192,9 +193,15 @@ pl_vulkan mppl_create_vulkan(struct vulkan_opts *opts, · 1 unmodified line | |||
| 192 | "VK_KHR_video_decode_av1", /* VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME */ | 193 | "VK_KHR_video_decode_av1", /* VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME */ |
| 193 | }; | 194 | }; |
| 194 | 195 | ||
| 196 | VkPhysicalDeviceShaderObjectFeaturesEXT shader_object_feature = { | ||
| 197 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT, | ||
| 198 | .pNext = NULL, | ||
| 199 | .shaderObject = true, | ||
| 200 | }; | ||
| 201 | |||
| 195 | VkPhysicalDeviceDescriptorBufferFeaturesEXT descriptor_buffer_feature = { | 202 | VkPhysicalDeviceDescriptorBufferFeaturesEXT descriptor_buffer_feature = { |
| 196 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT, | 203 | .sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_BUFFER_FEATURES_EXT, |
| 197 | .pNext = NULL, | 204 | .pNext = &shader_object_feature, |
| 198 | .descriptorBuffer = true, | 205 | .descriptorBuffer = true, |
| 199 | .descriptorBufferPushDescriptors = true, | 206 | .descriptorBufferPushDescriptors = true, |
| 200 | }; | 207 | }; |