diff --git a/.patch/ffmpeg/0001-steamdeck.patch b/.patch/ffmpeg/0001-steamdeck.patch new file mode 100644 index 0000000000..245a9bacc2 --- /dev/null +++ b/.patch/ffmpeg/0001-steamdeck.patch @@ -0,0 +1,34 @@ +diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c +index 2859ee1..766961f 100644 +--- a/libavutil/hwcontext_vulkan.c ++++ b/libavutil/hwcontext_vulkan.c +@@ -1688,10 +1688,12 @@ static int setup_queue_families(AVHWDeviceContext *ctx, VkDeviceCreateInfo *cd) + + hwctx->nb_qf = 0; + hwctx->queue_flags = 0; ++/* SD gamemode vkroots crash + #ifdef VK_KHR_internally_synchronized_queues + if (p->vkctx.extensions & FF_VK_EXT_INTERNAL_QUEUE_SYNC) + hwctx->queue_flags |= VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR; + #endif ++*/ + + /* Pick each queue family to use. */ + #define PICK_QF(type, vid_op) \ +diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c +index b2e575c..5b3c9cf 100644 +--- a/libavutil/vulkan.c ++++ b/libavutil/vulkan.c +@@ -574,10 +574,12 @@ int ff_vk_exec_pool_init(FFVulkanContext *s, AVVulkanDeviceQueueFamily *qf, + e->qf = qf->idx; + VkDeviceQueueInfo2 qinfo = { + .sType = VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2, ++/* SD gamemode vkroots crash + #ifdef VK_KHR_internally_synchronized_queues + .flags = internal_queue_sync ? + VK_DEVICE_QUEUE_CREATE_INTERNALLY_SYNCHRONIZED_BIT_KHR : 0, + #endif ++*/ + .queueFamilyIndex = qf->idx, + .queueIndex = e->qi, + }; diff --git a/cpmfile.json b/cpmfile.json index 419c8d2d69..43fea18418 100644 --- a/cpmfile.json +++ b/cpmfile.json @@ -73,9 +73,9 @@ "version": "v1.3.18" }, "ffmpeg": { - "hash": "ed177621176b3961bdcaa339187d3a7688c1c8b060b79c4bb0257cbc67ad7021ae5d5adca5303b45625abbbe3d9aafdd87ce777b8690ac295290d744c875489a", + "hash": "68f46abf0d5dc47ab95083d59e273131a8df7948b82e62db00f00fa416e1d0bd24b799671b5a60752209bb2ac0f75295055ed0085c89a98113323cde23b69710", "repo": "FFmpeg/FFmpeg", - "version": "c7b5f1537d" + "version": "6efe500d2e" }, "ffmpeg-ci": { "ci": true,