# Copyright (c) 2015-2016 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. # vkspec.conf - asciidoc macros for Vulkan spec # The 'normative' macros below (can: through should:) 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 , and do not link # 'param' macros format as , and do not link [macros] (?su)(?Pcan):(?P\w*)=normative (?su)(?Pcannot):(?P\w*)=normative (?su)(?Pmay):(?P\w*)=normative (?su)(?Pmust):(?P\w*)=normative (?su)(?Poptional):(?P\w*)=normative (?su)(?Poptionally):(?P\w*)=normative (?su)(?Precommend):(?P\w*)=normative (?su)(?Prequired):(?P\w*)=normative (?su)(?Pshould):(?P\w*)=normative (?su)(?Pflink):(?P\w+)=link (?su)(?Pfname):(?P\w+)=strong (?su)(?Pftext):(?P[\w*]+(\.[\w*]+)*)=strong (?su)(?Psname):(?P\w+)=code (?su)(?Pslink):(?P\w+)=link (?su)(?Pstext):(?P[\w*]+(\.[\w*]+)*)=code (?su)(?Pdname):(?P\w+)=code (?su)(?Pdlink):(?P\w+)=link (?su)(?Pename):(?P\w+)=code (?su)(?Pelink):(?P\w+)=link (?su)(?Petext):(?P[\w*]+(\.[\w*]+)*)=code (?su)(?Ppname):(?P(\w[\w.]*)*\w+)=param (?su)(?Pptext):(?P[\w*]+(\.[\w*]+)*)=param (?su)(?Ptlink):(?P\w+)=link (?su)(?Ptname):(?P\w+)=strong (?su)(?Pbasetype):(?P\w+)=code (?su)(?Pcode):(?P\w+)=strong [normative-inlinemacro] ifdef::basebackend-docbook[] {name} endif::basebackend-docbook[] ifdef::basebackend-html[] {name} endif::basebackend-html[] [link-inlinemacro] ifdef::basebackend-docbook[] {target} endif::basebackend-docbook[] ifdef::basebackend-html[] {target} endif::basebackend-html[] [code-inlinemacro] ifdef::basebackend-docbook[] {target} endif::basebackend-docbook[] ifdef::basebackend-html[] {target} endif::basebackend-html[] [strong-inlinemacro] ifdef::basebackend-docbook[] {target} endif::basebackend-docbook[] ifdef::basebackend-html[] {target} endif::basebackend-html[] [param-inlinemacro] ifdef::basebackend-docbook[] {target} endif::basebackend-docbook[] ifdef::basebackend-html[] {target} endif::basebackend-html[]