src/gen_dispatch.py: Make Generated Code Build Under C89

...so that the generated code are buildable by pre-2013 Visual Studio.

 The main thing that this does is that we avoid named initializers, but
 instead initialize the structs in old-school C89 way.

 The generated code may not look that robust, but since this is generated
 code, I think this is not that much an issue; when the Khronos registry gets
 updated, all that is needed is that the code gets re-generated, and we have the
 items in the right order.
macos/v1.5.9
Chun-wei Fan 9 years ago
parent 8bbc0d40c6
commit c976864bc9
  1. 5
      src/gen_dispatch.py

@ -659,9 +659,10 @@ class Generator(object):
assert(offset < 65536) assert(offset < 65536)
self.outln('static const uint16_t enum_string_offsets[] = {') self.outln('static const uint16_t enum_string_offsets[] = {')
self.outln(' -1, /* {0}_provider_terminator, unused */'.format(self.target))
for human_name in sorted_providers: for human_name in sorted_providers:
enum = self.provider_enum[human_name] enum = self.provider_enum[human_name]
self.outln(' [{0}] = {1},'.format(enum, self.enum_string_offset[human_name])) self.outln(' {1}, /* {0} */'.format(enum, self.enum_string_offset[human_name]))
self.outln('};') self.outln('};')
self.outln('') self.outln('')
@ -789,7 +790,7 @@ class Generator(object):
self.outln('static struct dispatch_table resolver_table = {') self.outln('static struct dispatch_table resolver_table = {')
for func in self.sorted_functions: for func in self.sorted_functions:
self.outln(' .{0} = epoxy_{0}_dispatch_table_rewrite_ptr,'.format(func.wrapped_name)) self.outln(' epoxy_{0}_dispatch_table_rewrite_ptr, /* {0} */'.format(func.wrapped_name))
self.outln('};') self.outln('};')
self.outln('') self.outln('')

Loading…
Cancel
Save