From e34fa5951d9c8f5e37831520eb9184da0db88548 Mon Sep 17 00:00:00 2001 From: Mauro Rossi Date: Thu, 2 Apr 2026 17:44:25 -0400 Subject: [PATCH] radv: Fix gnu-empty-initializer error in radv_shader_object.c Fixes the following building error happening with clang: FAILED: src/amd/vulkan/libvulkan_radeon.so.p/radv_shader_object.c.o ... ../src/amd/vulkan/radv_shader_object.c:163:72: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer] struct radv_shader_debug_info debug[MESA_VULKAN_SHADER_STAGES] = {}; ^ ../src/amd/vulkan/radv_shader_object.c:164:53: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer] struct radv_shader_debug_info gs_copy_debug = {}; ^ ../src/amd/vulkan/radv_shader_object.c:192:75: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer] struct radv_shader_debug_info debug[MESA_VULKAN_SHADER_STAGES] = {}; ^ ../src/amd/vulkan/radv_shader_object.c:193:56: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer] struct radv_shader_debug_info gs_copy_debug = {}; ^ ../src/amd/vulkan/radv_shader_object.c:246:43: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer] struct radv_shader_debug_info cs_dbg = {}; ^ ../src/amd/vulkan/radv_shader_object.c:465:69: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer] struct radv_shader_debug_info debug[MESA_VULKAN_SHADER_STAGES] = {}; ^ ../src/amd/vulkan/radv_shader_object.c:468:50: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer] struct radv_shader_debug_info gs_copy_debug = {}; ^ 7 errors generated. Fixes: 06b9660b ("radv: move radv_shader_create out of radv_compute_pipeline_compile") Fixes: 2260105b ("radv: move radv_shader_create out of radv_graphics_shaders_compile") Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_shader_object.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/amd/vulkan/radv_shader_object.c b/src/amd/vulkan/radv_shader_object.c index 982527dacdb..8cb38b1286c 100644 --- a/src/amd/vulkan/radv_shader_object.c +++ b/src/amd/vulkan/radv_shader_object.c @@ -160,8 +160,8 @@ radv_shader_object_init_graphics(struct radv_shader_object *shader_obj, struct r if (!pCreateInfo->nextStage) { struct radv_shader *shaders[MESA_VULKAN_SHADER_STAGES] = {NULL}; struct radv_shader_binary *binaries[MESA_VULKAN_SHADER_STAGES] = {NULL}; - struct radv_shader_debug_info debug[MESA_VULKAN_SHADER_STAGES] = {}; - struct radv_shader_debug_info gs_copy_debug = {}; + struct radv_shader_debug_info debug[MESA_VULKAN_SHADER_STAGES] = {0}; + struct radv_shader_debug_info gs_copy_debug = {0}; radv_graphics_shaders_compile(device, NULL, stages, &gfx_state, false, false, false, NULL, false, debug, binaries, &gs_copy_debug, &shader_obj->gs.copy_binary); @@ -189,8 +189,8 @@ radv_shader_object_init_graphics(struct radv_shader_object *shader_obj, struct r radv_foreach_stage (next_stage, next_stages) { struct radv_shader *shaders[MESA_VULKAN_SHADER_STAGES] = {NULL}; struct radv_shader_binary *binaries[MESA_VULKAN_SHADER_STAGES] = {NULL}; - struct radv_shader_debug_info debug[MESA_VULKAN_SHADER_STAGES] = {}; - struct radv_shader_debug_info gs_copy_debug = {}; + struct radv_shader_debug_info debug[MESA_VULKAN_SHADER_STAGES] = {0}; + struct radv_shader_debug_info gs_copy_debug = {0}; radv_shader_stage_init(pCreateInfo, &stages[stage]); stages[stage].next_stage = next_stage; @@ -243,7 +243,7 @@ radv_shader_object_init_compute(struct radv_shader_object *shader_obj, struct ra radv_shader_stage_init(pCreateInfo, &stage); - struct radv_shader_debug_info cs_dbg = {}; + struct radv_shader_debug_info cs_dbg = {0}; struct radv_shader_binary *cs_binary = radv_compile_cs(device, &stage, false, false, false, &cs_dbg); struct radv_shader *cs_shader = radv_shader_create(device, NULL, cs_binary, true, &cs_dbg); @@ -462,10 +462,10 @@ radv_shader_object_create_linked(VkDevice _device, uint32_t createInfoCount, con struct radv_shader *shaders[MESA_VULKAN_SHADER_STAGES] = {NULL}; struct radv_shader_binary *binaries[MESA_VULKAN_SHADER_STAGES] = {NULL}; - struct radv_shader_debug_info debug[MESA_VULKAN_SHADER_STAGES] = {}; + struct radv_shader_debug_info debug[MESA_VULKAN_SHADER_STAGES] = {0}; struct radv_shader *gs_copy_shader = NULL; struct radv_shader_binary *gs_copy_binary = NULL; - struct radv_shader_debug_info gs_copy_debug = {}; + struct radv_shader_debug_info gs_copy_debug = {0}; radv_graphics_shaders_compile(device, NULL, stages, &gfx_state, false, false, false, NULL, false, debug, binaries, &gs_copy_debug, &gs_copy_binary);