Commit Graph

9 Commits

Author SHA1 Message Date
Jon Leech 5d10fc3089 Change log for April 8, 2016 Vulkan 1.0.9 spec update:
* Bump API patch number and header version number to 9 for this
    update.

Github Issues:

  * Fix memory type preorder definition and clarify example list and source
    code for slink:VkMemoryRequirements and slink:VkMemoryHeap (public issue
    26).
  * Ensure slink:VkAllocationCallbacks are properly defined (public issue
    73).
  * Clarify the WSI extension language by switching from the fuzzier
    "ownership" language to more-consistent "acquire" language (public issue
    117).
  * Add language allowing allocation and freeing of memory scoped to the
    duration of any API command in the <<memory-allocation,Memory
    Allocation>> section (public issue 136).
  * Clarify the explicit location assignment always overrides the inherited
    location in the <<interfaces-iointerfaces-locations,Location
    Assignment>> section, even for the first member of a block (public issue
    141).
  * Fixed references to
    slink:VkCommandBufferInheritanceInfo::pname:pipelineStatistics (public
    issue 158).
  * Fix name of slink:VkBufferCopy::pname:size field in validity language
    for flink:vkCmdCopyBuffer (public issue 162).

Internal Issues:

  * Update GL_KHR_vulkan_glsl specification to clarify disallowance of
    spec-const arrays in initializers (internal issue 248).
  * Clarify <<interfaces-iointerfaces-matching,Interface Matching>> section
    to state that user-defined variable interface must match too (internal
    issue 250).
2016-04-07 03:53:04 -07:00
Jon Leech 8c3c9b4c85 Change log for March 25, 2016 Vulkan 1.0.7 spec update:
* Bump API patch number and header version number to 7 for this
    update.

Github Issues:

  * Fix slink:VkSpecializationMapEntry example to avoid C/C++ strict
    aliasing issues (public issue 14).

  * Clarify the meaning of "matching" in flink:vkCmdBindDescriptorSets
    validity language (public issue 33).

  * Add stub reference pages so xrefs to not-yet-written pages don't
    generate 404 errors. However, the actual content of these pages
    still needs to be filled in as time allows (public issue 44, but
    does not close that issue out).

  * Remove incorrect validity statement for
    flink:vkGetImageSparseMemoryRequirements (public issue 85).

  * Reword the
    <<features-limits-bufferImageGranularity,bufferImageGranularity>>
    feature in terms of "aliasing", and clarify that it applies to
    bindings in the same memory object (public issue 90).

  * Clarify the relationship of the slink:VkPhysicalDeviceLimits
    pname:maxViewportDimensions and pname:viewportBoundsRange limits
    (public issue 92).

  * Specify sparse unbound texture replacement in the
    <<textures-texel-replacement,Texel Replacement>> section
    independently of robust buffer access language (public issue 100).

  * Add the <<fundamentals-architecture-model,Architecture Model>>
    section to explain architecture constraints Vulkan has chosen to
    accept in order to enable portable and performant code (public issue
    122).

  * State that an object must not be destroyed until *all* (not *any*)
    uses of that object have completed (public issue 123).

  * Minor editorial cleanup (public issues 129, 134, 146, 148).

  * Add validity language for layer and extension names to
    slink:VkDeviceCreateInfo matching that used for
    slink:VkInstanceCreateInfo (public issue 130).

  * Clean up terminology for the case when the bits set in one bitmask
    are a subset of the bits set in another bitmask (public issue 138).

  * Document that input attachments are UniformConstant not Input, in
    the <<interfaces-inputattachment,Fragment Input Attachment
    Interface>> section (public glslang bug 169).

Internal Issues:

  * Add max enum values to "flag bits" enums (internal issue #136).

  * Clarify language around the various uses of the term "block" in the
    <<appendix-compressedtex-bc,Block Compressed Image Formats>> section
    (internal issue #202).

  * Removed "expand" dependency from <enums> groups in vk.xml and added
    auto-generation code in the scripts to infer it instead, to ensure
    consistency. This caused renaming of sname:VkColorSpaceKHR and
    sname:VkPresentModeKHR etext:BEGIN_RANGE (etc.) tokens, but those
    tokens are metadata, not part of the API, and the Vulkan WG is OK
    with this change. This change adds ranges to two additional enums
    that were missing them due to not defining the "expand" attribute
    (internal issue 217).

  * Tweak makefile to generate ref page nroff (.3) files in the right
    output directory, working around an a2x limitation (internal issue
    223).

Other Commits:

  * Add validity requirements for flink:vkCmdCopyQueryPoolResults
    pname:dstBuffer parameter.

  * Fix ref page build to generate .3 targets in the right output
    directory.
2016-03-25 02:25:04 -07:00
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
    &lt;&lt;interfaces-iointerfaces-locations,Location Assignment>>
    section (public issue 45).
  * Editorial fixes for &lt;&lt;commandbuffer-allocation,Command Buffer
    Allocation>> section (public issues 54, 59).
  * Clarify behavior of depth test in the &lt;&lt;fragops-depth,Depth
    Test&gt;&gt; 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 &lt;&lt;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 &lt;&lt;fig-non-strict-lines,Non
    strict lines>> diagram. Use more easily distinguished symbols in
    tables in the &lt;&lt;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
    &lt;&lt;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
Jon Leech 7380aee56b Change log for March 4, 2016 Vulkan 1.0.5 spec update:
* Bump API patch number to 5 for this update.

Github Issues:
  * Correctly describe slink:VkPhysicalDeviceProperties pname:deviceName
    member as a string, not a pointer to a string. Also one typo fix for
    "hetereogeneous" (public issue 4).
  * Replace maynot: macro with may: not, and "may: or maynot:" with
    "may:" (public issue 4).
  * Clarify that redundantly setting the state of a fence or event has
    no effect (public issue 4).
  * Minor fixes to ref pages to track descriptions of memory bits that
    changed in the core spec. Fix name of a member in the description of
    sname:sname:VkPipelineMultisampleStateCreateInfo (public issues 8,
    13).
  * Remove redundant validity statement for
    sname:VkGraphicsPipelineCreateInfo::pname:stageCount (public issue
    14).
  * Fix typos in chapters 7-9 (public issue 14).
  * Clarify the example demonstrating the behavior of
    code:OpMemoryBarrier in the
    &lt;&lt;shaders-execution-memory-ordering,shader memory acces
    ordering>> section (public issue 16).
  * Specify that freeing mapped memory implicitly unmaps the memory in
    the description of flink:vkFreeMemory (public issue 17).
  * Forbid allocation callbacks from calling into the API in the
    &lt;&lt;memory-allocation,memory allocation>> section (public issue
    20).
  * Add missing validity rules about size being greater than 0 and
    offset being less than size of object. Fix
    flink:VkMappedMemoryRange's misinterpretation of offset (public
    issues 27, 31).
  * Add validity rule disallowing overlapping source/destination
    descriptors in flink:VkCopyDescriptorSet (public issue 32).
  * Clarify that array and matrix stride has to be a multiple of the
    base alignment of the array or matrix in the
    &lt;&lt;interfaces-resources-layout,Offset and Stride Assignment>>
    section (public issue 38).
  * Correct parenthesis floor nesting error in equation for
    &lt;&lt;textures-RGB-sexp,RGB to shared exponent conversion>>.
    Clarify case of when exp' is forced to 0, avoiding log2(0) undefined
    problem (public issue 40).
  * Remove redundant statement from the code:FragDepth description in
    the &lt;&lt;interfaces-builtin-variables,Built-In Variables>>
    section (public issue 47).
  * Define the clamping of the
    &lt;&lt;textures-level-of-detail-operation,bias added to the scale
    factor>> by linking to the slink:VkPhysicalDevice feature
    pname:maxSamplerLodBias (public issue 64).
  * Fix typo "optimal linear resources" and clarify the set of resources
    &lt;&lt;features-limits-bufferImageGranularity,the
    pname:bufferImageGranularity resource>> applies to (public issue
    67).
  * Replace 'descriptor accessed by a pipeline' language for
    sname:VkDescriptorSetAllocateInfo with more precise phrasing about
    binding a descriptor set before a command that invokes work using
    that set (public issue 69).
  * tstripadj.svg contained an Inkscape tag which caused Firefox and IE
    11 to fail to render it, and was illegal SVG. Generating Plain SVG
    from the Inkscape SVG source fixes this (public issue 70).
  * Fix validity for sname:VkVertexInputBindingDescription and
    sname:VkVertexInputAttributeDescription numbers (public issue 72).

Internal Issues:
  * Clarify the meaning of
    ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT in
    elink:VkFormatFeatureFlagBits with respect to depth compare
    (internal issue 107).
  * Added a note explaining that ename:VK_QUEUE_TRANSFER_BIT may or may
    not be reported for a queue family that already supports
    ename:VK_QUEUE_GRAPHICS_BIT or ename:VK_QUEUE_COMPUTE_BIT as the
    former is a strict subset of the latter ones (internal issue 116).
  * Add validity language for sname:VkDescriptorSetAllocateInfo about
    exceeding the descriptor pool capacity (internal issue 140).
  * Add ename:VK_INCOMPLETE success code for
    flink:vkEnumeratePhysicalDevices query (internal issue 163).

Other Commits:
  * Add the VK_NV_glsl_shader extension definitions to the API.
  * Update GL_KHR_vulkan_glsl with 1) origin_upper_left as default 2)
    specialization array constant semantics.
  * Corrected/updated Data Format Specification date.
2016-03-03 05:06:18 -08:00
Jon Leech 1f35f84e2b Fixes for #101 (public issue 101)
This is for people to review edits for @philiptaylor's points, but I'll
probably pull equivalent changes back into the private repo and merge
there before bringing it back to github in one of the (hopefully) weekly
updates.

[ChangeLog] This bundles up low-hanging editorial issues from public issue
101. Some items from that issue are more complex and remain to be done.
There's also some related cleanup of the extensions appendix to clarify the
distinction between a Vulkan API command, and the functions and function
pointers corresponding to that command which may be provided by the API
loader and runtime.

Remaining todo from #101 :

- [ ] 24.5.1 "Ab, Yb, Zb" -> "Xb, Yb, Zb".
- [ ] 29.2 "explicitly enabled layers" clarification.
- [ ] 30.3.3 Confusingly similar tiny circle symbols in format tables.
- [ ] 30.3.3 Missing information about some formats.
- [ ] C.3 Clarify or punt on "lower-case UTF-8" in FQDN layer names.
2016-02-28 02:53:20 -08:00
Jon Leech dde9d516ba Merge pull request #50 from philiptaylor/typos
Fix some typos
2016-02-27 12:56:21 -08:00
Philip Taylor 8163debe2f Fix incorrect SPIR-V instruction names 2016-02-21 23:18:07 +00:00
Philip Taylor d8a5eb75fc interfaces.txt: Fix typos 2016-02-21 22:53:42 +00:00
Jon Leech d204ac2f69 Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00