mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-17 00:36:24 +00:00
Merge misc. tweaks from private repository.
This commit is contained in:
commit
1c02198197
4
.gitignore
vendored
4
.gitignore
vendored
@ -46,6 +46,4 @@ src/spec/diag.txt
|
||||
.DS_Store
|
||||
|
||||
# Auto-generated files
|
||||
src/spec/hostsynctable
|
||||
src/spec/validity
|
||||
src/spec/vulkan-docs
|
||||
# doc/specs/vulkan/*/timeMarker
|
||||
|
@ -1006,3 +1006,78 @@ Other Commits:
|
||||
APIs.
|
||||
* Update vk_platform.h to handle 32-bit ARMv8 binaries.
|
||||
* Various minor cleanups to the Makefile and build process.
|
||||
|
||||
-----------------------------------------------------
|
||||
|
||||
Change log for July 22, 2016 Vulkan 1.0.22 spec update:
|
||||
|
||||
* Bump API patch number and header version number to 22 for this update.
|
||||
|
||||
Github Issues:
|
||||
|
||||
* Translate the subpass self-dependency language into concrete
|
||||
validity statements, and added a validity statement about the
|
||||
restrictions on layout parameters (public issue 267).
|
||||
* Add validity requirement that
|
||||
slink:VkAttachmentDescription::pname:finalLayout and
|
||||
slink:VkAttachmentReference::pname:layout must not be
|
||||
ename:VK_IMAGE_LAYOUT_UNDEFINED or
|
||||
ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268).
|
||||
* Clarify that slink:VkSubpassDescription::pname:pResolveAttachments
|
||||
layouts are used. Make language consistent with other attachment
|
||||
arrays (public issue 270).
|
||||
* Changed 64-bit definition for
|
||||
dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in
|
||||
+vk.xml+ and the resulting +vulkan.h+ (public issue 282).
|
||||
* Add missing error return code for
|
||||
flink:vkEnumerateInstanceExtensionProperties and
|
||||
flink:vkEnumerateDeviceExtensionProperties (public issue 285)
|
||||
* Fix several cases of stext::VkStructName.memberName markup to
|
||||
stext::VkStructName::pname:memberName, to match other usage in the
|
||||
spec, and describe this markup in the style guide (public issue
|
||||
286).
|
||||
* Modified validity language generation script to avoid redundant
|
||||
common ancestor language if covered by generic parent language, and
|
||||
used `Both' instead of `Each' when appropriate (public issue 288).
|
||||
|
||||
Internal Issues:
|
||||
|
||||
* Add language about behavior of flink:vkAllocateDescriptorSets when
|
||||
allocation fails due to fragmentation, a new error
|
||||
ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation
|
||||
(internal issue 309).
|
||||
* For the features of code:PointSize, code:ClipDistance, and
|
||||
code:CullDistance, the SPIR-V capability is required to be declared
|
||||
on use (read or write) rather than on decoration (internal issue
|
||||
359).
|
||||
* Have desktop versions of GLSL respect precision qualification
|
||||
(code:mediump and code:lowp) when compiling for Vulkan. These will
|
||||
get translated to SPIR-V's code:RelaxedPrecision decoration as they
|
||||
do with OpenGL ES versions of GLSL (ESSL). The default precision of
|
||||
all types is code:highp when using a desktop version (internal issue
|
||||
360).
|
||||
* Add validity statement for slink:VkImageCreateInfo specifying that
|
||||
multisampled images must be two-dimensional, optimally tiled, and
|
||||
with a single mipmap level (internal issue 369).
|
||||
* Add validity statements to slink:VkImageViewCreateInfo disallowing
|
||||
creation of images or image views with no supported features. Made
|
||||
some slink:VkImageViewCreateInfo validity statements more precise
|
||||
and consistent. Added a Note to the <<features,features>> chapter
|
||||
about formats with no features (internal issue 371).
|
||||
* Remove +manpages+ from default build targets. Nroff outputs
|
||||
containing imbedded latexmath will not render properly. Fixing this
|
||||
is a lot of work for limited use cases (internal issue 401).
|
||||
|
||||
Other Commits:
|
||||
|
||||
* Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity
|
||||
statement to be based on attachment indices rather than the number
|
||||
of cleared attachments
|
||||
(Vulkan-LoaderAndValidationLayers/issues/601).
|
||||
* Convert registry documentation from LaTeX to asciidoc source and
|
||||
rename from +src/spec/readme.tex+ to +src/spec/registry.txt+.
|
||||
* Fix lack of Oxford commas in validity language.
|
||||
* Lots of cleanup of generator scripts and Makefiles to move extension
|
||||
list for generator into the script arguments instead of the body of
|
||||
genvk.py, and express better dependencies between XML, scripts, and
|
||||
generated files.
|
||||
|
@ -33,8 +33,8 @@ Status
|
||||
|
||||
Version
|
||||
|
||||
Last Modified Date: 12-Apr-2016
|
||||
Revision: 30
|
||||
Last Modified Date: 20-Jul-2016
|
||||
Revision: 31
|
||||
|
||||
Number
|
||||
|
||||
@ -79,6 +79,9 @@ Overview
|
||||
* subpass inputs
|
||||
|
||||
The following features are changed:
|
||||
* precision qualifiers (mediump and lowp) will be respected for all
|
||||
versions, not dropped for desktop versions (default precision for
|
||||
desktop versions is highp for all types)
|
||||
* gl_FragColor will no longer indicate an implicit broadcast
|
||||
* arrays of opaque uniforms take only one binding number for
|
||||
the entire object, not one per array element
|
||||
@ -374,19 +377,21 @@ Overview
|
||||
|
||||
Non-fragment stage:
|
||||
|
||||
in/out gl_PerVertex {
|
||||
in/out gl_PerVertex { // some subset of these members will be used
|
||||
gl_Position
|
||||
gl_PointSize
|
||||
gl_ClipDistance
|
||||
gl_CullDistance
|
||||
} (name of block is for debug only)
|
||||
} // name of block is for debug only
|
||||
|
||||
There is at most one input and one output block per stage in SPIR-V.
|
||||
The subset and order of members will match between stages sharing an
|
||||
interface.
|
||||
|
||||
Mapping of precision qualifiers:
|
||||
|
||||
lowp -> RelaxedPrecision, on variable and operation
|
||||
mediump -> RelaxedPrecision, on variable and operation
|
||||
lowp -> RelaxedPrecision, on storage variable and operation
|
||||
mediump -> RelaxedPrecision, on storage variable and operation
|
||||
highp -> 32-bit, same as int or float
|
||||
|
||||
portability tool/mode -> OpQuantizeToF16
|
||||
@ -560,11 +565,16 @@ Changes to Chapter 4 of the OpenGL Shading Language Specification
|
||||
samplerShadow | a handle for accessing state describing how to
|
||||
| sample a depth texture with comparison"
|
||||
|
||||
|
||||
|
||||
Remove "structure member selection" from 4.1.7 and instead add a sentence
|
||||
"Opaque types cannot be declared or nested in a structure (struct)."
|
||||
|
||||
Modify subsection 4.1.3 Integers, for desktop versions of GLSL, to say:
|
||||
|
||||
"Highp unsigned integers have exactly 32 bits of precision. Highp
|
||||
signed integers use 32 bits, including a sign bit, in two's complement
|
||||
form. Mediump and lowp integers are as defined by the RelaxedPrecision
|
||||
decoration in SPIR-V."
|
||||
|
||||
Add a subsection to 4.1.7 Opaque Types:
|
||||
|
||||
"4.1.7.x Texture, *sampler*, and *samplerShadow* Types
|
||||
@ -598,6 +608,12 @@ Changes to Chapter 4 of the OpenGL Shading Language Specification
|
||||
"Subpass input types are only available in fragment shaders. It is a
|
||||
compile-time error to use them in any other stage."
|
||||
|
||||
Add to section 4.1.7.3 Atomic Counters:
|
||||
|
||||
"It is an error to declare an atomic type with a different precision or
|
||||
to specify the default precision for an atomic type to be lowp or
|
||||
mediump."
|
||||
|
||||
Change section 4.3.3 Constant Expressions:
|
||||
|
||||
Add a new very first sentence to this section:
|
||||
@ -870,6 +886,50 @@ Changes to Chapter 4 of the OpenGL Shading Language Specification
|
||||
"However, when push_constant is declared, the default layout of the
|
||||
buffer will be std430. There is no method to globally set this default."
|
||||
|
||||
Remove the following preamble from section 4.7, which exists for desktop
|
||||
versions, but not ES versions. Removal:
|
||||
|
||||
"Precision qualifiers are added for code portability with OpenGL ES, not
|
||||
for functionality. They have the same syntax as in OpenGL ES, as
|
||||
described below, but they have no semantic meaning, which includes no
|
||||
effect on the precision used to store or operate on variables.
|
||||
|
||||
"If an extension adds in the same semantics and functionality in the
|
||||
OpenGL ES 2.0 specification for precision qualifiers, then the extension
|
||||
is allowed to reuse the keywords below for that purpose.
|
||||
|
||||
"For the purposes of determining if an output from one shader stage
|
||||
matches an input of the next stage, the precision qualifier need not
|
||||
match."
|
||||
|
||||
Add:
|
||||
|
||||
"For interface matching, uniform variables and uniform and buffer block
|
||||
members must have the same precision qualification. For matching *out*
|
||||
variables or block members to *in* variables and block members, the
|
||||
precision qualification does not have to match.
|
||||
|
||||
"Global variables declared in different compilation units linked into the
|
||||
same shader stage must be declared with the same precision qualification."
|
||||
|
||||
More generally, all versions will follow OpenGL ES semantic rules for
|
||||
precision qualifiers.
|
||||
|
||||
Section 4.7.2 Precision Qualifiers (desktop only)
|
||||
|
||||
Replace the table saying "none" for all precisions with this statement:
|
||||
|
||||
"Mediump and lowp floating-point values have the precision defined by
|
||||
the RelaxedPrecision decoration in SPIR-V."
|
||||
|
||||
Section 4.7.4 Default Precision Qualifiers:
|
||||
|
||||
For desktop versions, replace the last three paragraphs that state the
|
||||
default precisions with the following instead:
|
||||
|
||||
"All stages have default precision qualification of highp for all types
|
||||
that accept precision qualifiers."
|
||||
|
||||
Changes to Chapter 5 of the OpenGL Shading Language Specification
|
||||
|
||||
Add a new subsection at the end of section 5.4 "Constructors":
|
||||
@ -1003,6 +1063,77 @@ Changes to Chapter 7 of the OpenGL Shading Language Specification
|
||||
|
||||
Changes to Chapter 8 of the OpenGL Shading Language Specification
|
||||
|
||||
Add the following ES language to desktop versions of the specification:
|
||||
|
||||
"The operation of a built-in function can have a different precision
|
||||
qualification than the precision qualification of the resulting value.
|
||||
These two precision qualifications are established as follows.
|
||||
|
||||
"The precision qualification of the operation of a built-in function is
|
||||
based on the precision qualification of its input arguments and formal
|
||||
parameters: When a formal parameter specifies a precision qualifier,
|
||||
that is used, otherwise, the precision qualification of the calling
|
||||
argument is used. The highest precision of these will be the precision
|
||||
qualification of the operation of the built-in function. Generally,
|
||||
this is applied across all arguments to a built-in function, with the
|
||||
exceptions being:
|
||||
- bitfieldExtract and bitfieldInsert ignore the 'offset' and 'bits'
|
||||
arguments.
|
||||
- interpolateAt* functions only look at the 'interpolant' argument.
|
||||
|
||||
"The precision qualification of the result of a built-in function is
|
||||
determined in one of the following ways:
|
||||
|
||||
- For the texture sampling, image load, and image store functions,
|
||||
the precision of the return type matches the precision of the
|
||||
sampler type:
|
||||
uniform lowp sampler2D sampler;
|
||||
highp vec2 coord;
|
||||
...
|
||||
lowp vec4 col = texture (sampler, coord); // texture() returns lowp
|
||||
|
||||
Otherwise:
|
||||
|
||||
- For prototypes that do not specify a resulting precision qualifier,
|
||||
the precision will be the same as the precision of the operation.
|
||||
(As defined earlier.)
|
||||
|
||||
- For prototypes that do specify a resulting precision qualifier,
|
||||
the specified precision qualifier is the precision qualification of
|
||||
the result."
|
||||
|
||||
Add precision qualifiers to the following in desktop versions:
|
||||
|
||||
|
||||
genIType floatBitsToInt (highp genFType value)
|
||||
genUType floatBitsToUint(highp genFType value)
|
||||
genFType intBitsToFloat (highp genIType value)
|
||||
genFType uintBitsToFloat(highp genUType value)
|
||||
|
||||
genFType frexp(highp genFType x, out highp genIType exp)
|
||||
genFType ldexp(highp genFType x, in highp genIType exp)
|
||||
|
||||
highp uint packSnorm2x16(vec2 v)
|
||||
vec2 unpackSnorm2x16(highp uint p)
|
||||
highp uint packUnorm2x16(vec2 v)
|
||||
vec2 unpackUnorm2x16(highp uint p)
|
||||
vec2 unpackHalf2x16(highp uint v)
|
||||
vec4 unpackUnorm4x8(highp uint v)
|
||||
vec4 unpackSnorm4x8(highp uint v)
|
||||
|
||||
genIType bitfieldReverse(highp genIType value)
|
||||
genUType bitfieldReverse(highp genUType value)
|
||||
genIType findMSB(highp genIType value)
|
||||
genIType findMSB(highp genUType value)
|
||||
genUType uaddCarry(highp genUType x, highp genUType y,
|
||||
out lowp genUType carry)
|
||||
genUType usubBorrow(highp genUType x, highp genUType y,
|
||||
out lowp genUType borrow)
|
||||
void umulExtended(highp genUType x, highp genUType y,
|
||||
out highp genUType msb, out highp genUType lsb)
|
||||
void imulExtended(highp genIType x, highp genIType y,
|
||||
out highp genIType msb, out highp genIType lsb)
|
||||
|
||||
Add a section
|
||||
|
||||
"8.X Subpass Functions
|
||||
@ -1155,6 +1286,7 @@ Revision History
|
||||
|
||||
Rev. Date Author Changes
|
||||
---- ----------- ------- --------------------------------------------
|
||||
31 20-Jul-2016 JohnK Have desktop versions respect mediump/lowp
|
||||
30 12-Apr-2016 JohnK Restrict spec-const operations to non-float
|
||||
29 5-Apr-2016 JohnK Clarify disallowance of spec-const arrays in
|
||||
initializers
|
||||
|
@ -6,12 +6,15 @@
|
||||
# Default targets:
|
||||
# - XHTML, XHTML chunked, and PDF specs ('allspecs')
|
||||
# - HTML single-document reference pages ('manhtml' and 'manpdf')
|
||||
# - HTML and nroff separate reference pages ('manpages' and 'manhtmlpages')
|
||||
# - HTML separate reference pages ('manpages' and 'manhtmlpages')
|
||||
# - Validator scripts ('allchecks')
|
||||
#
|
||||
# The 'html' target is deprecated but still supported, for now. It uses
|
||||
# a different toolchain than XHTML/PDF outputs, isn't quite compatible,
|
||||
# and will not be published, but is faster to generate for quick tests.
|
||||
#
|
||||
# Other targets:
|
||||
# - Nroff (Unix 'man' format) separate reference pages ('manpages').
|
||||
|
||||
all: alldocs allchecks
|
||||
|
||||
@ -19,42 +22,46 @@ alldocs: allspecs allman
|
||||
|
||||
allspecs: xhtml chunked pdf styleguide
|
||||
|
||||
allman: manhtml manpdf manpages manhtmlpages
|
||||
allman: manhtml manpdf manhtmlpages
|
||||
|
||||
allchecks: checkinc checklinks
|
||||
|
||||
# Note that the := assignments below are immediate, not deferred, and
|
||||
# are therefore order-dependent in the Makefile
|
||||
|
||||
QUIET?=@
|
||||
QUIET ?= @
|
||||
PYTHON ?= python3
|
||||
ASCIIDOC ?= asciidoc.py
|
||||
A2X ?= a2x.py
|
||||
DBLATEX ?= dblatex
|
||||
A2X ?= a2x.py
|
||||
DBLATEX ?= dblatex
|
||||
XSLTPROC ?= xsltproc
|
||||
# DBLATEXPREFIX can be overriden by setting it as an environment variable,
|
||||
# if not installed in the standard location on your distribution
|
||||
DBLATEXPREFIX ?= /etc/asciidoc/dblatex
|
||||
RM=rm -f
|
||||
RMRF=rm -rf
|
||||
MKDIR=mkdir -p
|
||||
CP=cp
|
||||
ECHO:=echo
|
||||
RM = rm -f
|
||||
RMRF = rm -rf
|
||||
MKDIR = mkdir -p
|
||||
CP = cp
|
||||
ECHO = echo
|
||||
|
||||
# Target directories for output files
|
||||
# HTMLDIR - 'html' target
|
||||
# XHTMLDIR - 'xhtml' target
|
||||
# CHUNKDIR - 'chunked' target
|
||||
# PDFDIR - 'pdf' target
|
||||
# CHECKDIR - 'allchecks' target
|
||||
OUTDIR := ../../../out/1.0
|
||||
HTMLDIR := $(OUTDIR)/html
|
||||
XHTMLDIR := $(OUTDIR)/xhtml
|
||||
PDFDIR := $(OUTDIR)/pdf
|
||||
CHECKDIR := $(OUTDIR)/checks
|
||||
STYLEXHTMLDIR := $(OUTDIR)/style
|
||||
# STYLEXHTMLDIR - 'styleguide' target
|
||||
OUTDIR := ../../../out/1.0
|
||||
HTMLDIR := $(OUTDIR)/html
|
||||
XHTMLDIR := $(OUTDIR)/xhtml
|
||||
CHUNKDIR := $(OUTDIR)/chunked
|
||||
PDFDIR := $(OUTDIR)/pdf
|
||||
CHECKDIR := $(OUTDIR)/checks
|
||||
# Images used in the API spec
|
||||
IMAGEPATH :=images
|
||||
ICONPATH :=$(IMAGEPATH)/icons
|
||||
PDFXSL :=config/vkspec-dblatex.xsl
|
||||
PDFSTY :=config/vkspec-dblatex.sty
|
||||
PYTHON ?= python3
|
||||
ICONPATH :=$(IMAGEPATH)/icons
|
||||
PDFXSL :=config/vkspec-dblatex.xsl
|
||||
PDFSTY :=config/vkspec-dblatex.sty
|
||||
|
||||
# Set VERBOSE to -v to see what asciidoc is doing.
|
||||
# Set KEEP to -d to retain intermediate dblatex files
|
||||
@ -67,7 +74,7 @@ KEEP =
|
||||
# ATTRIBOPTS sets the api revision and enables MathJax generation
|
||||
# CONFIG Vulkan-specific Asciidoc macros. File used depends on target.
|
||||
# ADOCOPTS options for asciidoc->HTML output
|
||||
# ADOCPDFOPTS options for asciidoc->PDF output via dblatex (not using a2x)
|
||||
# ADOCDBOPTS options for asciidoc->XHTML or PDF output via docbook (not using a2x)
|
||||
# A2XOPTS options for a2x->{HTML,PDF} output
|
||||
XMLLINT = --no-xmllint
|
||||
NOTEOPTS = -a editing-notes -a implementation-guide
|
||||
@ -75,17 +82,26 @@ ATTRIBOPTS = -a apirevision="$(SPECREVISION)" -a mathjax
|
||||
CONFIG = config/vkspec.conf
|
||||
ADOCOPTS = $(ATTRIBOPTS) $(NOTEOPTS) -f config/mathjax-asciidoc.conf \
|
||||
-f $(CONFIG) $(VERBOSE)
|
||||
ADOCPDFOPTS= $(ATTRIBOPTS) $(NOTEOPTS) -f config/mathjax-docbook.conf \
|
||||
ADOCDBOPTS = $(ATTRIBOPTS) $(NOTEOPTS) -f config/mathjax-docbook.conf \
|
||||
-f $(CONFIG) $(VERBOSE)
|
||||
A2XOPTS = $(ATTRIBOPTS) $(NOTEOPTS) \
|
||||
--asciidoc-opts="-f config/mathjax-docbook.conf -f $(CONFIG)" \
|
||||
--xsltproc-opts="--param generate.consistent.ids 1" \
|
||||
$(XMLLINT) $(VERBOSE) --icons
|
||||
|
||||
# All the options except the first are taken from a2x
|
||||
XSLTOPTS = \
|
||||
--param generate.consistent.ids 1 \
|
||||
--stringparam callout.graphics 1 \
|
||||
--stringparam navig.graphics 1 \
|
||||
--stringparam admon.textlabel 0 \
|
||||
--stringparam admon.graphics 1
|
||||
|
||||
# XSL customizing Asciibook XSL to pass through equations and add
|
||||
# MathJax. This varies depending on target type.
|
||||
XHTMLXSL = config/docbook-xsl/xhtml.xsl
|
||||
CHUNKEDXSL = config/docbook-xsl/chunked.xsl
|
||||
XHTMLXSL = config/docbook-xsl/xhtml.xsl
|
||||
CHUNKXSL = config/docbook-xsl/chunked.xsl
|
||||
MANPAGEXSL = config/docbook-xsl/manpage.xsl
|
||||
|
||||
# dblatex options passed two ways, directly to dblatex and via a2x.
|
||||
DBLATEXOPTS := $(KEEP) -V -T db2latex -I. -I images -I images/icons -s $(DBLATEXPREFIX)/asciidoc-dblatex.sty
|
||||
@ -94,15 +110,16 @@ A2XDBLATEXOPTS := --dblatex-opts='$(DBLATEXOPTS)'
|
||||
# Misc. files to clean up (see 'checkinc' target below)
|
||||
DIRT = $(SPECVERSION)
|
||||
|
||||
.PHONY: directories $(MANHTMLDIR) $(MANPAGEDIR)
|
||||
.PHONY: directories
|
||||
|
||||
# Images and icons that are used in or referenced by targets.
|
||||
# For some targets they must be copied to output directories.
|
||||
ICONFILES := $(wildcard $(ICONPATH)/*.png)
|
||||
PNGFILES := $(ICONFILES) $(wildcard $(IMAGEPATH)/*.png)
|
||||
# Don't use vulkantexture0.svg as a source SVG file, PNG is available
|
||||
SVGFILES := $(filter-out $(IMAGEPATH)/vulkantexture0.svg,$(wildcard $(IMAGEPATH)/*.svg))
|
||||
PDFFILES := $(SVGFILES:.svg=.pdf)
|
||||
# Misc. directories and files that need to be copied into output directory
|
||||
WEBIMAGES := $(SVGFILES:%=$(HTMLDIR)/%) $(PNGFILES:%=$(HTMLDIR)/%)
|
||||
|
||||
# File suffix for image targets for HTML and PDF Builds - Asciidoc {svgtype} attribute
|
||||
SVGTYPEHTML := svg
|
||||
SVGTYPEPDF := pdf
|
||||
@ -111,58 +128,72 @@ TOPDOC := vkspec.txt
|
||||
# Files making up sections of the API spec. The wildcard expression
|
||||
# should work in extension branches to pull in those files as well.
|
||||
CHAPTERS := $(wildcard chapters/[A-Za-z]*.txt appendices/[A-Za-z]*.txt chapters/*/[A-Za-z]*.txt appendices/*/[A-Za-z]*.txt)
|
||||
INCLUDES := $(wildcard protos/*.txt structs/*.txt flags/*.txt enums/*.txt funcpointers/*.txt validity/structs/*.txt validity/protos/*.txt)
|
||||
GENINCLUDE = $(wildcard api/*/[A-Za-z]*.txt validity/*/[A-Za-z]*.txt hostsynctable/*.txt)
|
||||
GENDEPENDS = api/timeMarker validity/timeMarker hostsynctable/timeMarker
|
||||
# All non-format-specific dependencies
|
||||
COMMONDOCS := $(CHAPTERS) $(INCLUDES)
|
||||
COMMONDOCS = $(CHAPTERS) $(GENINCLUDE) $(GENDEPENDS)
|
||||
# A generated included file with the spec version, date, and git commit
|
||||
SPECVERSION = specversion.txt
|
||||
SPECREVISION = 1.0.21
|
||||
SPECREVISION = 1.0.22
|
||||
SPECREMARK =
|
||||
|
||||
# Spec targets
|
||||
# There is some complexity to try and avoid short virtual targets like 'html'
|
||||
# causing specs to *always* be regenerated.
|
||||
|
||||
html: $(HTMLDIR)/vkspec.html $(TOPDOC) $(COMMONDOCS) $(WEBIMAGES)
|
||||
html: $(HTMLDIR)/vkspec.html $(TOPDOC) $(COMMONDOCS)
|
||||
|
||||
$(HTMLDIR)/vkspec.html: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS) $(WEBIMAGES)
|
||||
$(QUIET)if test ! -d $(HTMLDIR) ; then $(MKDIR) $(HTMLDIR) ; fi
|
||||
$(HTMLDIR)/vkspec.html: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS)
|
||||
$(QUIET)$(MKDIR) $(HTMLDIR)/images/icons
|
||||
$(QUIET)$(ASCIIDOC) -b html5 $(ADOCOPTS) \
|
||||
-o $(HTMLDIR)/vkspec.html -a svgpdf=$(SVGTYPEHTML) $(TOPDOC)
|
||||
# Copy resource files in explicitly
|
||||
$(QUIET)$(CP) $(SVGFILES) $(PNGFILES) $(HTMLDIR)/images
|
||||
$(QUIET)$(CP) $(ICONFILES) $(HTMLDIR)/images/icons
|
||||
|
||||
xhtml: $(XHTMLDIR)/vkspec.html $(TOPDOC) $(COMMONDOCS)
|
||||
|
||||
$(XHTMLDIR)/vkspec.html: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS)
|
||||
$(QUIET)if test ! -d $(XHTMLDIR) ; then $(MKDIR) $(XHTMLDIR) ; fi
|
||||
$(QUIET)$(A2X) $(A2XOPTS) -f xhtml $(TOPDOC) \
|
||||
--xsl-file=$(XHTMLXSL) \
|
||||
-a toc2 -a toclevels=2 --destination-dir=$(XHTMLDIR) \
|
||||
-a svgpdf=$(SVGTYPEHTML)
|
||||
$(QUIET)$(MKDIR) $(XHTMLDIR)/images/icons $(XHTMLDIR)/config
|
||||
$(QUIET)$(ASCIIDOC) --backend docbook $(ADOCDBOPTS) \
|
||||
-a a2x-format=xhtml -a svgpdf=$(SVGTYPEHTML) \
|
||||
-o $(XHTMLDIR)/vkspec.xml $(TOPDOC)
|
||||
$(QUIET)$(XSLTPROC) $(XSLTOPTS) -o $@ $(XHTMLXSL) \
|
||||
$(XHTMLDIR)/vkspec.xml
|
||||
# Copy resource files in explicitly
|
||||
$(QUIET)$(CP) config/vkspec-xhtml.css $(XHTMLDIR)/config/
|
||||
$(QUIET)$(CP) $(SVGFILES) $(PNGFILES) $(XHTMLDIR)/images
|
||||
$(QUIET)$(CP) $(ICONFILES) $(XHTMLDIR)/images/icons
|
||||
$(QUIET)$(RM) $(XHTMLDIR)/vkspec.xml
|
||||
|
||||
chunked: $(OUTDIR)/vkspec.chunked/index.html $(TOPDOC) $(COMMONDOCS)
|
||||
chunked: $(CHUNKDIR)/index.html $(TOPDOC) $(COMMONDOCS)
|
||||
|
||||
$(OUTDIR)/vkspec.chunked/index.html: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS)
|
||||
$(QUIET)if test ! -d $(OUTDIR)/chunked ; then $(MKDIR) $(OUTDIR) ; fi
|
||||
$(QUIET)$(A2X) $(A2XOPTS) -f chunked $(TOPDOC) \
|
||||
--xsl-file=$(CHUNKEDXSL) \
|
||||
-a toc2 -a toclevels=2 --destination-dir=$(OUTDIR) \
|
||||
-a svgpdf=$(SVGTYPEHTML)
|
||||
$(CHUNKDIR)/index.html: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS)
|
||||
$(QUIET)$(MKDIR) $(CHUNKDIR)/images/icons $(CHUNKDIR)/config
|
||||
$(QUIET)$(ASCIIDOC) --backend docbook $(ADOCDBOPTS) \
|
||||
-a a2x-format=chunked -a svgpdf=$(SVGTYPEHTML) \
|
||||
-o $(CHUNKDIR)/vkspec.xml $(TOPDOC)
|
||||
$(QUIET)$(XSLTPROC) $(XSLTOPTS) \
|
||||
--stringparam base.dir $(CHUNKDIR)/ \
|
||||
-o $@ $(CHUNKXSL) $(CHUNKDIR)/vkspec.xml
|
||||
# Copy resource files in explicitly
|
||||
$(QUIET)$(CP) config/vkspec-xhtml.css $(CHUNKDIR)/config/
|
||||
$(QUIET)$(CP) $(SVGFILES) $(PNGFILES) $(CHUNKDIR)/images
|
||||
$(QUIET)$(CP) $(ICONFILES) $(CHUNKDIR)/images/icons
|
||||
$(QUIET)$(RM) $(CHUNKDIR)/vkspec.xml
|
||||
|
||||
pdf: $(PDFDIR)/vkspec.pdf
|
||||
|
||||
$(PDFDIR)/vkspec.pdf: $(PDFXSL) $(PDFSTY) $(PDFDIR)/vkspec.xml
|
||||
$(PDFDIR)/vkspec.pdf: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS) $(PDFFILES)
|
||||
$(QUIET)$(MKDIR) $(PDFDIR)
|
||||
$(QUIET)$(ASCIIDOC) --backend docbook $(ADOCDBOPTS) \
|
||||
-a a2x-format=pdf -a svgpdf=pdf \
|
||||
-o $(PDFDIR)/vkspec.xml $(TOPDOC)
|
||||
$(QUIET)$(DBLATEX) -b pdftex $(DBLATEXOPTS) \
|
||||
-p "$(DBLATEXPREFIX)/asciidoc-dblatex.xsl" \
|
||||
-p $(PDFXSL) -s $(PDFSTY) \
|
||||
$(PDFDIR)/vkspec.xml -O $(PDFDIR)
|
||||
|
||||
$(PDFDIR)/vkspec.xml: $(CONFIG) $(SPECVERSION) $(TOPDOC) $(COMMONDOCS) $(PDFDIR) $(PDFFILES)
|
||||
$(QUIET)$(ASCIIDOC) --backend docbook $(ADOCPDFOPTS) \
|
||||
-a a2x-format=pdf -a svgpdf=pdf \
|
||||
--out-file $(PDFDIR)/vkspec.xml $(TOPDOC)
|
||||
|
||||
$(PDFDIR):
|
||||
$(QUIET)if test ! -d $(PDFDIR) ; then $(MKDIR) $(PDFDIR) ; fi
|
||||
-o $@ $(PDFDIR)/vkspec.xml
|
||||
$(QUIET)$(RM) $(PDFDIR)/vkspec.xml
|
||||
|
||||
# Generate Asciidoc attributes for spec version / date
|
||||
GITHEAD := ../../../.git/logs/HEAD
|
||||
@ -192,36 +223,30 @@ STYLEFILES = $(wildcard style/[A-Za-z]*.txt)
|
||||
|
||||
styleguide: $(OUTDIR)/styleguide.html
|
||||
|
||||
$(OUTDIR)/styleguide.html: $(CONFIG) $(SPECVERSION) $(STYLESRC) $(STYLEFILES)
|
||||
$(OUTDIR)/styleguide.html: $(CONFIG) $(SPECVERSION) $(STYLESRC) $(STYLEFILES) $(GENINCLUDE) $(GENDEPENDS)
|
||||
$(QUIET)$(ASCIIDOC) -b html5 $(ADOCOPTS) \
|
||||
-o $@ -a svgpdf=$(SVGTYPEHTML) \
|
||||
$(STYLESRC)
|
||||
|
||||
clean: clean_html clean_pdf clean_chunked clean_checks clean_dirt clean_man
|
||||
|
||||
clean_man:
|
||||
$(RM) $(MANHTML)
|
||||
$(RMRF) $(MANHTMLDIR)
|
||||
$(RM) $(MANPAGES)
|
||||
$(RMRF) $(MANPAGEDIR)
|
||||
clean: clean_html clean_pdf clean_man clean_checks clean_generated clean_dirt
|
||||
|
||||
clean_html:
|
||||
$(QUIET)$(RMRF) $(HTMLDIR) $(XHTMLDIR) $(STYLEXHTMLDIR)
|
||||
$(QUIET)$(RMRF) $(HTMLDIR) $(XHTMLDIR) $(CHUNKDIR)
|
||||
$(QUIET)$(RM) $(OUTDIR)/apispec.html $(OUTDIR)/styleguide.html
|
||||
|
||||
clean_pdf:
|
||||
$(QUIET)$(RM) \
|
||||
$(PDFDIR)/vkspec.pdf \
|
||||
$(PDFDIR)/vkspec.xml \
|
||||
$(OUTDIR)/apispec.pdf \
|
||||
$(OUTDIR)/apispec.xml
|
||||
$(QUIET)$(RM) $(PDFDIR)/vkspec.pdf $(OUTDIR)/apispec.pdf
|
||||
|
||||
clean_chunked:
|
||||
$(QUIET)$(RMRF) $(OUTDIR)/vkspec.chunked
|
||||
clean_man:
|
||||
$(QUIET)$(RMRF) $(MANHTMLDIR)
|
||||
$(QUIET)$(RMRF) $(MANPAGEDIR)
|
||||
|
||||
clean_checks:
|
||||
$(QUIET)$(RMRF) $(CHECKDIR)
|
||||
|
||||
clean_generated:
|
||||
$(QUIET)$(RMRF) api/* hostsynctable/* validity/* vkapi.py
|
||||
|
||||
clean_dirt:
|
||||
$(QUIET)$(RM) $(DIRT)
|
||||
|
||||
@ -238,18 +263,7 @@ WSISOURCES := $(wildcard $(MANDIR)/*KHR.txt)
|
||||
EXTSOURCES := $(wildcard $(MANDIR)/*EXT.txt)
|
||||
CORESOURCES := $(filter-out $(WSISOURCES) $(EXTSOURCES) $(MANDIR)/vkman.css,$(wildcard $(MANDIR)/[Vv][Kk]* $(MANDIR)/PFN*txt))
|
||||
MANSOURCES := $(CORESOURCES) $(WSISOURCES) $(EXTSOURCES)
|
||||
|
||||
MANCOPYRIGHT:= $(MANDIR)/khronoscopyright.txt $(MANDIR)/footer.txt
|
||||
MANPAGEDIR := $(OUTDIR)/man/$(MANSECTION)
|
||||
MANPAGES := $(MANSOURCES:$(MANDIR)/%.txt=$(MANPAGEDIR)/%.$(MANSECTION))
|
||||
MANHTMLDIR := $(OUTDIR)/man/html
|
||||
MANHTML := $(MANSOURCES:$(MANDIR)/%.txt=$(MANHTMLDIR)/%.html)
|
||||
|
||||
manpagesall: manpages manhtmlpages
|
||||
|
||||
manpages: $(MANPAGEDIR) $(MANPAGES)
|
||||
|
||||
manhtmlpages: $(MANHTMLDIR) $(MANHTML)
|
||||
|
||||
# Automatic generation of ref pages. Needs to have a proper dependency
|
||||
# causing the man page sources to be generated by running genRef (once),
|
||||
@ -260,56 +274,62 @@ man/apispec.txt: $(CHAPTERS) genRef.py reflib.py vkapi.py
|
||||
|
||||
# These dependencies don't take into account include directives
|
||||
|
||||
$(MANPAGEDIR)/%.$(MANSECTION): $(MANDIR)/%.$(MANSECTION)
|
||||
$(QUIET)mv $< $@
|
||||
# These targets are Unix 'man' nroff source, and are essentially useless
|
||||
# since the ref pages contain both LaTeX math equations and images.
|
||||
|
||||
$(MANDIR)/%.$(MANSECTION): CONFIG=config/manpages.conf
|
||||
MANPAGEDIR := $(OUTDIR)/man/$(MANSECTION)
|
||||
MANPAGES := $(MANSOURCES:$(MANDIR)/%.txt=$(MANPAGEDIR)/%.$(MANSECTION))
|
||||
|
||||
$(MANDIR)/%.$(MANSECTION): $(MANDIR)/%.txt $(MANCOPYRIGHT) config/manpages.conf
|
||||
$(QUIET)$(ECHO) Building $@
|
||||
$(QUIET)$(A2X) -d manpage -f manpage --asciidoc-opts "-f config/manpages.conf" $(A2XOPTS) $<
|
||||
manpages: $(MANPAGES)
|
||||
|
||||
$(MANPAGEDIR)/%.$(MANSECTION): CONFIG=config/manpages.conf
|
||||
|
||||
$(MANPAGEDIR)/%.$(MANSECTION): $(MANDIR)/%.txt $(MANCOPYRIGHT) config/manpages.conf $(GENINCLUDE) $(GENDEPENDS)
|
||||
$(QUIET)$(MKDIR) $(MANPAGEDIR)
|
||||
$(QUIET)$(ASCIIDOC) --backend docbook $(ADOCDBOPTS) --doctype manpage \
|
||||
-a a2x-format=manpage -a svgpdf=$(SVGTYPEHTML) \
|
||||
-o $@.xml $<
|
||||
$(QUIET)$(XSLTPROC) $(XSLTOPTS) -o $@ $(MANPAGEXSL) $@.xml
|
||||
$(QUIET)$(RM) $@.xml
|
||||
|
||||
# These targets are HTML ref pages
|
||||
|
||||
MANHTMLDIR := $(OUTDIR)/man/html
|
||||
MANHTML := $(MANSOURCES:$(MANDIR)/%.txt=$(MANHTMLDIR)/%.html)
|
||||
|
||||
manhtmlpages: $(MANHTML)
|
||||
|
||||
$(MANHTMLDIR)/%.html: CONFIG=config/manpages.conf
|
||||
|
||||
$(MANHTMLDIR)/%.html: $(MANDIR)/%.txt $(MANCOPYRIGHT) config/manpages.conf
|
||||
$(QUIET)$(ECHO) Building $@
|
||||
$(MANHTMLDIR)/%.html: $(MANDIR)/%.txt $(MANCOPYRIGHT) config/manpages.conf $(GENINCLUDE) $(GENDEPENDS)
|
||||
$(QUIET)$(MKDIR) $(MANHTMLDIR)
|
||||
$(QUIET)$(ASCIIDOC) -b html5 -d manpage $(ADOCOPTS) \
|
||||
-a themedir=$(CURDIR)/config -a theme=vkman \
|
||||
-o $@ -a svgpdf=$(SVGTYPEHTML) $<
|
||||
|
||||
$(MANHTMLDIR):
|
||||
$(QUIET)$(MKDIR) $@
|
||||
|
||||
$(MANPAGEDIR):
|
||||
$(QUIET)$(MKDIR) $@
|
||||
|
||||
# Man page targets for HTML and PDF single-file documents
|
||||
# These targets are HTML and PDF single-file versions of the ref pages
|
||||
|
||||
manpdf: $(OUTDIR)/apispec.pdf
|
||||
|
||||
manhtml: $(OUTDIR)/apispec.html
|
||||
|
||||
$(OUTDIR)/apispec.pdf: $(PDFXSL) $(PDFSTY) $(OUTDIR)/apispec.xml
|
||||
$(OUTDIR)/apispec.pdf: $(CONFIG) $(SPECVERSION) man/apispec.txt $(MANSOURCES) $(MANCOPYRIGHT) $(PDFXSL) $(PDFSTY) $(GENINCLUDE) $(GENDEPENDS)
|
||||
$(QUIET)$(MKDIR) $(OUTDIR)
|
||||
$(QUIET)$(ASCIIDOC) --backend docbook $(ADOCDBOPTS) \
|
||||
-a a2x-format=pdf -a svgpdf=pdf \
|
||||
-o $(OUTDIR)/apispec.xml man/apispec.txt
|
||||
$(QUIET)$(DBLATEX) -b pdftex $(DBLATEXOPTS) \
|
||||
-p "$(DBLATEXPREFIX)/asciidoc-dblatex.xsl" \
|
||||
-p $(PDFXSL) -s $(PDFSTY) \
|
||||
$(OUTDIR)/apispec.xml -O $(OUTDIR)
|
||||
-o $(OUTDIR) $(OUTDIR)/apispec.xml
|
||||
$(QUIET)$(RM) $(OUTDIR)/apispec.xml
|
||||
|
||||
$(OUTDIR)/apispec.xml: $(CONFIG) $(SPECVERSION) man/apispec.txt $(MANSOURCES) $(MANCOPYRIGHT) $(PDFXSL) $(PDFSTY)
|
||||
$(QUIET)$(ASCIIDOC) --backend docbook $(ADOCPDFOPTS) \
|
||||
-a a2x-format=pdf -a svgpdf=pdf \
|
||||
-o $@ man/apispec.txt
|
||||
|
||||
$(OUTDIR)/apispec.html: $(CONFIG) $(SPECVERSION) man/apispec.txt $(MANSOURCES) $(MANCOPYRIGHT) $(SVGFILES)
|
||||
$(QUIET)if test ! -d $(OUTDIR) ; then $(MKDIR) $(OUTDIR) ; fi
|
||||
$(OUTDIR)/apispec.html: $(CONFIG) $(SPECVERSION) man/apispec.txt $(MANSOURCES) $(MANCOPYRIGHT) $(SVGFILES) $(GENINCLUDE) $(GENDEPENDS)
|
||||
$(QUIET)$(MKDIR) $(OUTDIR)
|
||||
$(QUIET)$(ASCIIDOC) -b html5 -d book $(ADOCOPTS) \
|
||||
-a themedir=$(CURDIR)/config -a theme=vkspec-xhtml \
|
||||
-o $@ -a svgpdf=$(SVGTYPEHTML) man/apispec.txt
|
||||
|
||||
$(HTMLDIR)/images/%: images/%
|
||||
$(QUIET)$(MKDIR) $(@D)
|
||||
$(QUIET)$(CP) $< $@
|
||||
|
||||
# Automated (though heuristic) checks of consistency in the spec and
|
||||
# ref page sources
|
||||
|
||||
@ -328,7 +348,7 @@ INSPEC = $(CHECKDIR)/inspec
|
||||
NOTINSPEC = $(CHECKDIR)/notInSpec.txt
|
||||
checkinc:
|
||||
$(QUIET)if test ! -d $(CHECKDIR) ; then $(MKDIR) $(CHECKDIR) ; fi
|
||||
$(QUIET)ls $(INCLUDES) | sort > $(ACTUAL)
|
||||
$(QUIET)ls $(GENINCLUDE) | sort > $(ACTUAL)
|
||||
$(QUIET)cat $(CHAPTERS) | \
|
||||
egrep '^include::\.\./' | tr -d '[]' | \
|
||||
sed -e 's#^include::\.\./##g' | sort > $(INCFILES)
|
||||
@ -347,13 +367,55 @@ checkinc:
|
||||
# Generates files in $(CHECKDIR):
|
||||
# specErrs.txt - errors & warnings in API spec
|
||||
# manErrs.txt - errors & warnings in man pages
|
||||
checklinks:
|
||||
checklinks: vkapi.py
|
||||
$(QUIET)if test ! -d $(CHECKDIR) ; then $(MKDIR) $(CHECKDIR) ; fi
|
||||
$(QUIET)echo "Generating link checks for spec (specErrs.txt) and man pages (manErrs.txt)"
|
||||
$(QUIET)$(PYTHON) checkLinks.py -follow man/[Vv][Kk]*.txt > $(CHECKDIR)/manErrs.txt
|
||||
$(QUIET)$(PYTHON) checkLinks.py -follow $(CHAPTERS) > $(CHECKDIR)/specErrs.txt
|
||||
|
||||
# Targets generated from the XML and registry processing scripts
|
||||
# vkapi.py - Python encoding of the registry
|
||||
# api/timeMarker - proxy for 'apiincludes' - API include files under api/*/*.txt
|
||||
# hostsynctable/timeMarker - proxy for host sync table include files under hostsynctable/*.txt
|
||||
# validity/timeMarker - proxy for API validity include files under validity/*/*.txt
|
||||
#
|
||||
# EXTLIST specifies the extensions that will be included in these
|
||||
# targets. This will differ in different extension branches, although
|
||||
# all will include the VK_KHR_sampler_mirror_clamp_to_edge extension.
|
||||
# Each extension should be specified as a separate -extension option.
|
||||
|
||||
EXTLIST = -extension VK_KHR_sampler_mirror_clamp_to_edge \
|
||||
-extension VK_KHR_wayland_surface
|
||||
REGISTRY = ../../../src/spec
|
||||
VKXML = $(REGISTRY)/vk.xml
|
||||
GENVK = $(REGISTRY)/genvk.py
|
||||
GENVKOPTS= $(EXTLIST) -registry $(VKXML)
|
||||
|
||||
vkapi.py: $(VKXML) $(GENVK)
|
||||
$(PYTHON) $(GENVK) $(GENVKOPTS) -o . vkapi.py
|
||||
|
||||
apiinc: api/timeMarker
|
||||
|
||||
api/timeMarker: $(VKXML) $(GENVK)
|
||||
$(QUIET)$(MKDIR) api
|
||||
$(QUIET)$(PYTHON) $(GENVK) $(GENVKOPTS) -o api apiinc
|
||||
|
||||
hostsyncinc: hostsynctable/timeMarker
|
||||
|
||||
hostsynctable/timeMarker: $(VKXML) $(GENVK)
|
||||
$(QUIET)$(MKDIR) hostsynctable
|
||||
$(QUIET)$(PYTHON) $(GENVK) $(GENVKOPTS) -o hostsynctable hostsyncinc
|
||||
|
||||
validinc: validity/timeMarker
|
||||
|
||||
validity/timeMarker: $(VKXML) $(GENVK)
|
||||
$(QUIET)$(MKDIR) validity
|
||||
$(QUIET)$(PYTHON) $(GENVK) $(GENVKOPTS) -o validity validinc
|
||||
|
||||
# Debugging aid - generate all files from registry XML
|
||||
generated: vkapi.py api/timeMarker hostsynctable/timeMarker validity/timeMarker
|
||||
|
||||
# README file with build instructions
|
||||
README.html: $(CONFIG) $(SPECVERSION) README.txt
|
||||
README.html: $(CONFIG) $(SPECVERSION) README.adoc
|
||||
$(QUIET)$(ASCIIDOC) -b html5 $(ADOCOPTS) \
|
||||
-o $@ README.txt
|
||||
-o $@ README.adoc
|
||||
|
@ -36,7 +36,7 @@ non-Windows environments.
|
||||
|
||||
or equivalently:
|
||||
|
||||
$ make xhtml chunked pdf manhtml manpdf manpages manhtmlpages checkinc checklinks
|
||||
$ make xhtml chunked pdf manhtml manpdf manhtmlpages checkinc checklinks
|
||||
|
||||
This will generate a variety of targets under +$(OUTDIR)+ (by default,
|
||||
+../../../out/1.0+). The checked-in file +$(OUTDIR)/index.html+ links to
|
||||
@ -50,7 +50,6 @@ them all, or they can individually be found as follows:
|
||||
** +manhtml+ - Single-file HTML in +$(OUTDIR)/apispec.html+
|
||||
** +manpdf+ - Single-file PDF in +$(OUTDIR)/apispec.html+
|
||||
** +manhtmlpages+ - File-per-entry-point HTML in +$(OUTDIR)/man/html/*+
|
||||
** +manpages+ - File-per-entry-point nroff source in +$(OUTDIR)/man/3/*+
|
||||
* Validator output:
|
||||
** +checkinc+ - List of commands, structs, etc. missing from the API spec in
|
||||
+$(OUTDIR)/checks/notInSpec.txt+
|
||||
@ -71,6 +70,12 @@ the standard +/etc/asciidoc/dblatex+ directory, set the environment variable
|
||||
+asciidoc-dblatex.xsl+ and +asciidoc-dblatex.sty+ files installed with
|
||||
asciidoc).
|
||||
|
||||
The +manpages+ target is deprecated, as the resulting Unix man pages have
|
||||
issues with content like embedded latexmath: constructs, but is still
|
||||
available for third parties wishing to generate them:
|
||||
|
||||
* +manpages+ - File-per-entry-point nroff source in +$(OUTDIR)/man/3/*+
|
||||
|
||||
|
||||
[[building-test]]
|
||||
=== Alternate and Test Builds ===
|
@ -797,35 +797,6 @@ asciidoc.install();
|
||||
<div class="sect1">
|
||||
<h2 id="intro">Introduction</h2>
|
||||
<div class="sectionbody">
|
||||
<div class="paragraph"><p><a href="http://www.khronos.org/">http://www.khronos.org/</a></p></div>
|
||||
<div class="paragraph"><p><code><a href="#www.khronos.org">www.khronos.org</a></code></p></div>
|
||||
<div class="paragraph"><p><code><a href="#out/apispec.pdf">out/apispec.pdf</a></code></p></div>
|
||||
<div class="ulist"><ul>
|
||||
<li>
|
||||
<p>
|
||||
link\:{path}/apispec.html#vkWaitForFences
|
||||
</p>
|
||||
<div class="ulist"><ul>
|
||||
<li>
|
||||
<p>
|
||||
link:../vulkan/out/apispec.html#vkWaitForFences
|
||||
</p>
|
||||
</li>
|
||||
</ul></div>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
link\:{path}/apispec.html#vkWaitForFences\[Relpath\]
|
||||
</p>
|
||||
<div class="ulist"><ul>
|
||||
<li>
|
||||
<p>
|
||||
<code><a href="#../vulkan/out/apispec.html#vkWaitForFences">../vulkan/out/apispec.html#vkWaitForFences</a></code>
|
||||
</p>
|
||||
</li>
|
||||
</ul></div>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="paragraph"><p>This README describes important stuff for getting the Vulkan API
|
||||
specification and reference pages building properly.</p></div>
|
||||
</div>
|
||||
@ -848,7 +819,7 @@ non-Windows environments.</p></div>
|
||||
<div class="paragraph"><p>or equivalently:</p></div>
|
||||
<div class="literalblock">
|
||||
<div class="content monospaced">
|
||||
<pre>$ make xhtml chunked pdf manhtml manpdf manpages manhtmlpages checkinc checklinks</pre>
|
||||
<pre>$ make xhtml chunked pdf manhtml manpdf manhtmlpages checkinc checklinks</pre>
|
||||
</div></div>
|
||||
<div class="paragraph"><p>This will generate a variety of targets under <span class="monospaced">$(OUTDIR)</span> (by default,
|
||||
<span class="monospaced">../../../out/1.0</span>). The checked-in file <span class="monospaced">$(OUTDIR)/index.html</span> links to
|
||||
@ -896,11 +867,6 @@ Reference pages:
|
||||
<span class="monospaced">manhtmlpages</span> - File-per-entry-point HTML in <span class="monospaced">$(OUTDIR)/man/html/*</span>
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<p>
|
||||
<span class="monospaced">manpages</span> - File-per-entry-point nroff source in <span class="monospaced">$(OUTDIR)/man/3/*</span>
|
||||
</p>
|
||||
</li>
|
||||
</ul></div>
|
||||
</li>
|
||||
<li>
|
||||
@ -936,6 +902,16 @@ the standard <span class="monospaced">/etc/asciidoc/dblatex</span> directory, se
|
||||
<span class="monospaced">DBLATEXPREFIX</span> to the path to that directory (the one containing the
|
||||
<span class="monospaced">asciidoc-dblatex.xsl</span> and <span class="monospaced">asciidoc-dblatex.sty</span> files installed with
|
||||
asciidoc).</p></div>
|
||||
<div class="paragraph"><p>The <span class="monospaced">manpages</span> target is deprecated, as the resulting Unix man pages have
|
||||
issues with content like embedded latexmath: constructs, but is still
|
||||
available for third parties wishing to generate them:</p></div>
|
||||
<div class="ulist"><ul>
|
||||
<li>
|
||||
<p>
|
||||
<span class="monospaced">manpages</span> - File-per-entry-point nroff source in <span class="monospaced">$(OUTDIR)/man/3/*</span>
|
||||
</p>
|
||||
</li>
|
||||
</ul></div>
|
||||
<div class="sect2">
|
||||
<h3 id="building-test">Alternate and Test Builds</h3>
|
||||
<div class="paragraph"><p>If you are just testing asciidoc formatting, macros, stylesheets, etc.,
|
||||
@ -1310,7 +1286,7 @@ Devel/git (2.5.1-1) - Needed for updating specversion.txt
|
||||
<div id="footer">
|
||||
<div id="footer-text">
|
||||
Last updated
|
||||
2016-07-14 03:33:23 PDT
|
||||
2016-07-21 01:40:18 PDT
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -1,3 +1,3 @@
|
||||
See README.html (asciidoc source in README.txt) for instructions and
|
||||
See README.html (asciidoc source in README.adoc) for instructions and
|
||||
notes about building the spec. Unfortunately gitlab won't render HTML or
|
||||
Asciidoc in its web view page, so this README.md is of limited utility.
|
||||
|
@ -8,7 +8,7 @@ ifdef::doctype-manpage[]
|
||||
endif::doctype-manpage[]
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
#if defined(__LP64__) || defined(_WIN64) || defined(__x86_64__) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
|
||||
#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__) ) || defined(_M_X64) || defined(__ia64) || defined (_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
|
||||
#define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef struct object##_T *object;
|
||||
#else
|
||||
#define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
|
@ -8,6 +8,6 @@ ifdef::doctype-manpage[]
|
||||
endif::doctype-manpage[]
|
||||
------------------------------------------------------------------------------
|
||||
// Version of this file
|
||||
#define VK_HEADER_VERSION 21
|
||||
#define VK_HEADER_VERSION 22
|
||||
|
||||
------------------------------------------------------------------------------
|
@ -25,5 +25,6 @@ typedef enum VkResult {
|
||||
VK_ERROR_INCOMPATIBLE_DRIVER = -9,
|
||||
VK_ERROR_TOO_MANY_OBJECTS = -10,
|
||||
VK_ERROR_FORMAT_NOT_SUPPORTED = -11,
|
||||
VK_ERROR_FRAGMENTED_POOL = -12,
|
||||
} VkResult;
|
||||
------------------------------------------------------------------------------
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user