mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-01-10 05:55:38 +00:00
256a1ef661
* Update release number to 93. Public Issues: * Add spec language for ename:VK_INDEX_TYPE_NONE_NV and fix up slink:VkAccelerationStructureTypeNV (public issue 848). * Add missing suffix in description of slink:VkSubpassDescription2KHR parameters (public pull request 851). * Fix miscellaneous typos (public pull request 855). * Add driver ID for Pastel (public pull request 856). * Add missing include directive for slink:VkMemoryWin32HandlePropertiesKHR implicit valid usage statements (public pull request 857). Internal Issues: * Restrict the storage classes permitted for SPIR-V atomics to what is actually supported, in the <<spirvenv-module-validation, Validation Rules within a Module>> section (internal issue 1123). * Add a missing Valid Usage statement to slink:VkRenderPassCreateInfo for the case pname:stencilLoadOp == ename:VK_LOAD_OP_CLEAR, pname:layout == ename:VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL (internal issue 1408). * Modify optimize-pdf script and Makefile to retain non-optimized original PDF on errors (internal issue 1435). * Add <<spirvenv-module-validation, SPIR-V validation rules>> stating that only the listed code:BuiltIn decorations are permitted, and only when relevante features and extensions are enabled (internal issue 1449). * Remove some duplicated Valid Usage IDs created via cut & paste error (internal issue 1455). * Build HTML output for extension reference pages (internal issue 1461). ** Improve genRef.py handling of aliases defined inside other refpages. ** Emit aliases in pygenerator.py. ** Add XML noautovalidity flag for VkRenderPassCreateFlags until there are some corresponding FlagBits defined. ** Corrected types= attribute on some refpage blocks to 'flags' ** Added refpage blocks for some missing types detected by CI tests. * Fixed many Valid Usage statement issues in slink:VkRenderPassCreateInfo, slink:VkSubpassDescription, slink:VkSubpassDescription2KHR, slink:VkSubpassDependency2KHR, flink:vkCmdBeginRenderPass, flink:vkCmdBeginRenderPass2KHR, and slink:VkRenderPassBeginInfo discovered while adding `VK_KHR_create_renderpass2` to the validation layers. New Extensions: * `VK_EXT_scalar_block_layout` * `VK_EXT_separate_stencil_usage`
159 lines
5.7 KiB
Python
Executable File
159 lines
5.7 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('-norefpages', action='store_true',
|
|
help='Do not generate refpages')
|
|
parser.add_argument('-singlerefpage', action='store_true',
|
|
help='Generate single-page refpage')
|
|
parser.add_argument('-chunked', action='store_true',
|
|
help='Always generate chunked HTML outputs')
|
|
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/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
|
|
|
|
refPageTargets = ''
|
|
|
|
if not args.norefpages:
|
|
# Generate separate reference pages
|
|
refPageTargets += ' manhtmlpages'
|
|
|
|
if args.singlerefpage:
|
|
# Generate single-page refpage
|
|
refPageTargets += ' manhtml'
|
|
if args.pdf:
|
|
refPageTargets += ' manpdf'
|
|
|
|
specTargets = ' html'
|
|
if args.chunked:
|
|
specTargets += ' chunked'
|
|
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 ref pages and validusage targets only for 1.1 + all
|
|
# extensions.
|
|
buildBranch('1.1-extensions',
|
|
versions = allVersions,
|
|
extensions = allExts,
|
|
ratified = False,
|
|
apititle = '(with all registered Vulkan extensions)',
|
|
xmlTargets = 'clobber install',
|
|
specTargets = specTargets + ' validusage' + refPageTargets,
|
|
repoDir = repoDir,
|
|
outDir = outDir)
|
|
|
|
buildBranch('1.1-khr-extensions',
|
|
versions = allVersions,
|
|
extensions = khrExts,
|
|
ratified = True,
|
|
apititle = '(with KHR extensions)',
|
|
xmlTargets = 'clobber install',
|
|
specTargets = specTargets,
|
|
repoDir = repoDir,
|
|
outDir = outDir)
|
|
|
|
# Build style guide and registry documentation targets only for 1.1
|
|
# + no extensions.
|
|
buildBranch('1.1',
|
|
versions = allVersions,
|
|
extensions = None,
|
|
ratified = True,
|
|
apititle = None,
|
|
xmlTargets = 'clobber install',
|
|
specTargets = specTargets + ' styleguide registry',
|
|
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,
|
|
ratified = False,
|
|
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,
|
|
ratified = True,
|
|
apititle = '(with KHR extensions)',
|
|
xmlTargets = 'clobber install',
|
|
specTargets = specTargets,
|
|
repoDir = repoDir,
|
|
outDir = outDir)
|
|
|
|
buildBranch('1.0',
|
|
versions = Version1_0,
|
|
extensions = None,
|
|
ratified = True,
|
|
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())
|