header: Update to version 1.0.57 of the vulkan hdr

- updated vulkan.h
- updated vk.xml
- updated cgenerator.py
- updated Win/Lin json files
- updated and fixed vk_validation_error_database.h
- updated vk_validation_error_messages.h
- updated vulkan.hpp

Change-Id: Idebc490660833daac43d234db44131e9bf2b910b
diff --git a/scripts/cgenerator.py b/scripts/cgenerator.py
index 298a774..836de52 100644
--- a/scripts/cgenerator.py
+++ b/scripts/cgenerator.py
@@ -240,7 +240,16 @@
                 # Add extra newline after multi-line entries.
                 if '\n' in s:
                     s += '\n'
-                self.appendSection(category, s)
+                # This is a temporary workaround for internal issue #877,
+                # while we consider other approaches. The problem is that
+                # function pointer types can have dependencies on structures
+                # and vice-versa, so they can't be strictly separated into
+                # sections. The workaround is to define those types in the
+                # same section, in dependency order.
+                if (category == 'funcpointer'):
+                    self.appendSection('struct', s)
+                else:
+                    self.appendSection(category, s)
     #
     # Struct (e.g. C "struct" type) generation.
     # This is a special case of the <type> tag where the contents are