From 13e063ceec425985c56201e211fb0f76c839158a Mon Sep 17 00:00:00 2001 From: Lynne Date: Sun, 22 Feb 2026 00:02:26 +0000 Subject: [PATCH] vulkan/ffv1: properly initialize the linecache --- libavcodec/vulkan/ffv1_common.glsl | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/libavcodec/vulkan/ffv1_common.glsl b/libavcodec/vulkan/ffv1_common.glsl index 9ed71f7e03..8719276691 100644 --- a/libavcodec/vulkan/ffv1_common.glsl +++ b/libavcodec/vulkan/ffv1_common.glsl @@ -150,7 +150,7 @@ const uint32_t log2_run[41] = { 24, }; -shared VTYPE2 linecache = {}; +shared VTYPE2 linecache; #ifdef RGB #define RGB_LBUF (rgb_linecache - 1) @@ -236,13 +236,15 @@ ivec2 get_pred(readonly uimage2D pred, ivec2 sp, ivec2 off, void linecache_load(readonly uimage2D src, ivec2 sp, int y, uint comp) { - if (y > 0) { - if (gl_LocalInvocationID.x == 0) { - TYPE c = TYPE(imageLoad(src, sp + LADDR(ivec2(0, y - 1)))[comp]); - linecache = VTYPE2(TYPE(0), c); - } - barrier(); + if (gl_LocalInvocationID.x == 0) { + linecache[0] = TYPE(0); + } else if (gl_LocalInvocationID.x == 1) { + TYPE c = TYPE(0); + if (y > 0) + c = TYPE(imageLoad(src, sp + LADDR(ivec2(0, y - 1)))[comp]); + linecache[1] = c; } + barrier(); } void linecache_next(TYPE cur)