Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PR for automatic paired functions cross-referencing #615

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

avoroshilov
Copy link

Originally defined in issue #608
Short description:

  1. Two config files added: doc/specs/vulkan/config/vulkan-api-tuples.txt and doc/specs/vulkan/config/vulkan-api-sorting.txt.
  2. vulkan-api-tuples.txt defines paired functions, pairs delimiter is empty string.
  3. vulkan-api-sorting.txt defines the order how prefixes appear in the cross-references list, * (meaning "any other function) denotes place where functions that didn't match any prefix go; function keep case-sensitive alphabetical order within the prefix, as it was prior to this change.
  4. doc/specs/vulkan/genRef.py is modified to read, process and apply data supplied by the two config files mentioned.
  5. doc/specs/vulkan/Makefile modified to have the config files as dependencies, to facilitate rebuild when config files changed
  6. doc/specs/vulkan/chapters/pipelines.txt modified to have explicit cross references, due to the way paired functions are named: (vkCreateComputePipelines, vkCreateGraphicsPipelines) vs vkDestroyPipeline.

The idea behind this way of implementing the cross-references is in this comment.

There is a problem with pairing functions, provided by extensions (e.g. vkCreateSwapchainKHR vs vkDestroySwapchainKHR) - they are NOT automatically generated. Manual cross-referencing won't work too, because doc/specs/vulkan/vkapi.py simply doesn't have anything but the core functions, hence auto-cross-reference validation will fail and functions won't appear on the reference list. Manual referencing via adding xref - won't work either, because macroPrefix function in doc/specs/vulkan/genRef.py will not recognize the reference properly and return "UNKNOWN" prefix. Hence, in this revision paired extension functions do not get cross-references.

@CLAassistant
Copy link

CLAassistant commented Nov 11, 2017

CLA assistant check
All committers have signed the CLA.

@KhronosWebservices
Copy link
Contributor

We changed the CLA to acknowledge that changes to the specification source documents fall under the Khronos IP policy, unlike changes to the Apache-licensed scripts. This change requires you, the contributor, to re-sign the CLA before your contribution can be accepted.

@oddhack oddhack changed the base branch from 1.0 to main August 30, 2020 04:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants