Vulkan-Docs/doc/specs/vulkan/config/vkspec.conf

115 lines
3.6 KiB
Plaintext

# Copyright (c) 2015-2016 The Khronos Group Inc.
# Copyright notice at https://www.khronos.org/registry/speccopyright.html
#
# The 'normative' macros below (can: through shouldnot:) serve mostly
# to tag that those terms have been validated against their normative
# definitions. They ignore any arguments, and don't yet do anything
# but expand to their names.
#
# The remaining macros tag API terms:
# d*: C macro #defines
# elink: enumerated type names
# ename:/etext: enumerant names
# f*: functions/prototypes
# h*: handles
# p*: function parameters and structure members
# s*: structs
# t*: other types (function pointers)
# These macros expand in ways determined by the name following = in the
# macro definition:
#
# 'link' macros format as code and create an xref/link to the target
# 'code' macros format as code, but do not link
# 'strong' macros format as <strong>, and do not link
# 'param' macros format as <parameter>, and do not link
[macros]
(?su)(?P<name>can):(?P<arg>\w*)=normative
(?su)(?P<name>cannot):(?P<arg>\w*)=normative
(?su)(?P<name>may):(?P<arg>\w*)=normative
(?su)(?P<name>must):(?P<arg>\w*)=normative
(?su)(?P<name>mustnot):(?P<arg>\w*)=mustnot
(?su)(?P<name>optional):(?P<arg>\w*)=normative
(?su)(?P<name>optionally):(?P<arg>\w*)=normative
(?su)(?P<name>recommend):(?P<arg>\w*)=normative
(?su)(?P<name>required):(?P<arg>\w*)=normative
(?su)(?P<name>should):(?P<arg>\w*)=normative
(?su)(?P<name>shouldnot):(?P<arg>\w*)=shouldnot
(?su)(?P<name>flink):(?P<target>\w+)=link
(?su)(?P<name>fname):(?P<target>\w+)=strong
(?su)(?P<name>ftext):(?P<target>[\w*]+(\.[\w*]+)*)=strong
(?su)(?P<name>sname):(?P<target>\w+)=code
(?su)(?P<name>slink):(?P<target>\w+)=link
(?su)(?P<name>stext):(?P<target>[\w*]+(\.[\w*]+)*)=code
(?su)(?P<name>dname):(?P<target>\w+)=code
(?su)(?P<name>dlink):(?P<target>\w+)=link
(?su)(?P<name>ename):(?P<target>\w+)=code
(?su)(?P<name>elink):(?P<target>\w+)=link
(?su)(?P<name>etext):(?P<target>[\w*]+(\.[\w*]+)*)=code
(?su)(?P<name>pname):(?P<target>(\w[\w.]*)*\w+)=param
(?su)(?P<name>ptext):(?P<target>[\w*]+(\.[\w*]+)*)=param
(?su)(?P<name>tlink):(?P<target>\w+)=link
(?su)(?P<name>tname):(?P<target>\w+)=strong
(?su)(?P<name>basetype):(?P<target>\w+)=code
(?su)(?P<name>code):(?P<target>\w+)=strong
[normative-inlinemacro]
ifdef::basebackend-docbook[]
<phrase role="normative">{name}</phrase>
endif::basebackend-docbook[]
ifdef::basebackend-html[]
<span role="normative">{name}</span>
endif::basebackend-html[]
[mustnot-inlinemacro]
ifdef::basebackend-docbook[]
<phrase role="normative">must not</phrase>
endif::basebackend-docbook[]
ifdef::basebackend-html[]
<span role="normative">must not</span>
endif::basebackend-html[]
[shouldnot-inlinemacro]
ifdef::basebackend-docbook[]
<phrase role="normative">should not</phrase>
endif::basebackend-docbook[]
ifdef::basebackend-html[]
<span role="normative">should not</span>
endif::basebackend-html[]
[link-inlinemacro]
ifdef::basebackend-docbook[]
<code><link linkend="{target}">{target}</link></code>
endif::basebackend-docbook[]
ifdef::basebackend-html[]
<code><a href="#{target}">{target}</a></code>
endif::basebackend-html[]
[code-inlinemacro]
ifdef::basebackend-docbook[]
<code>{target}</code>
endif::basebackend-docbook[]
ifdef::basebackend-html[]
<code>{target}</code>
endif::basebackend-html[]
[strong-inlinemacro]
ifdef::basebackend-docbook[]
<emphasis role="strong"><code>{target}</code></emphasis>
endif::basebackend-docbook[]
ifdef::basebackend-html[]
<code>{target}</code>
endif::basebackend-html[]
[param-inlinemacro]
ifdef::basebackend-docbook[]
<parameter>{target}</parameter>
endif::basebackend-docbook[]
ifdef::basebackend-html[]
<code>{target}</code>
endif::basebackend-html[]