Nov 7, 2023, 12:25 by quinkbl...@foxmail.com:

> Ping.
>
>> 在 2023年10月30日,下午4:17,Zhao Zhili <quinkbl...@foxmail.com> 写道:
>>
>> From: Zhao Zhili <zhiliz...@tencent.com>
>>
>> VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME is required on macOS,
>> and VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR flag should
>> be set.
>> ---
>> libavutil/hwcontext_vulkan.c | 9 ++++++++-
>> 1 file changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
>> index 8481427b42..9fbf61ee70 100644
>> --- a/libavutil/hwcontext_vulkan.c
>> +++ b/libavutil/hwcontext_vulkan.c
>> @@ -405,7 +405,6 @@ typedef struct VulkanOptExtension {
>> } VulkanOptExtension;
>>
>> static const VulkanOptExtension optional_instance_exts[] = {
>> -    /* Pointless, here avoid zero-sized structs */
>>  { VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME,          FF_VK_EXT_NO_FLAG 
>>                },
>> };
>>
>> @@ -784,6 +783,14 @@ static int create_instance(AVHWDeviceContext *ctx, 
>> AVDictionary *opts)
>>  inst_props.pNext = &validation_features;
>>  }
>>
>> +    for (int i = 0; i < inst_props.enabledExtensionCount; i++) {
>> +        if (!strcmp(VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME,
>> +                    inst_props.ppEnabledExtensionNames[i])) {
>> +            inst_props.flags |= 
>> VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR;
>> +            break;
>> +        }
>> +    }
>> +
>>  /* Try to create the instance */
>>  ret = vk->CreateInstance(&inst_props, hwctx->alloc, &hwctx->inst);
>>

Pong. It is a bit incorrect - from memory,
VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR requires that
only Vulkan 1.1 features are enabled, while we require 1.3.
But if it works, sure. Could you ifdef it out everywhere outside of OSX?
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to