From patchwork Tue Nov 7 15:44:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 44555 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7aa7:b0:181:818d:5e7f with SMTP id u39csp400162pzh; Tue, 7 Nov 2023 07:45:12 -0800 (PST) X-Google-Smtp-Source: AGHT+IFYjPs/l0QOqYvGMMkVyt273PIoylW4WyVVoThZblZFSlqm+qyq39mFPnk45JSITssjpnnS X-Received: by 2002:a50:d553:0:b0:543:74e6:9da2 with SMTP id f19-20020a50d553000000b0054374e69da2mr16549908edj.0.1699371912211; Tue, 07 Nov 2023 07:45:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1699371912; cv=none; d=google.com; s=arc-20160816; b=i2n81zw9FoVuoQGxPIzwpXh/x39JwQTF3hPCgvzDD5yTV7Y0DoJ4fFMBIxy/IYcTdI wXYgrCiDK4mX+IYr1X7OO9UI3Ut9KRsWicdPSWLUBUMMcYmrcfWwMJQWe4dvWk9nHDGl LgYLgEUa+ILiLKOTSWaj68bvvpCeNI38lWtS1z6R6xVVNBuT+yuNo0MB2gNJVpqYZlsX hatxWrCxTJNsIzaz8IWKw0+jcDcfMCWmvd7XqpS3x6jWXzbhyK9iqY64cwsZJJEHihfc i8/x6pYkYK8qLZDxMRfi2DqDnEy5ycsaE8c/vvaAZOHYiY/FUmAZePX2AqRoPj+Mw6e4 vpmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to:date :to:from:message-id:dkim-signature:delivered-to; bh=IUmqq183zOyhGFGyry3xJ281QMPTkeoPAUdTpbtDy5M=; fh=HnHYuZ9XgUo86ZRXTLWWmQxhslYEI9B9taZ5X1DLFfc=; b=c3yK0lbMZArcQVR6F9+nRiVxPfq6nwKDU5Ek3PjjX0+gbg1WnhqS2j/2P87rgiqPwE VPWS29Gb/Wq3C27AcuH5k6OR4OuXE9GQhZWBVbk62JkvVjUejLzUxH2OzGnMzBJwML6X j1EQd5EGVxpK1vE/QnEjhQphhouqQCDx6+1787beojx8hvS+gyUsxx8LMELK15i9LuNG 6fe7fDI93q1mxfHMxYUcHzwapxFlzs1D4yCiZf8Q8s1HLEYJ8pFl32wnRvDmmX7821DC PwDFth02YvFmI9txOxQ72IBQRNvZm097qrcOvTUwMN26e5G1TaxUPcIp0j5nAe5Fi5nw BaQw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=W1fA3NfV; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=foxmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 2-20020a508e02000000b0054016d00cc9si5808821edw.404.2023.11.07.07.45.11; Tue, 07 Nov 2023 07:45:12 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@foxmail.com header.s=s201512 header.b=W1fA3NfV; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=foxmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 72C3E68BCD2; Tue, 7 Nov 2023 17:45:07 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from out203-205-221-205.mail.qq.com (out203-205-221-205.mail.qq.com [203.205.221.205]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D6B8E68C50B for ; Tue, 7 Nov 2023 17:44:59 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1699371888; bh=LyT59rMZ+ENNoampALeLerBDcwbAdg1Iaoj12e4CFyE=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=W1fA3NfVqwua4q42XdW3IIff8rXEpUSETWTFJxg254WYkFTZd8ilFBf/YMuUuQbY8 CbCyk80FNn4d/Ea4W1aKCBTb0peHjMiRhoggaa+s9LwFXzoBHJW3bMKt6UtyR+Vdhy rx1t8Y+2V6fuSYnhX0Q2jrTZ36E1u3nzUdmy6A0g= Received: from ZHILIZHAO-MB1.tencent.com ([121.34.201.8]) by newxmesmtplogicsvrszc2-1.qq.com (NewEsmtp) with SMTP id B2F27CE9; Tue, 07 Nov 2023 23:44:47 +0800 X-QQ-mid: xmsmtpt1699371887tq74f4qj2 Message-ID: X-QQ-XMAILINFO: NkHKfw09D6j8J3N0NezBtk3VbhFj7M1ulTLdqwaEYDyW/RQI4rbY5WiPfwOSDh 0kZ3Kd+MkxwlKXvfKFGMVBXAwSilhHwDvjysC1qPOqf/mR0Qwtin7hm6KHjJDnYVbNAco7Dccufv /C9QIGB7a8yZk05cw3AyOFBIkGbdOYCca5Fwz/8tWfp5jzp97xk9dHycTGGZMDwgsXTgrvGI3l7n Ws0sMql1QvDQQ7ETlkG0r9xNlAFVosyhFa1CkfsxHXZpjQqL2NoDj3gtm688D5O892me9hujwjcS VU/z9THmKfI1s/fl0WfJ+6wdA+9M1+XCcAyvGB4Yz3sVDo8jrMzc8R5VtfTY6k9fwdPhYvOTR+W8 PRfVporfkaB5YfxNY07dp71C8K99tvfSdkXBX8QocVm25jTV5AbZ6q7VvTR7pVUHLDl+J5Fp+T4O 1/H4jyV9vqPI55In/bzlrvOB/j8snM2fOTKvEBaEClk8lpjcOND1YQFUQrEzKtYekt5IEoYjtfg1 80pPsSZtuWx16EXRacS6NG/eCPhlX/0prmkoaSmvlCHPX/8JTwTTAY6EN+2CSfdXyBiZjTVXgkZo DTX229ZqXcLu0ugsbnN3LZftiL0cZBlFIo2IDObA1/esMhAWVwfSLfhUal0LjUACRA9TJpkv8gwF wFwsbUYJNpAfE5eIdyvJI3XK7c8soJ9LIocZ//yyVie8scpPWS7DwybIYUx7qo+0d0OxtgmS7KGk umPut84cbxWAFJmbIAtbcPjUptiXG6M7mxso9K9LL2VR72BH3gDbGAIxgF9mlPQHklJ8cbkjSGeU sVagYaJKKFIaf/3yAR3Oil+sT7o2j/MUmyO4EH6EwiRF7sRWHtkVDP3z0P0x0OHMvmsSuaeHMgju bT+hkdCpx1CdMGP8QKyITXaIm2uP7h1EkD4TWJbB967MPN5hS9S/dWCmuwq1c0FKtOrZBKx2CjGb f9mqwUKizTOzYlvX7h4lCF5JynDKMMIhK3Q/vyzx1AT3WaP9UsnA== X-QQ-XMRINFO: NI4Ajvh11aEj8Xl/2s1/T8w= From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Tue, 7 Nov 2023 23:44:45 +0800 X-OQ-MSGID: <20231107154445.5101-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.42.0 In-Reply-To: References: MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2] avutil/hwcontext_vulkan: fix run on macOS X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 1OtwghLhu+rC From: Zhao Zhili 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 | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index 8481427b42..521ad76690 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,16 @@ static int create_instance(AVHWDeviceContext *ctx, AVDictionary *opts) inst_props.pNext = &validation_features; } +#ifdef __APPLE__ + 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; + } + } +#endif + /* Try to create the instance */ ret = vk->CreateInstance(&inst_props, hwctx->alloc, &hwctx->inst);