From a24ea37228f4a01d1adcf366d98ad112becc3e32 Mon Sep 17 00:00:00 2001 From: Lynne Date: Sat, 3 May 2025 14:15:04 +0200 Subject: [PATCH] vulkan_ffv1: fix PCM + cached symbol reader writeout_rgb requires that all subgroups are active. --- libavcodec/vulkan/ffv1_dec.comp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/vulkan/ffv1_dec.comp b/libavcodec/vulkan/ffv1_dec.comp index c74af4bf6a..e73b3f1dc0 100644 --- a/libavcodec/vulkan/ffv1_dec.comp +++ b/libavcodec/vulkan/ffv1_dec.comp @@ -56,6 +56,11 @@ int get_isymbol(inout RangeCoder c, uint state_off) void decode_line_pcm(inout SliceContext sc, ivec2 sp, int w, int y, int p, int bits) { +#ifdef CACHED_SYMBOL_READER + if (gl_LocalInvocationID.x > 0) + return; +#endif + #ifndef RGB if (p > 0 && p < 3) { w >>= chroma_shift.x; @@ -235,8 +240,6 @@ void decode_slice(inout SliceContext sc, const uint slice_idx) /* PCM coding */ #ifndef GOLOMB if (sc.slice_coding_mode == 1) { - if (gl_LocalInvocationID.x > 0) - return; #ifndef RGB for (int p = 0; p < planes; p++) { int h = sc.slice_dim.y;