Update for Vulkan-Docs 1.4.
This commit is contained in:
parent
4fcc684c7e
commit
7cff847503
9 changed files with 18687 additions and 21831 deletions
|
|
@ -19,6 +19,9 @@ HPP = $(SPEC)/Vulkan-Hpp
|
||||||
REGISTRY = $(GIT)/registry/vulkan
|
REGISTRY = $(GIT)/registry/vulkan
|
||||||
|
|
||||||
update: revision-check create-branch update-files push-branch
|
update: revision-check create-branch update-files push-branch
|
||||||
|
echo "Verify that Vulkan-Headers is on a branch with the new header updates."
|
||||||
|
echo "Then push them to github and create an MR there with:"
|
||||||
|
echo " make -f Makefile.release REVISION=$REVISION push-branch"
|
||||||
|
|
||||||
# Working branch for the update, and a test if it exists
|
# Working branch for the update, and a test if it exists
|
||||||
BRANCH = update-$(REVISION)
|
BRANCH = update-$(REVISION)
|
||||||
|
|
@ -39,6 +42,19 @@ create-branch: revision-check
|
||||||
# Update headers and scripts in the new branch
|
# Update headers and scripts in the new branch
|
||||||
update-files: remove-files update-headers update-scripts
|
update-files: remove-files update-headers update-scripts
|
||||||
|
|
||||||
|
# To ensure updates are caught, old versions of installed files are
|
||||||
|
# removed.
|
||||||
|
# Files in include/ to keep
|
||||||
|
HEADERS_KEEP = \
|
||||||
|
include/vulkan/vk_icd.h \
|
||||||
|
include/vulkan/vk_layer.h
|
||||||
|
|
||||||
|
remove-files:
|
||||||
|
rm -rf $(filter-out $(HEADERS_KEEP), $(wildcard include/vulkan/*))
|
||||||
|
rm -rf include/vk_video
|
||||||
|
rm -rf registry
|
||||||
|
mkdir include/vk_video registry registry/profiles registry/spec_tools
|
||||||
|
|
||||||
# Vulkan SC Vulkan-Hpp headers not published in the Vulkan-Headers repository
|
# Vulkan SC Vulkan-Hpp headers not published in the Vulkan-Headers repository
|
||||||
SCHPPFILES = \
|
SCHPPFILES = \
|
||||||
include/vulkan/vulkansc.hpp \
|
include/vulkan/vulkansc.hpp \
|
||||||
|
|
@ -87,28 +103,22 @@ update-scripts:
|
||||||
cp $(PROFILES) registry/profiles/
|
cp $(PROFILES) registry/profiles/
|
||||||
cp $(SCRIPT_TOOLS) registry/spec_tools/
|
cp $(SCRIPT_TOOLS) registry/spec_tools/
|
||||||
|
|
||||||
# To ensure updates are caught, old versions of installed files are
|
# Once the branch is updated, push it to upstream and create an MR
|
||||||
# removed.
|
# This should be used cautiously after verifying the branch contents are
|
||||||
|
# indeed correct and updates.
|
||||||
# Files in include/ to keep
|
|
||||||
HEADERS_KEEP = \
|
|
||||||
include/vulkan/vk_icd.h \
|
|
||||||
include/vulkan/vk_layer.h
|
|
||||||
|
|
||||||
remove-files:
|
|
||||||
rm -rf $(filter-out $(HEADERS_KEEP), $(wildcard include/vulkan/*))
|
|
||||||
rm -rf include/vk_video
|
|
||||||
rm -rf registry
|
|
||||||
mkdir include/vk_video registry registry/profiles registry/spec_tools
|
|
||||||
|
|
||||||
# Once the branch is updated, push it to upstream
|
|
||||||
# This does not actually push it for safety reasons
|
|
||||||
push-branch: revision-check
|
push-branch: revision-check
|
||||||
@echo Verify that all new files are 'git add'ed and obsolete files removed, then:
|
git switch $(BRANCH)
|
||||||
@echo " " git commit -m \"Update for Vulkan-Docs 1.4.$(REVISION)\"
|
git add -u
|
||||||
@echo " " git push --set-upstream origin $(BRANCH)
|
echo "Detect new files and add them. This may not always succeed."
|
||||||
@echo " " git switch main
|
echo "Adding new files:" `git diff --name-only main`
|
||||||
@echo " " git branch -d $(BRANCH)
|
git add `git diff --name-only main`
|
||||||
|
git commit -m "Update for Vulkan-Docs 1.4.$(REVISION)"
|
||||||
|
git push --force --set-upstream origin $(BRANCH) \
|
||||||
|
-o merge_request.create -o merge_request.target=main -o merge_request.remove_source_branch \
|
||||||
|
-o merge_request.title="Update for Vulkan-Docs 1.4.$(REVISION)" \
|
||||||
|
-o merge_request.assign=oddhack
|
||||||
|
git switch main
|
||||||
|
git branch -d $(BRANCH)
|
||||||
|
|
||||||
revision-check:
|
revision-check:
|
||||||
@if test $(REVISION) = 999 ; then echo "Must specify explicit REVISION= in make invocation" ; exit 1 ; fi
|
@if test $(REVISION) = 999 ; then echo "Must specify explicit REVISION= in make invocation" ; exit 1 ; fi
|
||||||
|
|
|
||||||
|
|
@ -42,10 +42,8 @@ export namespace VULKAN_HPP_NAMESPACE
|
||||||
{
|
{
|
||||||
using VULKAN_HPP_NAMESPACE::detail::DispatchLoaderBase;
|
using VULKAN_HPP_NAMESPACE::detail::DispatchLoaderBase;
|
||||||
using VULKAN_HPP_NAMESPACE::detail::DispatchLoaderDynamic;
|
using VULKAN_HPP_NAMESPACE::detail::DispatchLoaderDynamic;
|
||||||
#if !defined( VULKAN_HPP_DEFAULT_DISPATCHER )
|
#if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
|
||||||
# if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
|
|
||||||
using VULKAN_HPP_NAMESPACE::detail::defaultDispatchLoaderDynamic;
|
using VULKAN_HPP_NAMESPACE::detail::defaultDispatchLoaderDynamic;
|
||||||
# endif
|
|
||||||
#endif
|
#endif
|
||||||
#if !defined( VK_NO_PROTOTYPES )
|
#if !defined( VK_NO_PROTOTYPES )
|
||||||
using VULKAN_HPP_NAMESPACE::detail::DispatchLoaderStatic;
|
using VULKAN_HPP_NAMESPACE::detail::DispatchLoaderStatic;
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@ extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE h
|
||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static_assert( VK_HEADER_VERSION == 321, "Wrong VK_HEADER_VERSION!" );
|
static_assert( VK_HEADER_VERSION == 322, "Wrong VK_HEADER_VERSION!" );
|
||||||
|
|
||||||
// <tuple> includes <sys/sysmacros.h> through some other header
|
// <tuple> includes <sys/sysmacros.h> through some other header
|
||||||
// this results in major(x) being resolved to gnu_dev_major(x)
|
// this results in major(x) being resolved to gnu_dev_major(x)
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ extern "C" {
|
||||||
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
|
#define VK_API_VERSION_1_0 VK_MAKE_API_VERSION(0, 1, 0, 0)// Patch version should always be set to 0
|
||||||
|
|
||||||
// Version of this file
|
// Version of this file
|
||||||
#define VK_HEADER_VERSION 321
|
#define VK_HEADER_VERSION 322
|
||||||
|
|
||||||
// Complete version of this file
|
// Complete version of this file
|
||||||
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION)
|
#define VK_HEADER_VERSION_COMPLETE VK_MAKE_API_VERSION(0, 1, 4, VK_HEADER_VERSION)
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -24,7 +24,7 @@ vulkanConventions = VulkanConventions()
|
||||||
|
|
||||||
# Helpers to keep things cleaner
|
# Helpers to keep things cleaner
|
||||||
def splitIfGet(elem, name):
|
def splitIfGet(elem, name):
|
||||||
return elem.get(name).split(',') if elem.get(name) is not None and elem.get(name) != '' else None
|
return elem.get(name).split(',') if elem.get(name) is not None and elem.get(name) != '' else []
|
||||||
|
|
||||||
def textIfFind(elem, name):
|
def textIfFind(elem, name):
|
||||||
return elem.find(name).text if elem.find(name) is not None else None
|
return elem.find(name).text if elem.find(name) is not None else None
|
||||||
|
|
@ -62,7 +62,7 @@ def externSyncGet(elem):
|
||||||
def getQueues(elem) -> Queues:
|
def getQueues(elem) -> Queues:
|
||||||
queues = 0
|
queues = 0
|
||||||
queues_list = splitIfGet(elem, 'queues')
|
queues_list = splitIfGet(elem, 'queues')
|
||||||
if queues_list is not None:
|
if len(queues_list) > 0:
|
||||||
queues |= Queues.TRANSFER if 'transfer' in queues_list else 0
|
queues |= Queues.TRANSFER if 'transfer' in queues_list else 0
|
||||||
queues |= Queues.GRAPHICS if 'graphics' in queues_list else 0
|
queues |= Queues.GRAPHICS if 'graphics' in queues_list else 0
|
||||||
queues |= Queues.COMPUTE if 'compute' in queues_list else 0
|
queues |= Queues.COMPUTE if 'compute' in queues_list else 0
|
||||||
|
|
@ -526,7 +526,7 @@ class BaseGenerator(OutputGenerator):
|
||||||
obsoletedby = interface.get('obsoletedby')
|
obsoletedby = interface.get('obsoletedby')
|
||||||
specialuse = splitIfGet(interface, 'specialuse')
|
specialuse = splitIfGet(interface, 'specialuse')
|
||||||
ratifiedApis = splitIfGet(interface, 'ratified')
|
ratifiedApis = splitIfGet(interface, 'ratified')
|
||||||
ratified = True if ratifiedApis is not None and self.genOpts.apiname in ratifiedApis else False
|
ratified = True if len(ratifiedApis) > 0 and self.genOpts.apiname in ratifiedApis else False
|
||||||
|
|
||||||
# Not sure if better way to get this info
|
# Not sure if better way to get this info
|
||||||
specVersion = self.featureDictionary[name]['enumconstant'][None][None][0]
|
specVersion = self.featureDictionary[name]['enumconstant'][None][None][0]
|
||||||
|
|
@ -585,8 +585,8 @@ class BaseGenerator(OutputGenerator):
|
||||||
|
|
||||||
# See Member::optional code for details of this
|
# See Member::optional code for details of this
|
||||||
optionalValues = splitIfGet(param, 'optional')
|
optionalValues = splitIfGet(param, 'optional')
|
||||||
optional = optionalValues is not None and optionalValues[0].lower() == "true"
|
optional = len(optionalValues) > 0 and optionalValues[0].lower() == "true"
|
||||||
optionalPointer = optionalValues is not None and len(optionalValues) > 1 and optionalValues[1].lower() == "true"
|
optionalPointer = len(optionalValues) > 1 and optionalValues[1].lower() == "true"
|
||||||
|
|
||||||
# externsync will be 'true', 'maybe', '<expression>' or 'maybe:<expression>'
|
# externsync will be 'true', 'maybe', '<expression>' or 'maybe:<expression>'
|
||||||
(externSync, externSyncPointer) = externSyncGet(param)
|
(externSync, externSyncPointer) = externSyncGet(param)
|
||||||
|
|
@ -737,7 +737,7 @@ class BaseGenerator(OutputGenerator):
|
||||||
|
|
||||||
typeElem = typeInfo.elem
|
typeElem = typeInfo.elem
|
||||||
protect = self.currentExtension.protect if hasattr(self.currentExtension, 'protect') and self.currentExtension.protect is not None else None
|
protect = self.currentExtension.protect if hasattr(self.currentExtension, 'protect') and self.currentExtension.protect is not None else None
|
||||||
extension = [self.currentExtension] if self.currentExtension is not None else []
|
extension = [self.currentExtension.name] if self.currentExtension is not None else []
|
||||||
category = typeElem.get('category')
|
category = typeElem.get('category')
|
||||||
if (category == 'struct' or category == 'union'):
|
if (category == 'struct' or category == 'union'):
|
||||||
if alias is not None:
|
if alias is not None:
|
||||||
|
|
@ -750,7 +750,7 @@ class BaseGenerator(OutputGenerator):
|
||||||
allowDuplicate = boolGet(typeElem, 'allowduplicate')
|
allowDuplicate = boolGet(typeElem, 'allowduplicate')
|
||||||
|
|
||||||
extends = splitIfGet(typeElem, 'structextends')
|
extends = splitIfGet(typeElem, 'structextends')
|
||||||
extendedBy = self.registry.validextensionstructs[typeName] if len(self.registry.validextensionstructs[typeName]) > 0 else None
|
extendedBy = self.registry.validextensionstructs[typeName] if len(self.registry.validextensionstructs[typeName]) > 0 else []
|
||||||
|
|
||||||
membersElem = typeInfo.elem.findall('.//member')
|
membersElem = typeInfo.elem.findall('.//member')
|
||||||
members = []
|
members = []
|
||||||
|
|
@ -795,8 +795,8 @@ class BaseGenerator(OutputGenerator):
|
||||||
# the first is if the variable itself is optional
|
# the first is if the variable itself is optional
|
||||||
# the second is the value of the pointer is optional;
|
# the second is the value of the pointer is optional;
|
||||||
optionalValues = splitIfGet(member, 'optional')
|
optionalValues = splitIfGet(member, 'optional')
|
||||||
optional = optionalValues is not None and optionalValues[0].lower() == "true"
|
optional = len(optionalValues) > 0 and optionalValues[0].lower() == "true"
|
||||||
optionalPointer = optionalValues is not None and len(optionalValues) > 1 and optionalValues[1].lower() == "true"
|
optionalPointer = len(optionalValues) > 1 and optionalValues[1].lower() == "true"
|
||||||
|
|
||||||
members.append(Member(name, type, fullType, noautovalidity, limittype,
|
members.append(Member(name, type, fullType, noautovalidity, limittype,
|
||||||
const, length, nullTerminated, pointer, fixedSizeArray,
|
const, length, nullTerminated, pointer, fixedSizeArray,
|
||||||
|
|
@ -916,16 +916,16 @@ class BaseGenerator(OutputGenerator):
|
||||||
if supportElem is not None:
|
if supportElem is not None:
|
||||||
queues = getQueues(supportElem)
|
queues = getQueues(supportElem)
|
||||||
stageNames = splitIfGet(supportElem, 'stage')
|
stageNames = splitIfGet(supportElem, 'stage')
|
||||||
stages = [x for x in self.vk.bitmasks['VkPipelineStageFlagBits2'].flags if x.name in stageNames] if stageNames is not None else None
|
stages = [x for x in self.vk.bitmasks['VkPipelineStageFlagBits2'].flags if x.name in stageNames] if len(stageNames) > 0 else None
|
||||||
support = SyncSupport(queues, stages, False)
|
support = SyncSupport(queues, stages, False)
|
||||||
|
|
||||||
equivalent = maxSyncEquivalent
|
equivalent = maxSyncEquivalent
|
||||||
equivalentElem = syncElem.find('syncequivalent')
|
equivalentElem = syncElem.find('syncequivalent')
|
||||||
if equivalentElem is not None:
|
if equivalentElem is not None:
|
||||||
stageNames = splitIfGet(equivalentElem, 'stage')
|
stageNames = splitIfGet(equivalentElem, 'stage')
|
||||||
stages = [x for x in self.vk.bitmasks['VkPipelineStageFlagBits2'].flags if x.name in stageNames] if stageNames is not None else None
|
stages = [x for x in self.vk.bitmasks['VkPipelineStageFlagBits2'].flags if x.name in stageNames] if len(stageNames) > 0 else None
|
||||||
accessNames = splitIfGet(equivalentElem, 'access')
|
accessNames = splitIfGet(equivalentElem, 'access')
|
||||||
accesses = [x for x in self.vk.bitmasks['VkAccessFlagBits2'].flags if x.name in accessNames] if accessNames is not None else None
|
accesses = [x for x in self.vk.bitmasks['VkAccessFlagBits2'].flags if x.name in accessNames] if len(accessNames) > 0 else None
|
||||||
equivalent = SyncEquivalent(stages, accesses, False)
|
equivalent = SyncEquivalent(stages, accesses, False)
|
||||||
|
|
||||||
flagName = syncElem.get('name')
|
flagName = syncElem.get('name')
|
||||||
|
|
@ -943,16 +943,16 @@ class BaseGenerator(OutputGenerator):
|
||||||
if supportElem is not None:
|
if supportElem is not None:
|
||||||
queues = getQueues(supportElem)
|
queues = getQueues(supportElem)
|
||||||
stageNames = splitIfGet(supportElem, 'stage')
|
stageNames = splitIfGet(supportElem, 'stage')
|
||||||
stages = [x for x in self.vk.bitmasks['VkPipelineStageFlagBits2'].flags if x.name in stageNames] if stageNames is not None else None
|
stages = [x for x in self.vk.bitmasks['VkPipelineStageFlagBits2'].flags if x.name in stageNames] if len(stageNames) > 0 else None
|
||||||
support = SyncSupport(queues, stages, False)
|
support = SyncSupport(queues, stages, False)
|
||||||
|
|
||||||
equivalent = maxSyncEquivalent
|
equivalent = maxSyncEquivalent
|
||||||
equivalentElem = syncElem.find('syncequivalent')
|
equivalentElem = syncElem.find('syncequivalent')
|
||||||
if equivalentElem is not None:
|
if equivalentElem is not None:
|
||||||
stageNames = splitIfGet(equivalentElem, 'stage')
|
stageNames = splitIfGet(equivalentElem, 'stage')
|
||||||
stages = [x for x in self.vk.bitmasks['VkPipelineStageFlagBits2'].flags if x.name in stageNames] if stageNames is not None else None
|
stages = [x for x in self.vk.bitmasks['VkPipelineStageFlagBits2'].flags if x.name in stageNames] if len(stageNames) > 0 else None
|
||||||
accessNames = splitIfGet(equivalentElem, 'access')
|
accessNames = splitIfGet(equivalentElem, 'access')
|
||||||
accesses = [x for x in self.vk.bitmasks['VkAccessFlagBits2'].flags if x.name in accessNames] if accessNames is not None else None
|
accesses = [x for x in self.vk.bitmasks['VkAccessFlagBits2'].flags if x.name in accessNames] if len(accessNames) > 0 else None
|
||||||
equivalent = SyncEquivalent(stages, accesses, False)
|
equivalent = SyncEquivalent(stages, accesses, False)
|
||||||
|
|
||||||
flagName = syncElem.get('name')
|
flagName = syncElem.get('name')
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -182,7 +182,7 @@ branch of the member gitlab server.
|
||||||
#define <name>VKSC_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0</type>
|
#define <name>VKSC_API_VERSION_1_0</name> <type>VK_MAKE_API_VERSION</type>(VKSC_API_VARIANT, 1, 0, 0)// Patch version should always be set to 0</type>
|
||||||
|
|
||||||
<type api="vulkan" category="define">// Version of this file
|
<type api="vulkan" category="define">// Version of this file
|
||||||
#define <name>VK_HEADER_VERSION</name> 321</type>
|
#define <name>VK_HEADER_VERSION</name> 322</type>
|
||||||
<type api="vulkan" category="define" requires="VK_HEADER_VERSION">// Complete version of this file
|
<type api="vulkan" category="define" requires="VK_HEADER_VERSION">// Complete version of this file
|
||||||
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 4, VK_HEADER_VERSION)</type>
|
#define <name>VK_HEADER_VERSION_COMPLETE</name> <type>VK_MAKE_API_VERSION</type>(0, 1, 4, VK_HEADER_VERSION)</type>
|
||||||
<type api="vulkansc" category="define">// Version of this file
|
<type api="vulkansc" category="define">// Version of this file
|
||||||
|
|
@ -21480,6 +21480,9 @@ typedef void* <name>MTLSharedEvent_id</name>;
|
||||||
<enum bitpos="10" extends="VkShaderCreateFlagBitsEXT" name="VK_SHADER_CREATE_RESERVED_10_BIT_KHR"/>
|
<enum bitpos="10" extends="VkShaderCreateFlagBitsEXT" name="VK_SHADER_CREATE_RESERVED_10_BIT_KHR"/>
|
||||||
<enum bitpos="11" extends="VkShaderCreateFlagBitsEXT" name="VK_SHADER_CREATE_RESERVED_11_BIT_KHR"/>
|
<enum bitpos="11" extends="VkShaderCreateFlagBitsEXT" name="VK_SHADER_CREATE_RESERVED_11_BIT_KHR"/>
|
||||||
</require>
|
</require>
|
||||||
|
<require depends="VK_ARM_tensors">
|
||||||
|
<enum bitpos="3" extends="VkTensorCreateFlagBitsARM" name="VK_TENSOR_CREATE_RESERVED_3_BIT_ARM"/>
|
||||||
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
<extension name="VK_AMD_mixed_attachment_samples" number="137" type="device" author="AMD" contact="Matthaeus G. Chajdas @anteru" supported="vulkan" nofeatures="true">
|
<extension name="VK_AMD_mixed_attachment_samples" number="137" type="device" author="AMD" contact="Matthaeus G. Chajdas @anteru" supported="vulkan" nofeatures="true">
|
||||||
<require>
|
<require>
|
||||||
|
|
@ -28699,6 +28702,12 @@ typedef void* <name>MTLSharedEvent_id</name>;
|
||||||
<feature name="pipelineCacheIncrementalMode" struct="VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC"/>
|
<feature name="pipelineCacheIncrementalMode" struct="VkPhysicalDevicePipelineCacheIncrementalModeFeaturesSEC"/>
|
||||||
</require>
|
</require>
|
||||||
</extension>
|
</extension>
|
||||||
|
<extension name="VK_EXT_extension_639" number="639" author="EXT" contact="Ralph Potter gitlab:@r_potter" supported="disabled">
|
||||||
|
<require>
|
||||||
|
<enum value="0" name="VK_EXT_EXTENSION_639_SPEC_VERSION"/>
|
||||||
|
<enum value=""VK_EXT_extension_639"" name="VK_EXT_EXTENSION_639_EXTENSION_NAME"/>
|
||||||
|
</require>
|
||||||
|
</extension>
|
||||||
</extensions>
|
</extensions>
|
||||||
<formats>
|
<formats>
|
||||||
<format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8">
|
<format name="VK_FORMAT_R4G4_UNORM_PACK8" class="8-bit" blockSize="1" texelsPerBlock="1" packed="8">
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue