2016-02-16 09:53:44 +00:00
|
|
|
// Copyright (c) 2014-2016 The Khronos Group Inc.
|
|
|
|
// Copyright notice at https://www.khronos.org/registry/speccopyright.html
|
|
|
|
|
|
|
|
= {apiname} 1.0 - A Specification
|
|
|
|
The Khronos Vulkan Working Group
|
|
|
|
include::specversion.txt[]
|
|
|
|
:icons:
|
|
|
|
:toc2:
|
|
|
|
:toc-placement: manual
|
|
|
|
:max-width: 100
|
|
|
|
:numbered:
|
|
|
|
:doctype: book
|
|
|
|
:imagewidth: 800
|
|
|
|
:fullimagewidth: {svgpdf@pdf:scaledwidth="75%":width="800"}
|
|
|
|
|
|
|
|
:vkkeyword:
|
|
|
|
|
|
|
|
//:editing-notes:
|
|
|
|
|
|
|
|
<<<<
|
|
|
|
|
|
|
|
include::copyright.txt[]
|
|
|
|
|
|
|
|
<<<<
|
|
|
|
|
|
|
|
// toc::[]
|
|
|
|
//
|
|
|
|
// include::preface.txt[]
|
|
|
|
|
|
|
|
:leveloffset: 1
|
|
|
|
include::chapters/introduction.txt[]
|
|
|
|
|
|
|
|
include::chapters/fundamentals.txt[]
|
|
|
|
|
|
|
|
include::chapters/initialization.txt[]
|
|
|
|
|
|
|
|
include::chapters/devsandqueues.txt[]
|
|
|
|
|
|
|
|
include::chapters/cmdbuffers.txt[]
|
|
|
|
|
|
|
|
include::chapters/synchronization.txt[]
|
|
|
|
|
|
|
|
include::chapters/renderpass.txt[]
|
|
|
|
|
|
|
|
include::chapters/shaders.txt[]
|
|
|
|
|
|
|
|
include::chapters/pipelines.txt[]
|
|
|
|
|
|
|
|
include::chapters/memory.txt[]
|
|
|
|
|
|
|
|
include::chapters/resources.txt[]
|
|
|
|
|
|
|
|
include::chapters/samplers.txt[]
|
|
|
|
|
|
|
|
include::chapters/descriptorsets.txt[]
|
|
|
|
|
|
|
|
include::chapters/interfaces.txt[]
|
|
|
|
|
|
|
|
include::chapters/textures.txt[]
|
|
|
|
|
|
|
|
include::chapters/queries.txt[]
|
|
|
|
|
|
|
|
// Transfer operations
|
|
|
|
include::chapters/clears.txt[]
|
|
|
|
|
|
|
|
include::chapters/copies.txt[]
|
|
|
|
|
|
|
|
// Graphics Operations
|
|
|
|
include::chapters/drawing.txt[]
|
|
|
|
|
|
|
|
include::chapters/fxvertex.txt[]
|
|
|
|
|
|
|
|
include::chapters/tessellation.txt[]
|
|
|
|
|
|
|
|
include::chapters/geometry.txt[]
|
|
|
|
|
|
|
|
include::chapters/vertexpostproc.txt[]
|
|
|
|
|
|
|
|
include::chapters/primsrast.txt[]
|
|
|
|
|
|
|
|
include::chapters/fragops.txt[]
|
|
|
|
|
|
|
|
include::chapters/framebuffer.txt[]
|
|
|
|
|
|
|
|
// Compute
|
|
|
|
include::chapters/dispatch.txt[]
|
|
|
|
|
|
|
|
// Sparse
|
|
|
|
include::chapters/sparsemem.txt[]
|
|
|
|
|
|
|
|
// Sort of an appendix
|
|
|
|
include::chapters/extensions.txt[]
|
|
|
|
|
|
|
|
include::chapters/features.txt[]
|
|
|
|
|
|
|
|
// Appendices
|
|
|
|
:numbered!:
|
|
|
|
|
|
|
|
include::appendices/spirvenv.txt[]
|
|
|
|
|
|
|
|
include::appendices/compressedtex.txt[]
|
|
|
|
|
|
|
|
include::appendices/extensions.txt[]
|
|
|
|
|
Change log for February 25, 2015 Vulkan 1.0.4 spec update:
* Bump API patch number from 3 to 4 for the first public update to the
spec. Add patch number to the spec title (this will be done
automatically from XML, later).
* Fixes for numerous editorial issues. Regularize descriptions of
variable-length array queries. Properly tag enumerants so they come
out in the right font (many were mislabeled in usage tags in vk.xml,
or not tagged). Spelling and markup corrections (public issue 4).
* Fix typos and clearly separate description of different types of
memory areas (public issue 5).
* Use standards-compliant preprocessor guard symbols on headers
(public issue 7).
* Note that Github users can't currently set labels on issues, and
recommend a fallback approach (public issue 15).
* Use latexmath prefix on len= attributes (public issue 29).
* Make flink:vkCmdUpdateBuffer pname:dataSize limit consistent (public
issue 65).
* Add VK_KHR_mirror_clamp_to_edge extension to core API branch, as an
optional feature not introducing new commands or enums (internal
issue 104).
* Cleanup invariance language inherited from the GL specification to
not refer to nonexistent (GL-specific) state (internal issue 111).
* Modify the flink:vkCmdDrawIndexed pname:vertexOffset definition to
not be the "base offset within the index buffer" but rather the
"value added to the vertex index before indexing into the vertex
buffer" (internal issue 118).
* Fix drawing chapter in the "Programmable Primitive Shading" section
where it described categories of drawing commands. It referenced
flink:vkCmdDrawIndexed twice. Replace the second reference with
flink:vkCmdDrawIndexedIndirect (internal issue 119).
* Typo fixed in <<sparsememory-examples-advanced,Advanced Sparse
Resources>> sparse memory example (internal issue 122).
* Add flink:VkDisplayPlaneAlphaFlagsKHR to <require> section of
VK_KHR_display extension (internal issue 125)
* Add missing optional="false,true" to
flink:vkGetImageSparseMemoryRequirements
pname:pSparseMemoryRequirementCount parameter (internal issue 132)
* Rename ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT to
ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT
(internal issue 133)
* Fix a handful of broken cross-references in the
<<samplers,Samplers>> chapter (internal issue 134).
* Fix "Input Attachement" GLSL example to use correct syntax (internal
issue 135).
* Update XML schema and documentation to accomodate recently added
attributes for validity. Add some introductory material describing
design choices and pointing to the public repository to file issues.
* Put include of validity in the core spec extensions chapter on its
own line, so that asciidoc is happy.
* Fix vertexOffset language to specify that it's the value added to
the vertex index before indexing into the vertex buffer, not the
base offset within the index buffer.
* Fix error in the description of flink:vkCmdNextSubpass.
2016-02-25 06:02:34 +00:00
|
|
|
include::appendices/VK_KHR_sampler_mirror_clamp_to_edge.txt[]
|
|
|
|
|
2016-02-16 09:53:44 +00:00
|
|
|
include::appendices/invariance.txt[]
|
|
|
|
|
|
|
|
include::appendices/glossary.txt[]
|
|
|
|
|
|
|
|
include::appendices/credits.txt[]
|