mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-21 02:28:07 +00:00
* First public update for Vulkan 1.1. Github Issues: * Refer to standard sparse image block shape format tables explicitly in the <<sparsememory-standard-shapes, Standard Sparse Image Block Shapes>> section (public issue 93). * Add the missing definition of the code:LocalInvocationIndex decoration in the <<interfaces-builtin-variables, Built-In Variables>> section (public issue 532). * Clarify dynamic state definition in the introduction to the <<pipelines, Pipelines>> section and the new <<pipelines-dynamic-state, Dynamic State>> subsection (public issue 620). * Clarified deprecation statement in the `VK_AMD_negative_viewport_height` appendix (public issue 674). * Fix parameter descriptions for flink:vkCreateIndirectCommandsLayoutNVX (public issue 677). Internal Issues: * Remove description of <<primsrast-points, rasterization point size>> being taken from the tessellation control shader, since there are no circumstances under which you can have TCS without TES (internal issue 522). * Define <<copies-images-format-size-compatibility, _size-compatible_ image formats>> for flink:vkCmdCopyImage, add it to the glossary, and use that definition for slink:VkImageViewCreateInfo (internal issue 771). * Change brief descriptions of enumerant names, and of parameters which are enumerants, from "`enum *indicates*`" to "`enum *specifies*`" for consistency, and add a markup style guide rule (internal issue 862). * Clarify how execution dependencies interact with <<synchronization-submission-order, submission order>> at numerous places in the <<renderpass, Render Pass>> and <<synchronization, Synchronization>> chapters (internal issue 1062). * Clarify statement in the <<interfaces-resources-setandbinding, DescriptorSet and Binding Assignment>> section that only interface variables statically used by the entry point used in a pipeline must be present in the descriptor set layout (internal issue 1172). * Flip sparse image diagrams with partially full mip levels vertically, to match graph origins of other image diagrams (internal issue 1176). * Update new SVG diagrams to have consistent style and base font size, increase consistency of primitive topology diagrams, and add a section to the style guide on creating and editing images in a consistent style (internal issue 1177). * Resolve problems with valid usage statement extraction by fixing existing VUID tags for interfaces promoted to version 1.1 and fixing conditional directives around VUID-VkMemoryDedicatedAllocateInfo-image-01797 (internal issue 1184). * Strip `KHR` suffixes from a few interfaces promoted to Vulkan 1.1 that were missed previously (internal issue 1185). * Restrict code:OpImageQuerySizeLod and code:OpImageQueryLevels to only work on code:Image operands with their code:Sampled operand set to 1. In other words, these operations are not defined to work with storage images (internal issue 1193). * Recycle extension slot for extension #82 in `vk.xml`. This extension was never published (internal issue 1195). * Add an issue to the `VK_KHR_maintenance1` appendix noting that zero height viewports are allowed when this extension is enabled (internal issue 1202). * Fix slink:VkDescriptorSetLayoutBinding description so that shader stages always use descriptor bindings, not the other way around (internal issue 1206). * Fix field name for slink:VkInputAttachmentAspectReference::pname:inputAttachmentIndex (internal issue 1210). Other Issues: * Fix a few broken links in the <<versions-1.1, Version 1.1>> appendix. * Replace a few old refBegin/refEnd tags with open block markup around interfaces, and remove old KHX VUID tags that were breaking the valid usage statement extraction. * Fix error codes accidentally tagged as success codes in `vk.xml` for flink:vkGetSwapchainCounterEXT. * Added valid usage statements for ftext:vkBind*Memory2 input structures stext:VkBind*MemoryInfo, and fix a pname:image -> pname:buffer typo in a couple of places. * Fix swapped descriptions of elink:VkDescriptorType enums ename:VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE and ename:VK_DESCRIPTOR_TYPE_STORAGE_IMAGE (reported via tweet). New Extensions: * `VK_ANDROID_external_memory_android_hardware_buffer`
142 lines
5.2 KiB
Python
Executable File
142 lines
5.2 KiB
Python
Executable File
#!/usr/bin/python3
|
|
#
|
|
# Copyright (c) 2016-2018 The Khronos Group Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
# Ensure config/extDependency.py is up-to-date before we import it.
|
|
# If it is up to date, 'make' will print a useless warning without '-s'.
|
|
import argparse,subprocess,sys
|
|
subprocess.check_call(['make', '-s', 'config/extDependency.py'])
|
|
|
|
# Alter sys.path to import config/extDependency.py.
|
|
sys.path = sys.path + [ 'config' ]
|
|
|
|
from genspec import *
|
|
from extDependency import allExts, khrExts
|
|
|
|
# Eventually, these may be defined by extDependency.py
|
|
allVersions = [ 'VK_VERSION_1_0', 'VK_VERSION_1_1' ]
|
|
Version1_0 = [ 'VK_VERSION_1_0' ]
|
|
|
|
if __name__ == '__main__':
|
|
parser = argparse.ArgumentParser()
|
|
|
|
parser.add_argument('-internal', action='store_true',
|
|
help='Generate internal build, not public')
|
|
parser.add_argument('-refpages', action='store_true',
|
|
help='Generate refpages')
|
|
parser.add_argument('-pdf', action='store_true',
|
|
help='Always generate PDF outputs')
|
|
parser.add_argument('-nov11', action='store_false', dest='v11',
|
|
help='Suppress Vulkan 1.1 targets')
|
|
parser.add_argument('-v10', action='store_true',
|
|
help='Generate Vulkan 1.0 targets')
|
|
|
|
args = parser.parse_args()
|
|
|
|
if args.internal:
|
|
# For internal build & pseudo-release
|
|
repoDir = '/home/tree/git/vulkan'
|
|
outDir = '/home/tree/git/vulkan/doc/specs/vulkan/out'
|
|
else:
|
|
# For public release
|
|
repoDir = '/home/tree/git/Vulkan-Docs'
|
|
outDir = '/home/tree/git/registry/vulkan/specs'
|
|
|
|
# Always build PDF for public releases
|
|
args.pdf = True
|
|
|
|
if args.refpages:
|
|
refPageTargets = ' manhtml manhtmlpages'
|
|
if args.pdf:
|
|
refPageTargets += ' manpdf'
|
|
else:
|
|
refPageTargets = ''
|
|
print('echo Info: Not building reference pages yet')
|
|
|
|
specTargets = ' html'
|
|
if args.pdf:
|
|
specTargets += ' pdf'
|
|
|
|
print('echo Info: Building release from', repoDir, 'to', outDir)
|
|
print('echo Info: Building spec targets', specTargets)
|
|
print('')
|
|
|
|
# Vulkan 1.1 specs
|
|
if args.v11:
|
|
# Build validusage target only for 1.1 + all extensions
|
|
buildBranch('1.1-extensions',
|
|
versions = allVersions,
|
|
extensions = allExts,
|
|
apititle = '(with all registered Vulkan extensions)',
|
|
xmlTargets = 'clobber install',
|
|
specTargets = specTargets + ' validusage',
|
|
repoDir = repoDir,
|
|
outDir = outDir)
|
|
|
|
buildBranch('1.1-khr-extensions',
|
|
versions = allVersions,
|
|
extensions = khrExts,
|
|
apititle = '(with KHR extensions)',
|
|
xmlTargets = 'clobber install',
|
|
specTargets = specTargets,
|
|
repoDir = repoDir,
|
|
outDir = outDir)
|
|
|
|
# Build ref pages, style guide, and registry documentation targets only for
|
|
# 1.1 + no extensions.
|
|
buildBranch('1.1',
|
|
versions = allVersions,
|
|
extensions = None,
|
|
apititle = None,
|
|
xmlTargets = 'clobber install',
|
|
specTargets = specTargets + ' styleguide registry' + refPageTargets,
|
|
repoDir = repoDir,
|
|
outDir = outDir,
|
|
needRefSources = True)
|
|
|
|
# Vulkan 1.0 specs. Only build the core spec now that 1.1 is out.
|
|
if args.v10:
|
|
# buildBranch('1.0-extensions',
|
|
# versions = Version1_0,
|
|
# extensions = allExts,
|
|
# apititle = '(with all registered Vulkan extensions)',
|
|
# xmlTargets = 'clobber install',
|
|
# specTargets = specTargets,
|
|
# repoDir = repoDir,
|
|
# outDir = outDir)
|
|
#
|
|
# buildBranch('1.0-wsi_extensions',
|
|
# versions = Version1_0,
|
|
# extensions = khrExts,
|
|
# apititle = '(with KHR extensions)',
|
|
# xmlTargets = 'clobber install',
|
|
# specTargets = specTargets,
|
|
# repoDir = repoDir,
|
|
# outDir = outDir)
|
|
|
|
buildBranch('1.0',
|
|
versions = Version1_0,
|
|
extensions = None,
|
|
apititle = None,
|
|
xmlTargets = 'clobber install',
|
|
specTargets = specTargets,
|
|
repoDir = repoDir,
|
|
outDir = outDir)
|
|
else:
|
|
print('echo Info: Not building 1.0 specs yet')
|
|
|
|
print('echo Info: post-generation cleanup')
|
|
createTags(releaseNum(), buildOnFriday())
|