diff options
author | Marek Olšák <[email protected]> | 2017-06-20 01:21:19 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2017-06-27 18:45:07 +0200 |
commit | f9a7e7fe144767219d6722d79cc75330dc888106 (patch) | |
tree | db8c4500a4362471f67db897fcc18831fef2c325 /src/gallium/drivers | |
parent | 77d2a98353462241306452cc36229f891c4b5af6 (diff) |
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 <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_shader.h | 8 |
1 files changed, 8 insertions, 0 deletions
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; |