From: Georg Lehmann dadschoorse@gmail.com
--- dlls/winevulkan/make_vulkan | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/dlls/winevulkan/make_vulkan b/dlls/winevulkan/make_vulkan index 61d5cc296cc..a457f683b0e 100755 --- a/dlls/winevulkan/make_vulkan +++ b/dlls/winevulkan/make_vulkan @@ -3074,8 +3074,15 @@ class VkGenerator(object): f.write(base_type.definition()) f.write("\n")
- for bitmask in self.registry.bitmasks: - f.write(bitmask.definition()) + # Reorder bitmasks to handle aliases correctly. + remaining_bitmasks = list(self.registry.bitmasks) + while len(remaining_bitmasks) > 0: + for bitmask in remaining_bitmasks: + if bitmask.is_alias() and bitmask.alias in remaining_bitmasks: + continue + f.write(bitmask.definition()) + remaining_bitmasks.remove(bitmask) + break f.write("\n")
# Define enums, this includes values for some of the bitmask types as well.