Vulkan-Docs/doc/specs/vulkan/config
Jon Leech 1f875738fd Change log for March 10, 2016 Vulkan 1.0.6 spec update:
* Bump API patch number and header version number to 6 for this
    update.

Github Issues:
  * Define 'invocation group' for compute and graphics shaders. Cleanup
    definition and use of 'workgroup', and add glossary entries (public
    issue 1).
  * Various minor editorial fixes (public issue 33).
  * Clarify locations for block members in the
    <<interfaces-iointerfaces-locations,Location Assignment>>
    section (public issue 45).
  * Editorial fixes for <<commandbuffer-allocation,Command Buffer
    Allocation>> section (public issues 54, 59).
  * Clarify behavior of depth test in the <<fragops-depth,Depth
    Test>> section (public issues 80, 81).
  * Remove discussion of return codes from
    flink:vkGetPhysicalDeviceSparseImageFormatProperties and
    flink:vkGetImageSparseMemoryRequirements, which don't return values
    (public issue 82).
  * Allow flink:vkCmdDrawIndirect and flink:vkCmdDrawIndexedIndirect
    pname:drawCount of 0, as well as 1, when the multiDrawIndirect
    feature is not supported (public issue 88).
  * Remove confusing wording in the <<features-limits,Limits>>
    section describing the slink:VkPhysicalDeviceLimits
    pname:minTexelBufferOffsetAlignment,
    pname:minUniformBufferOffsetAlignment, and
    pname:minStorageBufferOffsetAlignment members as both minimums and
    maximums (public issue 91).
  * Clarified that only the RGB components should be affected in places
    where sRGB is referred to in the spec, such as ASTC formats. Minor
    re-wording to avoid "color space" when actively incorrect, now that
    we refer to the Data Format Spec which actually makes a distinction
    between color space and transfer function (public issue 94).
  * Treat pname:pPropertyCount == 0 consistently in
    flink:vkEnumerateInstanceLayerProperties and
    flink:vkEnumerateDeviceLayerProperties (public issue 99)
  * Cleanup minor editorial issues in chapters 14-17 (public issue 100).
  * Clarify definition of flink:vkEnumerateInstanceExtensionProperties
    and flink:vkEnumerateDeviceExtensionProperties (public issue 101).
  * Define the flink:vkEnumerateInstanceExtensionProperties and
    flink:vkEnumerateDeviceExtensionProperties pname:pLayerName
    parameter to be a pointer to a null-terminated UTF-8 string (public
    issue 101).
  * Rearrange "Missing information" references in mandatory format
    tables (public issue 101).
  * Clarify that the enumerated extensions returned by
    flink:vkEnumerateInstanceExtensionProperties and
    flink:vkEnumerateDeviceExtensionProperties will only include
    extensions provided by the platform or extensions implemented in
    implicitly enabled layers (public issue 101).
  * Miscellaneous editorial fixes. Include the Vulkan spec patch number
    in the PDF title. Fix label on <<fig-non-strict-lines,Non
    strict lines>> diagram. Use more easily distinguished symbols in
    tables in the <<features-required-format-support,Required
    Format Support>> section. Don't require FQDNs used as layer names be
    encoded in lower case if not possible, in the
    <<extensions-naming-conventions, Extension and Layer Naming
    Conventions>> section (public issues 101, 119, 121).

Internal Issues:
  * Fixed excessive spacing in tables in XHTML (internal issue 18).
  * Clarify that ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
    applies to secondary command buffers. Previously spec only referred
    to the members of pname:pCommandBuffers being affected by this bit.
    Added a separate slink:VkSubmitInfo Valid Usage restriction
    specifying that ename:VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT
    also applies to any secondary command buffers that are recorded into
    the primary command buffers in pname:pCommandBuffers (internal issue
    106).
  * Clarify that slink:VkDeviceCreateInfo::pname:pEnabledFeatures can be
    NULL (internal issue 117).
  * Remove "the value of" where it is redundant (e.g. speaking of an API
    parameter, struct member, or SPIR-V variable, but not when speaking
    of color components) (internal issue 175).
  * Forced patch version to always be 0 in the header. Add a
    "VK_API_VERSION_<major>_<minor>" macro for people to use to do the
    right thing. Add a VK_HEADER_VERSION which captures the header
    release number independent of the spec patch number (internal issue
    176).
  * Correct description of
    slink:VkPipelineShaderStageCreateInfo::pname:pName to "a pointer to
    a null-terminated UTF-8 string" (internal issue #197).

