mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-10 05:24:38 +00:00
* Update release number to 97. Public Issues: * Add a special case to the <<renderpass-compatibility, Render Pass Compatibility>> rules allowing single-subpass renderpasses to be compatible even if they have different resolve attachment references (public issue 835). * Fix the miss shader binding table record address rule in the <<shader-binding-table-indexing-rules, Miss Shaders>> section to index by code:missIndex, not code:sbtOffset (public issue 875). Internal Issues: * Add a missing anchor to the elink:VkSamplerCreateFlagBits language (internal issue 1483). * Add missing implicit valid usage include for slink:VkHdrMetadataEXT and corresponding `noautovalidity` attributes in `vk.xml` for the externally-defined metadata properties (internal issue 1514). * Remove restrictions on the `mask` parameter of SPIR-V's code:OpGroupNonUniformXor in the <<spirvenv-module-validation, Validation Rules within a Module>> appendix (internal merge request 2971). * Restore `noautovalidity` attribute for slink:VkPipelineViewportWScalingStateCreateInfoNV::pname:pViewportWScalings in `vk.xml` (internal merge request 2975). * Update copyright dates on Khronos-copyrighted files to 2019 (internal merge request 2980). New Extensions: * `VK_KHR_depth_stencil_resolve` * `VK_EXT_buffer_device_address` * `VK_EXT_memory_budget` * `VK_EXT_memory_priority` * `VK_EXT_validation_features`
59 lines
2.1 KiB
Python
Executable File
59 lines
2.1 KiB
Python
Executable File
#!/usr/bin/python3
|
|
#
|
|
# Copyright (c) 2013-2019 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.
|
|
|
|
# Usage: realign [infile] > outfile
|
|
# Used to realign XML tags in the Vulkan registry after it's operated on by
|
|
# some other filter, since whitespace inside a tag isn't part of the
|
|
# internal representation.
|
|
|
|
import copy, sys, string, re
|
|
|
|
def realignXML(fp):
|
|
patterns = [
|
|
[ '(^ *\<type .*)(category=[\'"]bitmask[\'"].*)', 58 ],
|
|
[ '(^ *\<enum [bv].*)(name=.*)', 28 ],
|
|
[ '(^ *\<enum [bv].*)(comment=.*)', 85 ]
|
|
]
|
|
|
|
# Assemble compiled expressions to match and alignment columns
|
|
numpat = len(patterns)
|
|
regexp = [ re.compile(patterns[i][0]) for i in range(0,numpat)]
|
|
column = [ patterns[i][1] for i in range(0,numpat)]
|
|
|
|
lines = fp.readlines()
|
|
for line in lines:
|
|
emitted = False
|
|
for i in range(0,len(patterns)):
|
|
match = regexp[i].match(line)
|
|
if (match):
|
|
if (not emitted):
|
|
#print('# While processing line: ' + line, end='')
|
|
emitted = True
|
|
#print('# matched expression: ' + patterns[i][0])
|
|
#print('# clause 1 = ' + match.group(1))
|
|
#print('# clause 2 = ' + match.group(2))
|
|
line = match.group(1).ljust(column[i]) + match.group(2)
|
|
if (emitted):
|
|
print(line)
|
|
else:
|
|
print(line, end='')
|
|
|
|
if __name__ == '__main__':
|
|
if (len(sys.argv) > 1):
|
|
realignXML(open(sys.argv[1], 'r', encoding='utf-8'))
|
|
else:
|
|
realignXML(sys.stdin)
|