mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 21:08:11 +02:00
mesa: Shrink the size of the enum string lookup struct.
Since it's only used for debug information, we can misalign the struct and save the disk space. Another 19k on a 64-bit build. v2: Make a compiler.h macro to only use the attribute if we know we can. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@.intel.com>
This commit is contained in:
parent
c0378b6400
commit
673129e0b9
2 changed files with 13 additions and 2 deletions
|
|
@ -47,8 +47,8 @@ class PrintGlEnums(gl_XML.gl_print_base):
|
|||
print '#include "main/imports.h"'
|
||||
print '#include "main/mtypes.h"'
|
||||
print ''
|
||||
print 'typedef struct {'
|
||||
print ' size_t offset;'
|
||||
print 'typedef struct PACKED {'
|
||||
print ' uint16_t offset;'
|
||||
print ' int n;'
|
||||
print '} enum_elt;'
|
||||
print ''
|
||||
|
|
@ -78,6 +78,8 @@ static char token_tmp[20];
|
|||
|
||||
const char *_mesa_lookup_enum_by_nr( int nr )
|
||||
{
|
||||
STATIC_ASSERT(sizeof(enum_string_table) < (1 << 16));
|
||||
|
||||
enum_elt *elt = _mesa_bsearch(& nr, enum_string_table_offsets,
|
||||
Elements(enum_string_table_offsets),
|
||||
sizeof(enum_string_table_offsets[0]),
|
||||
|
|
|
|||
|
|
@ -270,6 +270,15 @@ static INLINE GLuint CPU_TO_LE32(GLuint x)
|
|||
#define NULL 0
|
||||
#endif
|
||||
|
||||
/* Used to optionally mark structures with misaligned elements or size as
|
||||
* packed, to trade off performance for space.
|
||||
*/
|
||||
#if (__GNUC__ >= 3)
|
||||
#define PACKED __attribute__((__packed__))
|
||||
#else
|
||||
#define PACKED
|
||||
#endif
|
||||
|
||||
|
||||
/**
|
||||
* LONGSTRING macro
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue