From f9a7e7fe144767219d6722d79cc75330dc888106 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Tue, 20 Jun 2017 01:21:19 +0200 Subject: radeonsi: use #pragma pack to pack si_shader_key MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/gallium/drivers/radeonsi/si_shader.h | 8 ++++++++ 1 file changed, 8 insertions(+) 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; -- cgit v1.2.3