Vulkan-Docs/genRelease
Jon Leech 279452463a Change log for November 12, 2018 Vulkan 1.1.92 spec update:
* Update release number to 92.

Public Issues:

  * Move and modify valid usage statements dealing with pname:aspectMask in
    flink:vkCmdClearColorImage, flink:vkCmdClearDepthStencilImage, and
    slink:VkClearAttachment, so they are in places where all necessary
    information is available (public issue 529).
  * Fix math markup in <<textures-texel-anisotropic-filtering, Texel
    Anisotropic Filtering>> (public pull request 840).
  * Fix misspellings (public pull request 845).

Internal Issues:

  * Add installation instructions and a Makefile "`chunked`" target for
    chunked HTML generation (internal issue 1352).
  * Fix pipeline mesh diagram style; also fix a minor bug in the classic
    pipeline diagram where vertex/index buffers wrongly fed into the vertex
    shader (internal issue 1436).
  * Make asciidoctor ERROR output raise an error, and don't suppress
    executed command output from CI make invocation (internal issue 1454).
  * Minor typo fixes and clarifications for `VK_NV_raytracing`.
  * Cleanup extension-specific properties
  ** Remove duplicated documentation for pname:maxDiscardRectangles,
     pname:pointClippingBehavior, and pname:maxVertexAttribDivisor (they
     shouldn't be documented with the other members of
     slink:VkPhysicalDeviceLimits at all).
  ** Remove duplicate anchor for pname:maxVertexAttribDivisor
  ** Consistently document stext:VkPhysicalDevice<Extension>PropertiesKHR
  *** Always document pname:sType/pname:pNext (was inconsistent before)
  *** Always mention chaining to slink:VkPhysicalDeviceProperties2 (and not
      as slink:VkPhysicalDeviceProperties2KHR)
  *** Always include Valid Usage statements last
  * Update Makefile 'checklinks' target and associated scripts, and fix
    markup problems identified by checkLinks.py, so that we can rely on the
    checklinks script as part of Gitlab CI.
2018-11-12 04:40:40 -08:00

155 lines
5.6 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('-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
if args.norefpages:
refPageTargets = ''
else:
# Just generate separate reference pages, not the single-page
# 'manhtml' and 'manpdf' refpage targets.
refPageTargets = ' manhtmlpages'
# 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())