PR #21438 opened by Lynne
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21438
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21438.patch


>From ab66bc577681336e4a5e1d1811c251300ddeb621 Mon Sep 17 00:00:00 2001
From: Lynne <[email protected]>
Date: Mon, 12 Jan 2026 19:18:00 +0100
Subject: [PATCH 1/2] Makefile: add missing vpath for glsl/spv

Similar to CUDA. Fixes building on some systems.
---
 Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Makefile b/Makefile
index f563a37fca..01c04d6bba 100644
--- a/Makefile
+++ b/Makefile
@@ -11,6 +11,8 @@ vpath %.asm  $(SRC_PATH)
 vpath %.rc   $(SRC_PATH)
 vpath %.v    $(SRC_PATH)
 vpath %.texi $(SRC_PATH)
+vpath %.glsl $(SRC_PATH)
+vpath %.spv  $(SRC_PATH)
 vpath %.cu   $(SRC_PATH)
 vpath %.ptx  $(SRC_PATH)
 vpath %.metal $(SRC_PATH)
-- 
2.49.1


>From 2e448e4462ce2419fed0cc1a4efa610f4cdcc060 Mon Sep 17 00:00:00 2001
From: Lynne <[email protected]>
Date: Mon, 12 Jan 2026 19:37:33 +0100
Subject: [PATCH 2/2] vulkan/dpx: drop using the nontemporal extension

Its rarely respected by implementations, its fairly new (1 year old),
and it has a scuffed define (neither glslc nor glslang enable the
"GL_EXT_nontemporal_keyword" define if its enabled, unlike all other 
extensions).
---
 libavcodec/vulkan/dpx_copy.comp.glsl   | 7 +++----
 libavcodec/vulkan/dpx_unpack.comp.glsl | 3 +--
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/libavcodec/vulkan/dpx_copy.comp.glsl 
b/libavcodec/vulkan/dpx_copy.comp.glsl
index 3903d35944..d9651dbfdf 100644
--- a/libavcodec/vulkan/dpx_copy.comp.glsl
+++ b/libavcodec/vulkan/dpx_copy.comp.glsl
@@ -21,7 +21,6 @@
 #version 460
 #pragma shader_stage(compute)
 #extension GL_GOOGLE_include_directive : require
-#extension GL_EXT_nontemporal_keyword : require
 
 #include "common.comp"
 
@@ -29,13 +28,13 @@ layout (constant_id = 0) const bool big_endian = false;
 layout (constant_id = 1) const int type_bits = 0;
 
 layout (set = 0, binding = 0) uniform writeonly uimage2D dst[];
-layout (set = 0, binding = 1, scalar) nontemporal readonly buffer data_buf8 {
+layout (set = 0, binding = 1, scalar) readonly buffer data_buf8 {
     uint8_t data8[];
 };
-layout (set = 0, binding = 2, scalar) nontemporal readonly buffer data_buf16 {
+layout (set = 0, binding = 2, scalar) readonly buffer data_buf16 {
     uint16_t data16[];
 };
-layout (set = 0, binding = 3, scalar) nontemporal readonly buffer data_buf32 {
+layout (set = 0, binding = 3, scalar) readonly buffer data_buf32 {
     uint32_t data32[];
 };
 
diff --git a/libavcodec/vulkan/dpx_unpack.comp.glsl 
b/libavcodec/vulkan/dpx_unpack.comp.glsl
index e722899d04..93fda6142d 100644
--- a/libavcodec/vulkan/dpx_unpack.comp.glsl
+++ b/libavcodec/vulkan/dpx_unpack.comp.glsl
@@ -21,7 +21,6 @@
 #version 460
 #pragma shader_stage(compute)
 #extension GL_GOOGLE_include_directive : require
-#extension GL_EXT_nontemporal_keyword : require
 
 #include "common.comp"
 
@@ -29,7 +28,7 @@ layout (constant_id = 0) const bool big_endian = false;
 layout (constant_id = 1) const bool packed_10bit = false;
 
 layout (set = 0, binding = 0) uniform writeonly uimage2D dst[];
-layout (set = 0, binding = 1, scalar) nontemporal readonly buffer data_buf {
+layout (set = 0, binding = 1, scalar) readonly buffer data_buf {
     uint32_t data[];
 };
 
-- 
2.49.1

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

Reply via email to