This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch release/9.0
in repository ffmpeg.

commit 4c6017946bf889d80692f0290a8e6a693bbb64d4
Author:     Lynne <[email protected]>
AuthorDate: Sun Jul 12 14:11:32 2026 +0900
Commit:     Lynne <[email protected]>
CommitDate: Tue Jul 14 00:14:28 2026 +0900

    swscale: remove GLSL backend
    
    No longer needed. The SPIR-V version is pretty clean and neat.
    
    (cherry picked from commit aa6aa4ec3ef89fcaf1c7f73da4caa2116b3cbea0)
---
 doc/scaler.texi                    |   3 -
 libswscale/ops.c                   |   6 -
 libswscale/options.c               |   1 -
 libswscale/swscale.h               |   4 +-
 libswscale/vulkan/Makefile         |   2 -
 libswscale/vulkan/ops.c            | 375 +------------------------------------
 libswscale/vulkan/ops.h            |   7 -
 libswscale/vulkan/vulkan_glslang.c |  19 --
 libswscale/vulkan/vulkan_shaderc.c |  19 --
 9 files changed, 6 insertions(+), 430 deletions(-)

diff --git a/doc/scaler.texi b/doc/scaler.texi
index a66c8217f8..274e500837 100644
--- a/doc/scaler.texi
+++ b/doc/scaler.texi
@@ -227,9 +227,6 @@ AArch64 NEON kernels.
 @item spirv
 Vulkan SPIR-V backend.
 
-@item glsl
-Vulkan GLSL backend.
-
 @end table
 
 @end table
diff --git a/libswscale/ops.c b/libswscale/ops.c
index 7d7c22a006..fe1e3bfb9d 100644
--- a/libswscale/ops.c
+++ b/libswscale/ops.c
@@ -38,9 +38,6 @@ extern const SwsOpBackend backend_x86;
 #if HAVE_SPIRV_HEADERS_SPIRV_H || HAVE_SPIRV_UNIFIED1_SPIRV_H
 extern const SwsOpBackend backend_spirv;
 #endif
-#if CONFIG_LIBSHADERC || CONFIG_LIBGLSLANG
-extern const SwsOpBackend backend_glsl;
-#endif
 
 const SwsOpBackend * const ff_sws_op_backends[] = {
     &backend_murder,
@@ -52,9 +49,6 @@ const SwsOpBackend * const ff_sws_op_backends[] = {
     &backend_c,
 #if HAVE_SPIRV_HEADERS_SPIRV_H || HAVE_SPIRV_UNIFIED1_SPIRV_H
     &backend_spirv,
-#endif
-#if CONFIG_LIBSHADERC || CONFIG_LIBGLSLANG
-    &backend_glsl,
 #endif
     NULL
 };
diff --git a/libswscale/options.c b/libswscale/options.c
index 960c6b91dc..fe6c5a6eac 100644
--- a/libswscale/options.c
+++ b/libswscale/options.c
@@ -117,7 +117,6 @@ static const AVOption swscale_options[] = {
         { "x86",         "x86 SIMD kernels",              0,                 
AV_OPT_TYPE_CONST,  { .i64  = SWS_BACKEND_X86      }, .flags = VE, .unit = 
"sws_backend" },
         { "aarch64",     "AArch64 NEON kernels",          0,                 
AV_OPT_TYPE_CONST,  { .i64  = SWS_BACKEND_AARCH64  }, .flags = VE, .unit = 
"sws_backend" },
         { "spirv",       "Vulkan SPIR-V backend",         0,                 
AV_OPT_TYPE_CONST,  { .i64  = SWS_BACKEND_SPIRV    }, .flags = VE, .unit = 
"sws_backend" },
-        { "glsl",        "Vulkan GLSL backend",           0,                 
AV_OPT_TYPE_CONST,  { .i64  = SWS_BACKEND_GLSL     }, .flags = VE, .unit = 
"sws_backend" },
 
     { NULL }
 };
diff --git a/libswscale/swscale.h b/libswscale/swscale.h
index 9b53ebbdff..c913e76985 100644
--- a/libswscale/swscale.h
+++ b/libswscale/swscale.h
@@ -118,13 +118,11 @@ typedef enum SwsBackend {
     SWS_BACKEND_X86         = (1 << 3), ///< Chained x86 SIMD kernels
     SWS_BACKEND_AARCH64     = (1 << 4), ///< Chained AArch64 NEON kernels
     SWS_BACKEND_SPIRV       = (1 << 5), ///< Vulkan SPIR-V backend
-    SWS_BACKEND_GLSL        = (1 << 6), ///< Vulkan GLSL backend
     SWS_BACKEND_UNSTABLE    = SWS_BACKEND_C |
                               SWS_BACKEND_MEMCPY |
                               SWS_BACKEND_X86 |
                               SWS_BACKEND_AARCH64 |
-                              SWS_BACKEND_SPIRV |
-                              SWS_BACKEND_GLSL,
+                              SWS_BACKEND_SPIRV,
 
     SWS_BACKEND_ALL = SWS_BACKEND_STABLE | SWS_BACKEND_UNSTABLE,
     SWS_BACKEND_MAX_ENUM = 0x7FFFFFFF, ///< force size to 32 bits, not a valid 
backend
diff --git a/libswscale/vulkan/Makefile b/libswscale/vulkan/Makefile
index e899f35955..396cdeb936 100644
--- a/libswscale/vulkan/Makefile
+++ b/libswscale/vulkan/Makefile
@@ -2,5 +2,3 @@ clean::
        $(RM) $(CLEANSUFFIXES:%=libswscale/vulkan/%)
 
 OBJS-$(CONFIG_VULKAN) += vulkan/ops.o vulkan/vulkan.o
-OBJS-$(CONFIG_LIBSHADERC) += vulkan/vulkan_shaderc.o
-OBJS-$(CONFIG_LIBGLSLANG) += vulkan/vulkan_glslang.o
diff --git a/libswscale/vulkan/ops.c b/libswscale/vulkan/ops.c
index 54f1c689eb..4206340273 100644
--- a/libswscale/vulkan/ops.c
+++ b/libswscale/vulkan/ops.c
@@ -35,10 +35,6 @@ static void ff_sws_vk_uninit(AVRefStructOpaque opaque, void 
*obj)
 {
     FFVulkanOpsCtx *s = obj;
 
-#if CONFIG_LIBSHADERC || CONFIG_LIBGLSLANG
-    if (s->spvc)
-        s->spvc->uninit(&s->spvc);
-#endif
     ff_vk_uninit(&s->vkctx);
 }
 
@@ -72,14 +68,6 @@ int ff_sws_vk_init(SwsContext *sws, AVBufferRef *dev_ref)
         return AVERROR(ENOTSUP);
     }
 
-#if CONFIG_LIBSHADERC || CONFIG_LIBGLSLANG
-    if (!s->spvc) {
-        s->spvc = ff_vk_spirv_init();
-        if (!s->spvc)
-            return AVERROR(ENOMEM);
-    }
-#endif
-
     return 0;
 }
 
