Added 1.1.75 Vulkan header/registry files

Updated files come from the following locations:

include/vulkan/vulkan.hpp   Vulkan-Hpp:vulkan/vulkan.hpp

include/vulkan/*            Vulkan-Docs:include/vulkan/*

registry/cgenerator.py      Vulkan-Docs:xml/cgenerator.py
registry/generator.py       Vulkan-Docs:xml/generator.py
registry/genvk.py           Vulkan-Docs:xml/genvk.py
registry/vk.xml             Vulkan-Docs:xml/vk.xml
registry/reg.py             Vulkan-Docs:xml/reg.py
registry/validusage.json    Vulkan-Docs:out/validation/validusage.json
This commit is contained in:
Mike Schuchardt 2018-05-22 10:17:11 -06:00
parent eb0c1fd44c
commit 6bebd0015b
5 changed files with 61513 additions and 61093 deletions

File diff suppressed because it is too large Load diff

View file

@ -43,7 +43,7 @@ extern "C" {
#define VK_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3ff)
#define VK_VERSION_PATCH(version) ((uint32_t)(version) & 0xfff)
// Version of this file
#define VK_HEADER_VERSION 74
#define VK_HEADER_VERSION 75
#define VK_NULL_HANDLE 0
@ -2715,6 +2715,16 @@ typedef struct VkDrawIndirectCommand {
uint32_t firstInstance;
} VkDrawIndirectCommand;
typedef struct VkBaseOutStructure {
VkStructureType sType;
struct VkBaseOutStructure* pNext;
} VkBaseOutStructure;
typedef struct VkBaseInStructure {
VkStructureType sType;
const struct VkBaseInStructure* pNext;
} VkBaseInStructure;
typedef VkResult (VKAPI_PTR *PFN_vkCreateInstance)(const VkInstanceCreateInfo* pCreateInfo, const VkAllocationCallbacks* pAllocator, VkInstance* pInstance);
typedef void (VKAPI_PTR *PFN_vkDestroyInstance)(VkInstance instance, const VkAllocationCallbacks* pAllocator);

View file

@ -96,11 +96,11 @@ class BaseInfo:
if selfKeys != infoKeys:
return False
# Ignore value of 'extname', as this will inherently be different
# when redefining the same interface in different feature and/or
# extension blocks.
# Ignore value of 'extname' and 'extnumber', as these will inherently
# be different when redefining the same interface in different feature
# and/or extension blocks.
for key in selfKeys:
if (key != 'extname' and
if (key != 'extname' and key != 'extnumber' and
(self.elem.get(key) != info.elem.get(key))):
return False
@ -563,14 +563,21 @@ class Registry:
if depname:
self.gen.logMsg('diag', 'Generating dependent type',
depname, 'for', attrib, 'type', typename)
self.markTypeRequired(depname, required)
# Don't recurse on self-referential structures.
if (typename != depname):
self.markTypeRequired(depname, required)
else:
self.gen.logMsg('diag', 'type', typename, 'is self-referential')
# Tag types used in defining this type (e.g. in nested
# <type> tags)
# Look for <type> in entire <command> tree,
# not just immediate children
for subtype in type.elem.findall('.//type'):
self.gen.logMsg('diag', 'markRequired: type requires dependent <type>', subtype.text)
self.markTypeRequired(subtype.text, required)
if (typename != subtype.text):
self.markTypeRequired(subtype.text, required)
else:
self.gen.logMsg('diag', 'type', typename, 'is self-referential')
# Tag enums used in defining this type, for example in
# <member><name>member</name>[<enum>MEMBER_SIZE</enum>]</member>
for subenum in type.elem.findall('.//enum'):

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff