From: Marek Olšák Date: Mon, 19 Jun 2017 23:21:19 +0000 (+0200) Subject: radeonsi: use #pragma pack to pack si_shader_key X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f9a7e7fe144767219d6722d79cc75330dc888106;p=mesa.git radeonsi: use #pragma pack to pack si_shader_key sizeof(struct si_shader_key): Before reverting the 2 commits: 120 bytes After reverting the 2 commits: 128 bytes With #pragma pack: 107 bytes Reviewed-by: Nicolai Hähnle --- diff --git a/src/gallium/drivers/radeonsi/si_shader.h b/src/gallium/drivers/radeonsi/si_shader.h index 185bb8d6251..64321265cf9 100644 --- a/src/gallium/drivers/radeonsi/si_shader.h +++ b/src/gallium/drivers/radeonsi/si_shader.h @@ -378,6 +378,11 @@ struct si_shader_selector { * -> = merged with the next stage */ +/* Use the byte alignment for all following structure members for optimal + * shader key memory footprint. + */ +#pragma pack(push, 1) + /* Common VS bits between the shader key and the prolog key. */ struct si_vs_prolog_bits { unsigned instance_divisors[SI_MAX_ATTRIBS]; @@ -514,6 +519,9 @@ struct si_shader_key { } opt; }; +/* Restore the pack alignment to default. */ +#pragma pack(pop) + struct si_shader_config { unsigned num_sgprs; unsigned num_vgprs;