summaryrefslogtreecommitdiff
path: root/codegen/vulkan/scripts/indexExt.py
diff options
context:
space:
mode:
Diffstat (limited to 'codegen/vulkan/scripts/indexExt.py')
-rwxr-xr-xcodegen/vulkan/scripts/indexExt.py90
1 files changed, 0 insertions, 90 deletions
diff --git a/codegen/vulkan/scripts/indexExt.py b/codegen/vulkan/scripts/indexExt.py
deleted file mode 100755
index 4eeb4f3b..00000000
--- a/codegen/vulkan/scripts/indexExt.py
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/usr/bin/python3
-#
-# Copyright 2017-2021 The Khronos Group Inc.
-#
-# SPDX-License-Identifier: Apache-2.0
-
-# Construct an HTML fragment indexing extension appendices in vkspec.html.
-# This is run only when publishing an update spec, to update the Vulkan
-# registry.
-
-import argparse,io,os,re,string,sys,copy
-import xml.etree.ElementTree as etree
-
-def listExts(vendor, ext, tag):
- prefix = ' <li> <b> '
- suffix = ' </b> </li>'
-
- if vendor in tag:
- desc = vendor + ' Extensions (' + tag[vendor] + ')'
- else:
- desc = vendor + ' Extensions (full vendor description unavailable)'
- print(prefix, desc, suffix)
-
- # (OLD) Links to the extension appendix in the single-page HTML document.
- # This is very slow to load.
- # fmtString = ' <li> <a href="specs/1.2-extensions/html/vkspec.html#{0}"> {0} </a> </li>'
-
- # This links to the individual per-extension refpages, which are a
- # slightly modified version of the extension appendices, and far faster
- # to load.
- fmtString = ' <li> <a href="specs/1.2-extensions/man/html/{0}.html"> {0} </a> </li>'
-
- for name in sorted(ext[vendor]):
- print(fmtString.format(name))
-
-# -extension name - may be a single extension name, a a space-separated list
-# of names, or a regular expression.
-if __name__ == '__main__':
- parser = argparse.ArgumentParser()
-
- parser.add_argument('-registry', action='store',
- default='vk.xml',
- help='Use specified registry file instead of vk.xml')
- parser.add_argument('-quiet', action='store_true', default=False,
- help='Suppress script output during normal execution.')
-
- args = parser.parse_args()
-
- tree = etree.parse(args.registry)
-
- # Dictionary of vendor tags -> author name mappings
- tag = {}
-
- # Loop over all vendor tags, tracking the full corresponding author name
- for elem in tree.findall('tags/tag'):
- vendor = elem.get('name')
- author = elem.get('author')
-
- tag[vendor] = author
-
- # Dictionary of supported extensions, indexed by vendor prefix
- ext = {}
-
- # Loop over all extensions, add supported names to the dictionary
- for elem in tree.findall('extensions/extension'):
- name = elem.get('name')
- supported = elem.get('supported')
-
- if supported == 'vulkan':
- # Relies on name being in the form VK_<vendor>_stuff
- (vk, vendor) = name.split('_')[0:2]
-
- if not vendor in ext:
- ext[vendor] = []
- ext[vendor].append(name)
-
- # Emit HTML fragment indexing the extensions
-
- print('<ul>')
-
- for vendor in ['KHR', 'EXT']:
- if vendor in ext:
- listExts(vendor, ext, tag)
- del ext[vendor]
-
- for vendor in sorted(ext.keys()):
- listExts(vendor, ext, tag)
- del ext[vendor]
-
- print('</ul>')