winevulkan: Don't add alias structs to struct-extensions list.

This resolves compilation errors relating to duplicate case values for
alias structures when building against spec version 1.1.106. An example
of one of these errors has been included below:
	vulkan_thunks.c: In function ‘convert_VkDeviceCreateInfo_struct_chain’:
	vulkan_thunks.c:1997:9: error: duplicate case value
	         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
	         ^~~~
	vulkan_thunks.c:1377:9: note: previously used here
	         case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES:
         ^~~~

Signed-off-by: Liam Middlebrook <lmiddlebrook@nvidia.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Liam Middlebrook 2019-10-30 13:00:00 -07:00 committed by Alexandre Julliard
parent 410f5623e7
commit b575232712
1 changed files with 7 additions and 0 deletions

View File

@ -2962,6 +2962,13 @@ class VkRegistry(object):
for struct in structs:
struct.set_type_info(self.types)
# Alias structures have enum values equivalent to those of the
# structure which they are aliased against. we need to ignore alias
# structs when populating the struct extensions list, otherwise we
# will create duplicate case entries.
if struct.alias:
continue
for structextend in struct.structextends:
s = self.types[structextend]["data"]
s.struct_extensions.append(struct)