@@ -1140,7 +1128,7 @@ static int add_ops_spirv(SwsContext *sws, VulkanPriv *p, 
FFVulkanOpsCtx *s,
 
         switch (op->op) {
         case SWS_OP_READ:
-            if (op->rw.frac || op->rw.filter.op) {
+            if (op->rw.frac) {
                 return AVERROR(ENOTSUP);
             } else if (op->rw.filter.op) {
                 av_assert0(op->rw.mode != SWS_RW_PALETTE);
@@ -1299,338 +1287,7 @@ static int add_ops_spirv(SwsContext *sws, VulkanPriv 
*p, FFVulkanOpsCtx *s,
 }
 #endif
 
-#if CONFIG_LIBSHADERC || CONFIG_LIBGLSLANG
-static void add_desc_read_write(FFVulkanDescriptorSetBinding *out_desc,
-                                enum FFVkShaderRepFormat *out_rep,
-                                const SwsOp *op)
-{
-    const char *img_type = op->type == SWS_PIXEL_F32 ? "rgba32f"  :
-                           op->type == SWS_PIXEL_U32 ? "rgba32ui" :
-                           op->type == SWS_PIXEL_U16 ? "rgba16ui" :
-                                                       "rgba8ui";
-
-    *out_desc = (FFVulkanDescriptorSetBinding) {
-        .name = op->op == SWS_OP_WRITE ? "dst_img" : "src_img",
-        .type = VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
-        .mem_layout = img_type,
-        .mem_quali = op->op == SWS_OP_WRITE ? "writeonly" : "readonly",
-        .dimensions = 2,
-        .elems = 4,
-        .stages = VK_SHADER_STAGE_COMPUTE_BIT,
-    };
-
-    *out_rep = op->type == SWS_PIXEL_F32 ? FF_VK_REP_FLOAT : FF_VK_REP_UINT;
-}
-
-#define QSTR "(%"PRId64"/%"PRId64"%s)"
-#define QTYPE(Q) (Q).num, (Q).den, cur_type == SWS_PIXEL_F32 ? ".0f" : ""
-
-static void read_glsl(const SwsOpList *ops, const SwsOp *op, FFVulkanShader 
*shd,
-                      int idx, const char *type_name,
-                      const char *type_v, const char *type_s)
-{
-    const SwsFilterWeights *wd = op->rw.filter.kernel;
-    const int interlaced = ops->src.interlaced;
-    if (op->rw.filter.op) {
-        const char *axis    = op->rw.filter.op == SWS_OP_FILTER_H ? "pos.x" : 
"pos.y";
-        const char *coord_x = op->rw.filter.op == SWS_OP_FILTER_H ? "o + i" : 
"pos.x";
-        const char *coord_y;
-        if (op->rw.filter.op == SWS_OP_FILTER_H)
-            coord_y = interlaced ? "spos.y" : "pos.y";
-        else
-            coord_y = interlaced ? "((o + i) * 2 + int(params.field))" : "o + 
i";
-        GLSLC(1, tmp = vec4(0);                                               
);
-        av_bprintf(&shd->src, "    int o = filter_o%i[%s];\n", idx, axis);
-        av_bprintf(&shd->src, "    for (int i = 0; i < %i; i++) {\n",
-                   wd->filter_size);
-        av_bprintf(&shd->src, "        float w = filter_w%i[%s][i];\n",
-                   idx, axis);
-        if (op->rw.mode == SWS_RW_PACKED) {
-            GLSLF(2, tmp += w * %s(imageLoad(src_img[%i], ivec2(%s, %s)));     
,
-                  type_v, ops->plane_src[0], coord_x, coord_y);
-        } else {
-            for (int i = 0; i < op->rw.elems; i++)
-                GLSLF(2,
-                      tmp.%c += w * %s(imageLoad(src_img[%i], ivec2(%s, 
%s))[0]); ,
-                      "xyzw"[i], type_s, ops->plane_src[i], coord_x, coord_y);
-        }
-        GLSLC(1, }                                                            
);
-        GLSLC(1, f32 = tmp;                                                   
);
-    } else {
-        const char *src_pos = interlaced ? "spos" : "pos";
-        if (op->rw.mode == SWS_RW_PACKED) {
-            GLSLF(1, %s = %s(imageLoad(src_img[%i], %s));                      
,
-                  type_name, type_v, ops->plane_src[0], src_pos);
-        } else {
-            for (int i = 0; i < op->rw.elems; i++)
-                GLSLF(1, %s.%c = %s(imageLoad(src_img[%i], %s)[0]);            
,
-                      type_name, "xyzw"[i], type_s, ops->plane_src[i], 
src_pos);
-        }
-    }
-}
-
-static int add_ops_glsl(SwsContext *sws, VulkanPriv *p, FFVulkanOpsCtx *s,
-                        const SwsOpList *ops, FFVulkanShader *shd)
-{
-    int err;
-    uint8_t *spv_data;
-    size_t spv_len;
-    void *spv_opaque = NULL;
-    const int interlaced = ops->src.interlaced || ops->dst.interlaced;
-
-    err = ff_vk_shader_init(&s->vkctx, shd, "sws_pass",
-                            VK_SHADER_STAGE_COMPUTE_BIT,
-                            NULL, 0, 32, 32, 1, 0);
-    if (err < 0)
-        return err;
-
-    p->interlaced = interlaced;
-    if (interlaced)
-        ff_vk_shader_add_push_const(shd, 0, sizeof(uint32_t),
-                                    VK_SHADER_STAGE_COMPUTE_BIT);
-
-    int nb_desc = 0;
-    FFVulkanDescriptorSetBinding buf_desc[8];
-
-    const SwsOp *read  = ff_sws_op_list_input(ops);
-    const SwsOp *write = ff_sws_op_list_output(ops);
-    if (read)
-        add_desc_read_write(&buf_desc[nb_desc++], &p->src_rep, read);
-    add_desc_read_write(&buf_desc[nb_desc++], &p->dst_rep, write);
-    ff_vk_shader_add_descriptor_set(&s->vkctx, shd, buf_desc, nb_desc, 0, 0);
-
-    err = create_bufs(s, p, ops);
-    if (err < 0)
-        return err;
-
-    nb_desc = 0;
-    char data_buf_name[MAX_DATA_BUFS][256];
-    char data_str_name[MAX_DATA_BUFS][256];
-    for (int n = 0; n < ops->num_ops; n++) {
-        const SwsOp *op = &ops->ops[n];
-        if (op->op == SWS_OP_DITHER) {
-            int size = (1 << op->dither.size_log2);
-            av_assert0(size < 8192);
-            snprintf(data_buf_name[nb_desc], 256, "dither_buf%i", n);
-            snprintf(data_str_name[nb_desc], 256, "float 
dither_mat%i[%i][%i];",
-                     n, size, size);
-            buf_desc[nb_desc] = (FFVulkanDescriptorSetBinding) {
-                .name        = data_buf_name[nb_desc],
-                .type        = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
-                .stages      = VK_SHADER_STAGE_COMPUTE_BIT,
-                .mem_layout  = "scalar",
-                .buf_content = data_str_name[nb_desc],
-            };
-            nb_desc++;
-        } else if (op->op == SWS_OP_FILTER_H || op->op == SWS_OP_FILTER_V ||
-                   ((op->op == SWS_OP_READ || op->op == SWS_OP_WRITE) &&
-                    op->rw.filter.op)) {
-            const SwsFilterWeights *wd = (op->op == SWS_OP_READ ||
-                                          op->op == SWS_OP_WRITE) ?
-                                         op->rw.filter.kernel : 
op->filter.kernel;
-            snprintf(data_buf_name[nb_desc], 256, "filter_buf%i", n);
-            snprintf(data_str_name[nb_desc], 256,
-                     "float filter_w%i[%i][%i];\n"
-                 "    int filter_o%i[%i];",
-                     n, wd->dst_size, wd->filter_size,
-                     n, wd->dst_size);
-            buf_desc[nb_desc] = (FFVulkanDescriptorSetBinding) {
-                .name        = data_buf_name[nb_desc],
-                .type        = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
-                .stages      = VK_SHADER_STAGE_COMPUTE_BIT,
-                .mem_layout  = "scalar",
-                .buf_content = data_str_name[nb_desc],
-            };
-            nb_desc++;
-        }
-    }
-    if (nb_desc)
-        ff_vk_shader_add_descriptor_set(&s->vkctx, shd, buf_desc,
-                                        nb_desc, 1, 0);
-
-    if (interlaced) {
-        GLSLC(0, layout(push_constant, std430) uniform pushConstants {        
);
-        GLSLC(1,     uint field;                                              
);
-        GLSLC(0, } params;                                                    
);
-        GLSLC(0,                                                              
);
-    }
-
-    GLSLC(0, void main()                                                      
);
-    GLSLC(0, {                                                                
);
-    GLSLC(1,     ivec2 pos = ivec2(gl_GlobalInvocationID.xy);                 
);
-    GLSLC(1,     ivec2 size = imageSize(dst_img[0]);                          
);
-    if (ops->src.interlaced)
-        GLSLC(1, ivec2 spos = ivec2(pos.x, pos.y * 2 + int(params.field));    
);
-    if (ops->dst.interlaced)
-        GLSLC(1, ivec2 dpos = ivec2(pos.x, pos.y * 2 + int(params.field));    
);
-    if (ops->dst.interlaced) {
-        GLSLC(1, if (any(greaterThanEqual(dpos, size)))                       
);
-    } else {
-        GLSLC(1, if (any(greaterThanEqual(pos, size)))                        
);
-    }
-    GLSLC(2,         return;                                                  
);
-    GLSLC(0,                                                                  
);
-    GLSLC(1,     u8vec4 u8;                                                   
);
-    GLSLC(1,     u16vec4 u16;                                                 
);
-    GLSLC(1,     u32vec4 u32;                                                 
);
-    GLSLC(1,     precise f32vec4 f32;                                         
);
-    GLSLC(1,     precise f32vec4 tmp;                                         
);
-    GLSLC(0,                                                                  
);
-
-    for (int n = 0; n < ops->num_ops; n++) {
-        const SwsOp *op = &ops->ops[n];
-        SwsPixelType cur_type = op->op == SWS_OP_CONVERT ? op->convert.to :
-                                op->type;
-        const char *type_name = ff_sws_pixel_type_name(cur_type);
-        const char *type_v = cur_type == SWS_PIXEL_F32 ? "f32vec4" :
-                             cur_type == SWS_PIXEL_U32 ? "u32vec4" :
-                             cur_type == SWS_PIXEL_U16 ? "u16vec4" : "u8vec4";
-        const char *type_s = cur_type == SWS_PIXEL_F32 ? "float" :
-                             cur_type == SWS_PIXEL_U32 ? "uint32_t" :
-                             cur_type == SWS_PIXEL_U16 ? "uint16_t" : 
"uint8_t";
-        av_bprintf(&shd->src, "    // %s\n", ff_sws_op_type_name(op->op));
-
-        switch (op->op) {
-        case SWS_OP_READ: {
-            if (op->rw.frac)
-                return AVERROR(ENOTSUP);
-            switch (op->rw.mode) {
-            case SWS_RW_PLANAR:
-            case SWS_RW_PACKED:
-                read_glsl(ops, op, shd, n, type_name, type_v, type_s);
-                break;
-            default:
-                return AVERROR(ENOTSUP);
-            }
-            break;
-        }
-        case SWS_OP_WRITE: {
-            const char *dst_pos = ops->dst.interlaced ? "dpos" : "pos";
-            if (op->rw.frac || op->rw.filter.op) {
-                return AVERROR(ENOTSUP);
-            } else if (op->rw.mode == SWS_RW_PACKED) {
-                GLSLF(1, imageStore(dst_img[%i], %s, %s(%s));                  
 ,
-                      ops->plane_dst[0], dst_pos, type_v, type_name);
-            } else {
-                for (int i = 0; i < op->rw.elems; i++)
-                    GLSLF(1, imageStore(dst_img[%i], %s, %s(%s[%i]));          
 ,
-                          ops->plane_dst[i], dst_pos, type_v, type_name, i);
-            }
-            break;
-        }
-        case SWS_OP_SWIZZLE: {
-            av_bprintf(&shd->src, "    %s = %s.", type_name, type_name);
-            for (int i = 0; i < 4; i++)
-                av_bprintf(&shd->src, "%c", "xyzw"[op->swizzle.in[i]]);
-            av_bprintf(&shd->src, ";\n");
-            break;
-        }
-        case SWS_OP_CLEAR: {
-            for (int i = 0; i < 4; i++) {
-                if (!SWS_COMP_TEST(op->clear.mask, i))
-                    continue;
-                av_bprintf(&shd->src, "    %s.%c = %s"QSTR";\n", type_name,
-                           "xyzw"[i], type_s, QTYPE(op->clear.value[i]));
-            }
-            break;
-        }
-        case SWS_OP_SCALE:
-            av_bprintf(&shd->src, "    %s = %s * "QSTR";\n",
-                       type_name, type_name, QTYPE(op->scale.factor));
-            break;
-        case SWS_OP_MIN:
-        case SWS_OP_MAX:
-            for (int i = 0; i < 4; i++) {
-                if (!op->clamp.limit[i].den)
-                    continue;
-                av_bprintf(&shd->src, "    %s.%c = %s(%s.%c, "QSTR");\n",
-                           type_name, "xyzw"[i],
-                           op->op == SWS_OP_MIN ? "min" : "max",
-                           type_name, "xyzw"[i], QTYPE(op->clamp.limit[i]));
-            }
-            break;
-        case SWS_OP_LSHIFT:
-        case SWS_OP_RSHIFT:
-            av_bprintf(&shd->src, "    %s %s= %i;\n", type_name,
-                       op->op == SWS_OP_LSHIFT ? "<<" : ">>", 
op->shift.amount);
-            break;
-        case SWS_OP_CONVERT:
-            if (ff_sws_pixel_type_is_int(cur_type) && op->convert.expand) {
-                const AVRational64 sc = ff_sws_pixel_expand(op->type, 
op->convert.to);
-                av_bprintf(&shd->src, "    %s = 
%s((%s*%"PRId64")/%"PRId64");\n",
-                           type_name, type_v, ff_sws_pixel_type_name(op->type),
-                           sc.num, sc.den);
-            } else {
-                av_bprintf(&shd->src, "    %s = %s(%s);\n",
-                           type_name, type_v, 
ff_sws_pixel_type_name(op->type));
-            }
-            break;
-        case SWS_OP_DITHER: {
-            int size = (1 << op->dither.size_log2);
-            for (int i = 0; i < 4; i++) {
-                if (op->dither.y_offset[i] < 0)
-                    continue;
-                av_bprintf(&shd->src, "    %s.%c += dither_mat%i[(pos.y + %i) 
& %i]"
-                                                                "[pos.x & 
%i];\n",
-                           type_name, "xyzw"[i], n,
-                           op->dither.y_offset[i], size - 1,
-                           size - 1);
-            }
-            break;
-        }
-        case SWS_OP_LINEAR:
-            for (int i = 0; i < 4; i++) {
-                if (op->lin.m[i][4].num)
-                    av_bprintf(&shd->src, "    tmp.%c = "QSTR";\n", "xyzw"[i],
-                               QTYPE(op->lin.m[i][4]));
-                else
-                    av_bprintf(&shd->src, "    tmp.%c = 0;\n", "xyzw"[i]);
-                for (int j = 0; j < 4; j++) {
-                    if (!op->lin.m[i][j].num)
-                        continue;
-                    av_bprintf(&shd->src, "    tmp.%c += f32.%c*"QSTR";\n",
-                               "xyzw"[i], "xyzw"[j], QTYPE(op->lin.m[i][j]));
-                }
-            }
-            av_bprintf(&shd->src, "    f32 = tmp;\n");
-            break;
-        case SWS_OP_UNPACK:
-            /* MSB->LSB indexing */
-            av_bprintf(&shd->src, "    %s = %s.%s;\n", type_name, type_name,
-                       ops->src.format == AV_PIX_FMT_X2BGR10 ? "wzyx" : 
"wxyz");
-            break;
-        case SWS_OP_PACK:
-            /* LSB->MSB indexing */
-            av_bprintf(&shd->src, "    %s = %s.%s;\n", type_name, type_name,
-                       ops->dst.format == AV_PIX_FMT_X2BGR10 ? "wzyx" : 
"yzwx");
-            break;
-        default:
-            return AVERROR(ENOTSUP);
-        }
-    }
-
-    GLSLC(0, }                                                                
);
-
-    err = s->spvc->compile_shader(&s->vkctx, s->spvc, shd,
-                                  &spv_data, &spv_len, "main",
-                                  &spv_opaque);
-    if (err < 0)
-        return err;
-
-    err = ff_vk_shader_link(&s->vkctx, shd, spv_data, spv_len, "main");
-
-    if (spv_opaque)
-        s->spvc->free_shader(s->spvc, &spv_opaque);
-
-    if (err < 0)
-        return err;
-
-    return 0;
-}
-#endif
-
-static int compile(SwsContext *sws, const SwsOpList *ops, SwsCompiledOp *out,
-                   int glsl)
+static int compile(SwsContext *sws, const SwsOpList *ops, SwsCompiledOp *out)
 {
     int err;
     SwsInternal *c = sws_internal(sws);
@@ -1648,17 +1305,10 @@ static int compile(SwsContext *sws, const SwsOpList 
*ops, SwsCompiledOp *out,
     if (err < 0)
         goto fail;
 
-    if (glsl) {
-        err = AVERROR(ENOTSUP);
-#if CONFIG_LIBSHADERC || CONFIG_LIBGLSLANG
-        err = add_ops_glsl(sws, p, s, ops, &p->shd);
-#endif
-    } else {
-        err = AVERROR(ENOTSUP);
+    err = AVERROR(ENOTSUP);
 #if HAVE_SPIRV_HEADERS_SPIRV_H || HAVE_SPIRV_UNIFIED1_SPIRV_H
-        err = add_ops_spirv(sws, p, s, ops, &p->shd);
+    err = add_ops_spirv(sws, p, s, ops, &p->shd);
 #endif
-    }
     if (err < 0)
         goto fail;
 
@@ -1689,7 +1339,7 @@ fail:
 static int compile_spirv(SwsContext *sws, const SwsOpList *ops,
                          SwsCompiledOp *out)
 {
-    return compile(sws, ops, out, 0);
+    return compile(sws, ops, out);
 }
 
 const SwsOpBackend backend_spirv = {
@@ -1699,18 +1349,3 @@ const SwsOpBackend backend_spirv = {
     .hw_format = AV_PIX_FMT_VULKAN,
 };
 #endif
-
-#if CONFIG_LIBSHADERC || CONFIG_LIBGLSLANG
-static int compile_glsl(SwsContext *sws, const SwsOpList *ops,
-                        SwsCompiledOp *out)
-{
-    return compile(sws, ops, out, 1);
-}
-
-const SwsOpBackend backend_glsl = {
-    .name      = "glsl",
-    .flags     = SWS_BACKEND_GLSL,
-    .compile   = compile_glsl,
-    .hw_format = AV_PIX_FMT_VULKAN,
-};
-#endif
diff --git a/libswscale/vulkan/ops.h b/libswscale/vulkan/ops.h
index 6c9ae6c7fd..26596bee5f 100644
--- a/libswscale/vulkan/ops.h
+++ b/libswscale/vulkan/ops.h
@@ -24,16 +24,9 @@
 #include "libavutil/vulkan.h"
 #include "../swscale.h"
 
-#if CONFIG_LIBSHADERC || CONFIG_LIBGLSLANG
-#include "libavutil/vulkan_spirv.h"
-#endif
-
 typedef struct FFVulkanOpsCtx {
     FFVulkanContext vkctx;
     AVVulkanDeviceQueueFamily *qf;
-#if CONFIG_LIBSHADERC || CONFIG_LIBGLSLANG
-    FFVkSPIRVCompiler *spvc;
-#endif
 } FFVulkanOpsCtx;
 
 int ff_sws_vk_init(SwsContext *sws, AVBufferRef *dev_ref);
diff --git a/libswscale/vulkan/vulkan_glslang.c 
b/libswscale/vulkan/vulkan_glslang.c
deleted file mode 100644
index 9aa41567a3..0000000000
--- a/libswscale/vulkan/vulkan_glslang.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * This file is part of FFmpeg.
- *
- * FFmpeg is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * FFmpeg is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "libavutil/vulkan_glslang.c"
diff --git a/libswscale/vulkan/vulkan_shaderc.c 
b/libswscale/vulkan/vulkan_shaderc.c
deleted file mode 100644
index 9f60bf4dfd..0000000000
--- a/libswscale/vulkan/vulkan_shaderc.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * This file is part of FFmpeg.
- *
- * FFmpeg is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * FFmpeg is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "libavutil/vulkan_shaderc.c"

_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to