aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorDavid Pinedo <david@lunarg.com>2018-02-28 16:20:42 -0700
committerMike Schuchardt <mikes@lunarg.com>2018-03-09 13:54:31 -0700
commit4e76380c42e33813af1b6d4b7e9e56eef233000a (patch)
tree5bd06263f432f423bd7bd6eb9e24a7bc2658a94e /scripts
parentd9031c458f8d4b4e75d744ad19eceb231277dada (diff)
downloadusermoji-4e76380c42e33813af1b6d4b7e9e56eef233000a.tar.xz
scripts: Roundup strings sizes in struct to multiple of 4
vktrace layer needs strings sizes to be multiple of 4 for data alignment in the trace file.
Diffstat (limited to 'scripts')
-rw-r--r--scripts/helper_file_generator.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/scripts/helper_file_generator.py b/scripts/helper_file_generator.py
index 7e0876d8..ab0ceed5 100644
--- a/scripts/helper_file_generator.py
+++ b/scripts/helper_file_generator.py
@@ -530,10 +530,10 @@ class HelperFileOutputGenerator(OutputGenerator):
if member.len is not None:
struct_size_funcs, counter_declared = self.DeclareCounter(struct_size_funcs, counter_declared)
struct_size_funcs += ' for (i = 0; i < struct_ptr->%s; i++) {\n' % member.len
- struct_size_funcs += ' struct_size += (sizeof(char*) + (sizeof(char) * (1 + strlen(struct_ptr->%s[i]))));\n' % (member.name)
+ struct_size_funcs += ' struct_size += (sizeof(char*) + ROUNDUP_TO_4((sizeof(char) * (1 + strlen(struct_ptr->%s[i])))));\n' % (member.name)
struct_size_funcs += ' }\n'
else:
- struct_size_funcs += ' struct_size += (struct_ptr->%s != NULL) ? sizeof(char)*(1+strlen(struct_ptr->%s)) : 0;\n' % (member.name, member.name)
+ struct_size_funcs += ' struct_size += (struct_ptr->%s != NULL) ? ROUNDUP_TO_4(sizeof(char)*(1+strlen(struct_ptr->%s))) : 0;\n' % (member.name, member.name)
else:
if member.len is not None:
# Avoid using 'sizeof(void)', which generates compile-time warnings/errors
@@ -560,6 +560,7 @@ class HelperFileOutputGenerator(OutputGenerator):
struct_size_helper_source += '#include <string.h>\n'
struct_size_helper_source += '#include <assert.h>\n'
struct_size_helper_source += '\n'
+ struct_size_helper_source += '#define ROUNDUP_TO_4(_len) ((((_len) + 3) >> 2) << 2)\n\n'
struct_size_helper_source += '// Function Definitions\n'
struct_size_helper_source += self.GenerateStructSizeSource()
return struct_size_helper_source