radv: Fix gnu-empty-initializer error in radv_shader_object.c
Some checks failed
macOS-CI / macOS-CI (dri) (push) Has been cancelled
macOS-CI / macOS-CI (xlib) (push) Has been cancelled

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 <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40772>
This commit is contained in:
Mauro Rossi 2026-04-02 17:44:25 -04:00 committed by Marge Bot
parent f7698f2b4a
commit e34fa5951d

View file

@ -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);