[FFmpeg-cvslog] vulkan: always enable GL_EXT_scalar_block_layout

Lynne git at videolan.org
Fri Oct 4 11:28:27 EEST 2024


ffmpeg | branch: master | Lynne <dev at lynne.ee> | Sun Sep 29 07:31:25 2024 +0200| [d80f9f55c8a73491e6c0aa6d822295c29bf74a06] | committer: Lynne

vulkan: always enable GL_EXT_scalar_block_layout

This makes std430 (which we use everywhere already) fully match C
layout.
Extension was made mandatory in 1.2.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d80f9f55c8a73491e6c0aa6d822295c29bf74a06
---

 libavutil/hwcontext_vulkan.c | 1 +
 libavutil/vulkan.c           | 1 +
 2 files changed, 2 insertions(+)

diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index f6d6ff6cb1..d6500de677 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -1501,6 +1501,7 @@ static int vulkan_device_create_internal(AVHWDeviceContext *ctx,
     p->device_features_1_1.uniformAndStorageBuffer16BitAccess = dev_features_1_1.uniformAndStorageBuffer16BitAccess;
 
     p->device_features_1_2.timelineSemaphore = 1;
+    p->device_features_1_2.scalarBlockLayout = dev_features_1_2.scalarBlockLayout;
     p->device_features_1_2.bufferDeviceAddress = dev_features_1_2.bufferDeviceAddress;
     p->device_features_1_2.hostQueryReset = dev_features_1_2.hostQueryReset;
     p->device_features_1_2.storagePushConstant8 = dev_features_1_2.storagePushConstant8;
diff --git a/libavutil/vulkan.c b/libavutil/vulkan.c
index 1dc168e645..c6aa6cdd10 100644
--- a/libavutil/vulkan.c
+++ b/libavutil/vulkan.c
@@ -1478,6 +1478,7 @@ int ff_vk_shader_init(FFVulkanContext *s, FFVulkanShader *shd, const char *name,
     /* Common utilities */
     GLSLC(0, #define IS_WITHIN(v1, v2) ((v1.x < v2.x) && (v1.y < v2.y))       );
     GLSLC(0,                                                                  );
+    GLSLC(0, #extension GL_EXT_scalar_block_layout : require                  );
     GLSLC(0, #extension GL_EXT_buffer_reference : require                     );
     GLSLC(0, #extension GL_EXT_buffer_reference2 : require                    );
 



More information about the ffmpeg-cvslog mailing list