Jon Leech f4c4113d07 Change log for July 15, 2016 Vulkan 1.0.21 spec update:
* Bump API patch number and header version number to 21 for this update.

Github Issues:

  * Clarify how <<features-supported-sample-counts,sample count queries>>
    relate to the limits in slink:VkPhysicalDeviceLimits. (public issue
    185).
  * Clarify in the <<interfaces-iointerfaces,Shader Input and Output
    Interfaces>> section that shader output variables have undefined values
    until the shader writes to them (public issue 240).
  * Specify the implicit value of image parameters that cannot be set in
    slink:VkSwapchainCreateInfo::pname:flags, pname:imageType,
    pname:mipLevels, pname:samples, pname:tiling, and pname:initialLayout
    (public issue 243).
  * Make use of code:NULL and code:VK_NULL_HANDLE consistent in the
    VK_KHR_swapchain extension (public issue 276).

Internal Issues:

  * Clarify that presenting an image to a display surface swapchain applies
    the display surface's mode, and that destroying a display surface
    swapchain may reset the display's mode, in the VK_KHR_display_swapchain
    extension (internal issue 247).
  * Better describe what a slink:VkSurfaceKHR is, and that creating one does
    not set a mode, in the VK_KHR_display extension. This is a round-about
    way of pointing out that mode setting is not covered by the extension,
    but rather is performed as a side effect of presentation (internal issue
    247).
  * Add more valid usage statements to flink:vkQueuePresentKHR command when
    the VK_KHR_display_swapchain extension is present (internal issue
    247).
  * Add more includes to the VK_KHR_swapchain extension to better document
    interactions with VK_KHR_display_swapchain (internal issue 247).
  * Clarify restrictions on location aliasing in the
    <<fxvertex,Fixed-Function Vertex Processing>> section (internal issue
    370).
  * Add mathematical description of blitting to flink:vkCmdBlitImage, and
    link it to the <<textures,Image Operations>> chapter. Use mathematical
    notation for ranges of texel coordinates in the <<textures,Image
    Operations>> chapter. Fixed miscellaneous validity statements for
    flink:vkCmdBlit and slink:VkImageBlit (internal issue 382).

Other Commits:

  * Added a valid usage rule to flink:VkGraphicsPipelineCreateInfo that the
    ename:VK_PRIMITIVE_TOPOLOGY_PATCH_LIST topology must only be used when
    tessellation shaders are used.
  * Expand the style guide into a formal "Procedures and Conventions"
    document. Add a API Naming Conventions section, move most of the API
    Specification Appendix C (Layers and Extensions) content into the new
    document, and define the resulting procedures as mandatory (where
    relevant). This more clearly separates use vs. specification of Vulkan
    APIs.
  * Update vk_platform.h to handle 32-bit ARMv8 binaries.
  * Various minor cleanups to the Makefile and build process.
2016-07-15 19:05:43 -07:00
..
2016-02-16 01:53:44 -08:00
2016-02-16 01:53:44 -08:00

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.