radv: add padding to radv_shader_binary_legacy
authorDaniel Schürmann <daniel@schuermann.dev>
Thu, 27 Apr 2023 13:24:55 +0000 (15:24 +0200)
committerMarge Bot <emma+marge@anholt.net>
Tue, 2 May 2023 14:33:56 +0000 (14:33 +0000)
This fixes an alignment mismatch in radv_shader_serialize()

Fixes: 577d76f60f788c3a8d43b4b388bb5a04e4e64994 ('radv: add radv_shader_serialize() and radv_shader_deserialize() functions')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22735>

src/amd/vulkan/radv_shader.h

index a46f217..4941d43 100644 (file)
@@ -450,11 +450,15 @@ struct radv_shader_binary_legacy {
    uint32_t ir_size;
    uint32_t disasm_size;
    uint32_t stats_size;
+   uint32_t padding;
 
    /* data has size of stats_size + code_size + ir_size + disasm_size + 2,
     * where the +2 is for 0 of the ir strings. */
    uint8_t data[0];
 };
+static_assert(sizeof(struct radv_shader_binary_legacy) ==
+                 offsetof(struct radv_shader_binary_legacy, data),
+              "Unexpected padding");
 
 struct radv_shader_binary_rtld {
    struct radv_shader_binary base;