1f875738fd
* 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. |
||
---|---|---|
.. | ||
docbook-xsl | ||
README | ||
manpages.conf | ||
mathjax-asciidoc.conf | ||
mathjax-docbook.conf | ||
mathjax.js | ||
vkspec-dblatex.sty | ||
vkspec-dblatex.xsl | ||
vkspec-xhtml.css | ||
vkspec.conf |
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.