Other Commits:
  * Updated DataFormat spec reference to the new date for revision 5 of
    that spec.
  * Fixed KEEP option (to retain LaTeX intermediate files) in the
    Makefile to be included when edited there, as well as set on the
    command line.
  * Reserve and add "VK_IMG_filter_cubic" to the registry, and implement
    script functionality to add and remove validity from existing
    functions. Includes schema and readme changes.
  * Update GL_KHR_vulkan_glsl so push_constants do not have descriptor
    sets.
2016-03-10 17:33:02 -08:00
..
docbook-xsl Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
README Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
manpages.conf Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
mathjax-asciidoc.conf Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
mathjax-docbook.conf Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
mathjax.js Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
vkspec-dblatex.sty Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
vkspec-dblatex.xsl Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00
vkspec-xhtml.css Change log for March 10, 2016 Vulkan 1.0.6 spec update: 2016-03-10 17:33:02 -08:00
vkspec.conf Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00

README

There's apparently some sort of parsing issue with comments in vkspec.conf,
so they are pulled out here for now.

// The [efs]link macros insert named xrefs to the specified target
// enumerated type, function, or structure name, and are also used
// for validation.
// Could also use <xref linkend="{target}"/>

// The [efsp]text macros insert the specified target enumerant, function,
// structure or parameter name, and are NOT used for validation. They are
// otherwise identical to the [efsp]name macros above, and are intended
// to get the proper formatting for terms that are *not* actually API
// features, e.g. wildcards or partial names.

// The [efsp]name macros insert the specified target enumerant, function,
// structure or parameter name, and are also used for validation.

// The basetype macro inserts text for the specified base (scalar) type. It
// is not currently used for validation, but will be eventually

// The code macro inserts text for the specified shader code function or
// variable.

// I have no idea what the old 'vkkeyword' macro does, but it appears
// to be unused, so removed it and archived here for the moment.
//
// (?u)^(?P<name>):(?P<subslist>\S*?)(\[(?P<passtext>.*?)\])$=vkkeyword
//
// [vkkeyword-inlinemacro]
// {passtext}

--------------- PDF Generation ----------------

vkspec-dblatex.xsl is XSL specific to a2x->dblatex->PDF spec generation.
It is a very slightly modified version of
/etc/asciidoc/dblatex/asciidoc-dblatex.xsl, as follows:

>   <xsl:param name="latex.hyperparam">colorlinks,linkcolor=black,pdfstartview=FitH</xsl:param>
>   <xsl:param name="doc.publisher.show">0</xsl:param>
>   <xsl:param name="latex.output.revhistory">0</xsl:param>

and has been simplified to just those parameters. Additional templates
replacing those under
    /usr/share/xml/docbook/stylesheet/dblatex/xsl/* can be added here.

--------------- XHTML Generation ----------------

vkspec-xhtml.css is CSS for the xhtml and chunked targets. It is pulled
in from docbook-xsl/common.xsl. This gives us direct control over the
CSS for the document, including support for markup styles.

--------------- Asciibook Stylesheets ----------------

docbook-xsl/chunked.xsl
docbook-xsl/common.xsl
docbook-xsl/xhtml.xsl
    replace parts of the asciibook stylesheets normally found under
/etc/asciidoc/docbook-xsl
    in order to generate consistent IDs on sections and to insert
MathJax <script> tags into HTML headers. More will be required for other
HTML output types.

--------------- Support for Math ----------------

mathjax-asciidoc.conf
mathjax-docbook.conf
mathjax.js
    customize asciidoc macros for HTML and Docbook output to insert
    MathJax <script> tags from mathjax.js, and properly pass through
    math which has \begin{}\/end{} delimiters instead of $$\[\]\(\),
    using the <?texmath delimiters="user"?> processing instruction.

    Note that mathjax-docbook.conf is heavily conditionalized depending
    on whether the final output format (which should be described in the
    a2x-format variable) is 'pdf' or not, since Docbook passes through
    math differently to dblatex vs. the HTML stylesheets.