Commit Graph

21 Commits

Author SHA1 Message Date
Jon Leech e2d981c029 Change log for July 10, 2016 Vulkan 1.0.20 spec update:
* Bump API patch number and header version number to 20 for this
    update.

Github Issues:

  * Replaced existing reference pages by text automatically extracted
    from the specification source, or generated from vk.xml in some
    cases. This isn't a complete solution for the reference pages, but
    puts them in a much better state. The ref pages (only) are now
    placed under a CC BY open source license, which is more current than
    the obsolete license previously used.

    Further improvements to the pages should not edit them directly, but
    instead concentrate on the specification source from which the ref
    pages are being extracted (public issues 44, 55, 160; internal issue
    389).
2016-07-10 18:13:41 -07:00
Jon Leech e5b16130fe Change log for July 1, 2016 Vulkan 1.0.19 spec update:
* Bump API patch number and header version number to 19 for this
    update.

Github Issues:

  * Clarified how flink:vkGetImageSubresourceLayout interacts with image
    layouts (public issue 247).
  * Remove ename:VK_IMAGE_LAYOUT_PREINITIALIZED from valid usage rule for
    slink:VkImageMemoryBarrier::pname:oldLayout. It is only valid if it is
    the current layout (public issue 248).
  * Modify valid usage for flink:vkBindBufferMemory so implementations are
    free to require a different backing memory size than the buffer size
    (public issue 251).
  * Clarify that filtering rules for flink:vkCmdBlitImage always apply, and
    are usually no-ops if the formats are the same (public issue 253).
  * Remove 'non-sparse' from description of
    flink:vkGetBufferMemoryRequirements and
    flink:vkGetImageMemoryRequirements (public issue 257).
  * Remove ename:VK_ERROR_LAYER_NOT_PRESENT error code from
    flink:vkCreateDevice (public issue 259).
  * Change "must not" to "should not" in constraint on when
    flink:vkAcquireNextImageKHR is called in the +VK_KHR_swapchain+ branch
    (public issue 262).
  * Change type of flink:vkCmdUpdateBuffer::pname:pData from
    basetype:uint32_t* to basetype:void* (public issue 263).
  * Change should: to must: in description of where additional segments are
    placed in the <<[tessellation-tessellator-spacing,Tessellator Spacing>>
    section (public issue 264).

Internal Issues:

  * Normalize the language of all the compute shader built-ins in the
    <<interfaces-builtin-variables,Built-in Variables>> section (internal
    issue 323).
  * Remove definition of presentation engine internal queue lengths
    associated with ename:VK_PRESENT_MODE_FIFO_KHR and
    ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR in the <<Window System
    Integration,wsi>> chapter (internal issue 374).
  * The language of a Note was too broad, and implied that loaders for a
    given OS would statically export functions for WSI extensions that
    weren't relevant to (or supported on) the OS. Also, removed
    "Khronos-provided" since the Android loader isn't (internal issue 380)

Other Commits:

  * Add ename:VK_INCOMPLETE to list of return values for
    flink:vkGetPipelineCacheData. Spec says this value is returnable, but it
    wasn't listed in the error codes.
  * Fix "correponds" typo in member definitions for
    slink:VkSubpassDescription.
2016-06-30 19:34:54 -07:00
Jon Leech eb9997129d Change log for June 24, 2016 Vulkan 1.0.18 spec update:
* Bump API patch number and header version number to 18 for this
    update.

Github Issues:

  * Added "queue operation" terminology, and modified spec to actually
    use this terminology (public issue 155). The act of submitting a
    piece of work to a queue now generates "operations" for the queue to
    execute, including operations to wait on/signal semaphores and
    fences. Synchronization waits on these operations, making execution
    dependency chains more obvious for semaphores and fences (though
    additional work is still needed here). These changes include:
  ** Overview of "queue submission" commands in chapter
     <<devsandqueues-submission>>.
  ** Updated descriptions for fence and semaphore waits and signals in
     the synchronization chapter <<synchronization-semaphores-waiting>>,
     <<synchronization-semaphores-signaling>> and
     <<synchronization-fences-waiting>>.
  ** Clarifications to semaphore and fence operation within queue
     submission functions.
  ** New glossary terms.
  ** Moved device idle and queue wait idle to synchronization chapter in
     order to describe them in terms of other synchronization
     primitives.
  ** Clarifications to semaphore and fence operation allowed removal of
     the "implicit ordering guarantees" section, as this information is
     now wholly covered where these primitives are described.
  *** The "host writes" section of this is still there for now - in its
      own section. This could probably be merged into other sections
      later.
  *** Modified fundamentals chapter on queue ordering to make sense in
      context of the new changes, and avoid duplication.
      <<fundamentals-queueoperation>>
  * Added "aspect" and "component" definitions to the glossary, and made
    sure these terms are referenced correctly (public issue 163).
  * Update valid usage for ftext:vkGet*ProcAddr to only include
    conditions that must be met to get a valid result. In particular,
    it's okay to call flink:vkGetDeviceProcAddr with any string and will
    get a code:NULL if that string is not a core Vulkan function or an
    enabled extension function (addresses but does not fully close
    public issue 214).
  * Change the WSI extension dependencies to refer to version 1.0 of the
    Vulkan API, instead of the pre-1.0-release internal revisions
    numbers (public issue 238).
  * Specified that <<interfaces-fragmentoutput,undeclared fragment
    shader outputs>> result in undefined values input to the blending
    unit or color attachment (public issue 240).

Internal Issues:

  * Better documented that the registry XML "optional" tag for values
    only applies when that value is the size of an array (internal issue
    335).
  * Add a stronger definition for the valid usages of
    VkSpecializationMapEntry.size in the
    <<pipelines-specialization-constants,Specialization Constants>>
    section (internal issue 345).
  * Change code:OpName to code:OpDecorate (along with appropriate
    syntax) for vertex shader built-ins (internal issue 368).
  * Add missing ref pages (those which are not currently stubs) to
    apispec.txt for the single-page version of the ref pages (internal
    issue 378).

Other Commits:

  * Fix example in the <<descriptorsets,Descriptor Sets>> section to use
    M, N, and I, describing set, binding, and index, consistently
    throughout the example code.
2016-06-23 03:18:00 -07:00
Jon Leech 31018cf088 Change log for June 17, 2016 Vulkan 1.0.17 spec update:
* Bump API patch number and header version number to 17 for this
    update.

Github Issues:

  * Update description of vertex shader reuse in
    <<shaders-vertex-execution>> (public issue 106).
  * Simplify validity language around pname:ppEnabledExtensionNames and
    pname:ppEnabledLayerNames (in the <<initialization-instances>> and
    <<devsandqueues-device-creation>> sections) (public issue 214).
  * Add missing validity rule to flink:vkCmdBeginRenderPass requiring
    compatibility between slink:VkAttachmentDescription pname:initalLayout
    members and the corresponding attached framebuffer images (public issue
    233).
  * Fix Unicode arrows appearing in output instead of relational operators
    (public issue 239).
  * Correctly describe the required number of elements for
    code:TessLevelInner and code:TessLevelOuter arrays in the
    <<interfaces-builtin-variables,Built-In Variables>> section as two and
    four, respectively, instead of the other way around, and refer to this
    section from the <<tessellation,Tessellation>> chapter (public issue
    246).

Internal Issues:

  * Document deprecation of ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR in the
    VK_KHR_surface extension branch, and of
    ename:VK_STRUCTURE_TYPE_DEBUG_REPORT_CREATE_INFO_EXT in the
    VK_EXT_debug_report branch (internal issue 328).
  * Added language to define what a valid usage statement is and should be,
    with a note about some apparent weirdnesses this might entail (internal
    issue 357).

Other Commits:

  * Added missing ename:VK_ERROR_DEVICE_LOST error to
    flink:vkQueueBindSparse.
2016-06-17 15:39:39 -07:00
Jon Leech 5de77cf663 Change log for June 10, 2016 Vulkan 1.0.16 spec update:
* Bump API patch number and header version number to 16 for this
    update.

Github Issues:

  * Clarify that integer border values are meant to be 0/1, and that
    integer texture lookups are sign-extended in the
    <<textures-format-conversion,Format Conversion>> and
    <<textures-texel-replacement,Texel Replacement>> sections (public
    issue 52).
  * Add logic to generate spec boilerplate without using the 'git'
    command-line client, needed when building from a tarball or another
    source of the Vulkan tree rather than a cloned git repo. Remove
    boilerplate as part of 'clean' target (public issue 195).
  * Document that color writes and clears to unused attachments have no
    effect for slink:VkClearAttachment and
    elink:VkColorComponentFlagBits (public issue 198).
  * Fixed flink:vkCmdExecuteCommands validity statement for
    sname:VkCommandBufferInheritanceInfo::pname:framebuffer. If used, it
    must match the framebuffer in the current renderpass instance
    (public issue 226).
  * Added valid usage language to require for all functions that set
    dynamic state that the currently bound graphics pipeline has the
    corresponding dynamic state enabled (public issue 235).

Internal Issues:

  * Clarify for flink:vkEnumerateInstanceExtensionProperties, in the
    <<extended-functionality-instance-extensions-and-devices, Instance
    Extensions and Device Extensions>> section, and in the
    <<glossary,Glossary>> section when functionality should be exposed
    as an instance extension, as a device extension, or as both
    (internal issue 109).
  * Place WorkgroupSize in alphabetical order in the
    <<interfaces-builtin-variables,Built-in Variables>> section
    (internal issue 323).
  * Corrects valid usage in vkEndRenderPass to only affect primary
    render passes, as secondaries may be entirely within a render pass,
    and should be able to be ended (previous language disallowed that)
    (internal issue 338).
  * Fix relational operator from <= to >= in the
    <<features-extentperimagetype,Allowed Extent Values>> section
    (internal issue 343).
  * Disallow recursion under SPIR-V entry points in the
    <<spirvenv-module-validation,Validation Rules within a Module>>
    section (internal SPIR-V issue 37).

Other Commits:

  * Use standard Python ElementTree package instead of lxml.etree in
    header / validation layer / include autogeneration from XML,
    reducing platform dependencies.
2016-06-10 15:49:54 -07:00
Jon Leech 36ce3ba5c1 Change log for May 27, 2016 Vulkan 1.0.15 spec update:
* Bump API patch number and header version number to 15 for this
    update.

Github Issues:

  * Fixed the <<glossary,Glossary>> entry for Fragment Input Attachment
    Interface to specify code:UniformConstant storage class (public issue
    156).
  * Disallow lazily allocated memory for buffers in the description of
    slink:VkMemoryRequirements::pname:memoryTypeBits (public issue 196).
  * Add numbered figure captions (public issue 219).
  * Fix output variable names in the <<fundamentals-fpfixedconv,Conversion
    from Floating-Point to Normalized Fixed-Point>> section and related
    minor normative language and markup cleanup (public issue 220).

Internal Issues:

  * Fix reference to nonexistent etext:VK_IMAGE_LAYOUT_TRANSFER_{SRC,DST}BIT
    to the actual etext:VK_IMAGE_LAYOUT{SRC,DST}_OPTIMAL (internal issue
    296).
  * Update the <<sparsememory-sparse-memory-aliasing,Sparse Resource
    Implementation Guidelines>> to refer to the correct feature names
    (internal issue 305).
2016-05-27 03:37:56 -07:00
Jon Leech b3d48022bb Change log for May 20, 2016 Vulkan 1.0.14 spec update:
* Bump API patch number and header version number to 14 for this
    update.

Github Issues:

  * Fix validity language for sname:VkCommandBufferAllocateInfo to
    impose range limits on pname:commandBufferCount (public issue 178).
  * Fix validity language for flink:vkCmdExecuteCommands to refer to the
    correct structure names (public issue 179).
  * Fix two copy-and-paste errors in the WSI queries, where the wrong
    term was used for what was being returned (public issue 206).
  * Add a note in the documentation of
    flink:vkGetPhysicalDeviceSurfaceFormatsKHR, about what it means if
    ename:VK_FORMAT_UNDEFINED is returned (public issue 207).

Internal Issues:

  * Clarify the usage and correct the name for the bitmask referenced in
    <<queries-pipestats,Pipeline Statistics Queries>> (internal issue
    334).

Other Commits:

  * Fix the names of decorations listed in the
    <<interfaces-builtin-variables,Built-in Variables>> section such
    that they match the SPIR-V specification.
2016-05-18 20:07:40 -07:00
Jon Leech 2656f45933 Change log for May 13, 2016 Vulkan 1.0.13 spec update:
* Bump API patch number and header version number to 13 for this
    update.

Github Issues:

  * Improve the description of ename:VK_PRESENT_MODE_FIFO_RELAXED_KHR in the
    VK_KHR_surface extension (public issue 174).
  * Clarify use of etext:*_SIMULTANEOUS_USE_BIT for secondary command
    buffers (public issue 182).
  * Fix typos in VK_KHR_wayland_surface extension where code:wl_device was
    used instead of code:wl_display (public issue 193).
  * Replaced {apiname} with ``Vulkan'' in XML validity statements (public
    issue 199).
  * Fix dead links for WSI handle types (public issue 200).
	*** N.b. this needs to be done in WSI branches as well ***
  * Use "signaled" instead of "signalled" spelling everywhere (public issue
    201).
	*** N.b. this needs to be done in WSI branches as well ***
  * Move readme.pdf target directory for XML schema documentation into the
    target generation directory, instead of leaving it checked into the spec
    source tree (public issue 203).
	*** N.b. need to add generated PDF to registry index/1.0 page
  * Fix duplicate 'which which' typo in description of
    elink:VkCommandPoolResetFlagBits (public issue 204).
  * Move the <<Programmable Primitive Shading>> section up one level, out of
    the <<drawing-primitive-topologies,Primitive Topologies>> section
    (public issue 209).

Internal Issues:

  * Clarify in the <<pipelines-cache,Pipeline Cache>> section that
    implementations should not manage the size of pipeline cache (internal
    issue 192).
  * Deprecate the concept of device layers and associated commands (internal
    issue 255).
  * Remove ename:VK_INCOMPLETE from the list of possible result codes of
    flink:vkGetPhysicalDeviceSurfaceCapabilitiesKHR (internal issue 314).
  * Add missing std140/std430 rule: the base alignment of a member following
    a structure is a multiple of the structure's base alignment (internal
    issue 321).
  * Fixes naming of the single elink:VkColorSpaceKHR enum from
    ename:VK_COLORSPACE_SRGB_NONLINEAR_KHR to
    ename:VK_COLOR_SPACE_SRGB_NONLINEAR_KHR in XML/header and the
    VK_KHR_swapchain and VK_KHR_surface extensions to match the style of the
    typename (space and color are two words, not one) (internal issue 322).
  * Make it clear that code:LocalInvocationID should only be applied to an
    input variable and normalize the language describing
    code:LocalInvocationID to the language for other compute shader
    variables in the <<interfaces-builtin-variables,Built-in Variables>>
    section, and add normative language (internal issue 323).
  * Clarify in the <<fundamentals-returncodes,Return Codes>> section that
    the result pointer may be modified for specific commands, even if a
    runtime error is returned (internal issue 324).
2016-05-13 17:01:59 -07:00
Jon Leech 75bbb5f4d5 Change log for April 29, 2016 Vulkan 1.0.12 spec update:
* Bump API patch number and header version number to 12 for this
    update.

Github Issues:

  * Change valid usage statements intended to be "sub-points" to
    be actual sub-points (public issue 66).
  * Replace double negation in description of
    slink:VkRenderPassBeginInfo::pname:pClearValues (based on public
    merge 142).
  * Cleanup minor typos in spec, ref pages and XML, including those
    proposed in public pull requests 144, 150, 151, 167, 168, 181, and
    186.
  * Use *strict subset* in describing the partial order of memory
    property types for slink:VkMemoryType, and update the style guide
    accordingly (public issue 190).
  * Fix various "a image" -> "an image" typos (public issue 191).
  * Note in the <<fundamentals-validusage,Valid Usage>> and
    <<extensions-interactions,Extension Interactions>> sections that
    structures defined by extensions which may be passed in structure
    chains using the ptext:pNext member must: include initial
    ptext:sType and ptext:pNext members (public issue 192).

Internal Issues:

  * Remove duplicate language from the description of the pname:fence
    parameter to flink:vkQueueSubmit and improve validity language
    (internal issue 91).
  * Added documentation for "optional" attribute to XML readme.tex/pdf
    (internal issue 149).
  * Clarify the host-side data validity rules and behavior of
    flink:vkFlushMappedMemoryRanges and
    flink:vkInvalidateMappedMemoryRanges (internal issue 266).

Other Commits:

  * Added clarification to flink:vkCmdFillBuffer regarding the use of
    ename:VK_WHOLE_SIZE.
  * Fixed and documented implementation of "validextensionstructs"
    attribute. in XML processing scripts and readme.tex/pdf.
  * Add missing validity statements to flink:vkResetEvent and
    flink:vkCmdResetEvent.
  * Fix validity for the
    ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT flag.
    Correct all the draw/dispatch commands to mention optimally tiled
    images as well as linear tiled images, and say image VIEWS instead
    of images. Add validity statement to flink:vkCmdBlitImage
  * Replace the {apiname} macro with hardcoded "Vulkan", now that we've
    committed to that name.
  * Add the VK_AMD_rasterization_order extension to vk.xml.
2016-04-29 14:53:46 +02:00
Jon Leech 6db51e9241 Change log for April 22, 2016 Vulkan 1.0.11 spec update:
* Bump API patch number and header version number to 11 for this
    update.

Github Issues:

  * Clarify the WSI extension language by switching from the fuzzier
    "ownership" language to more-consistent "acquire" language (public
    issue 117).
  * Clarify that memory barriers apply to all commands in the dependency
    chains in the flink:vkGetRenderAreaGranularity command and the
    <<synchronization-execution-and-memory-dependencies,Execution And
    Memory Dependencies>> section (public issue 132).
  * Clarify that a queue family is a set of queues in the
    <<fundamentals-execmodel,Execution Model>> section (public issue
    166).
  * Removed requirement from valid usage language that
    VkPresentInfoKHR::waitSemaphoreCount must be greater than 0 (public
    issue 171).
  * Fix broken internal links, describe structures consistently, use
    consistent style for SPIR-V codewords, and tag normative terms that
    were missing asciidoc tags (public issue 183 and ancillary
    markup/normative language fixes).
  * Fix typos for slink:VkPhysicalDeviceLimits member names in
    slink:VkImageCreateInfo validity language (public issue 184).

Internal Issues:

  * Document that the requested patch version number specified as part
    of slink:VkApplicationInfo::pname:apiVersion is ignored when
    creating an instance (internal issue 176).
  * Clarify handling of extension structs in the
    <<fundamentals-validusageValid Usage>> section (internal issue 254).
  * Update required slink:VkImageFormatProperties::pname:maxMipLevels to
    be limited to the maximum allowed mipmap pyramid size corresponding
    to the actual maximum supported size for the format (internal issue
    256).
  * Modify the <<features-extentperimagetype,Allowed Extent Values Based
    On Image Type>> section so the allowed maximum extent is the maximum
    image dimension supported for each dimension of the type of texture
    being queried (internal issue 257).
  * Clarify in the <<spirvenv-module-validation,Validation Rules within
    a Module>> section that at least one of the code:LocalSize execution
    mode or code:WorkgroupSize decoration is required for each compute
    shader entry point in a shader module (internal issue 279).
  * Add validity rules for formats in flink:vkCmdClearColorImage and
    flink:vkCmdClearDepthStencilImage (internal issue 283).
  * Clarify that slink:VkImageFormatProperties::pname:maxResourceSize is
    an upper bound, and that it may not be possible to create an image
    anywhere near that size (internal issue 284).

Other Commits:

  * Fix various minor markup errors reported by validation scripts.
  * Change copyright from Khronos Free Use License to Apache 2.0 license
    on relevant script/XML/header files. This does not affect the
    specification source copyright.
2016-04-21 01:08:38 -07:00
Jon Leech 3b32b240f6 Change log for April 15, 2016 Vulkan 1.0.10 spec update:
* Bump API patch number and header version number to 10 for this
    update.

Github Issues:

  * Slightly tweak the <<memory-allocation,Host Memory>> allocator language
    so that an application wrapping the standard C alloc/free/realloc
    functions is still correct - the previous language was too strong with
    regards to freeing memory. Also made certain scenarios clearer - an
    implementation may now continue without error if an allocation failed
    and it is able to continue correctly (public issue 21).
  * Require that etext:VK_*_CREATE_SPARSE_BINDING_BIT is set when the
    corresponding etext:VK_*_CREATE_SPARSE_RESIDENCY_BIT is used, in the
    <<sparsememory-miptail,Mip Tail Regions>> section and related commands
    flink:vkCreateBuffer and flink:vkCreateImage (public issue 84).
  * Update the <<features,Features, Limits, and Formats>> chapter to clarify
    interactions between optional features and dynamic state for the
    pname:depthBiasClamp and pname:wideLines features (public issue 89).
  * Describe the code:WorkgroupSize builtin in the
    <<interfaces-builtin-variables,Built-In Variables>> section, and update
    the <<compute-shaders,Compute Shaders>> section to further clarify how
    to set the number of workgroups to execute in a compute shader (public
    issue 145).
  * Use the term *image subresource* everywhere instead of *subresource*,
    except for the special case of *host-accessible subresource*, which may
    be either an image subresource or buffer range (public issue 120)
  * Add a note to the <<features,Features, Limits, and Formats>> section
    about extensibility of structures (Public issue 165).
  * Fix return code flink:vkAcquireNextImageKHR when the timeout parameter
    is 0 to ename:VK_NOT_READY instead of ename:VK_TIMEOUT (public issue
    170).
  * Fix typo in slink:VkLayerProperties::pname:apiVersion field (public
    issue 172).

Internal Issues:

  * Fix a few minor internally-detected typos.
  * Minor formatting tweaks to pseudocode in the <<resources,Resource
    Creation>> chapter (internal issue 179).
  * Fix typo in the definition of point sampling for
    elink:VkCullModeFlagBits (internal issue 268).
2016-04-14 01:58:49 -07:00
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 ce3204c7dd Change log for April 1, 2016 Vulkan 1.0.8 spec update:
* Bump API patch number and header version number to 8 for this
    update.

Github Issues:

  * Specify in the validity language for flink:vkBeginCommandBuffer that
    pname:commandBuffer mustnot: currently be pending execution (public
    issue 96).
  * Describe depth comparison using the correct temporary variable names
    in the <<textures-depth-compare-operation,Depth Compare Operation>>
    section (public issue 100).
  * Clarify the order of descriptor update operations in the
    flink:vkUpdateDescriptorSets command (public issue 115).
  * Specify in the VK_KHR_swapchain extension that
    flink:vkAcquireNextImageKHR's pname:semaphore and pname:fence
    parameters cannot both be sname:VK_NULL_HANDLE (partly addresses,
    but does not fully close, public issue 117 / internal issue 246).
  * Change reference to the "lifetime" of a Vulkan command to
    "duration", and define the "duration" term (public issue 135).
  * Added valid usage language for slink:VkImageLayout to require both
    pname:height and pname:depth to be 1 for 1D images and pname:depth
    to be 1 for 2D images (public issue 137).
  * Fix SPIR-V example code in the
    <<descriptorsets-inputattachment,Input Attachment>> section to
    properly decorate the code:InputAttachmentIndex (public issue 139).
  * Fix reference to nonexistent pname:imageInfo in the description of
    flink:VkWriteDescriptorSet to refer to pname:pImageInfo (public
    issue 140).

Internal Issues:

  * Link to the fixed-function vertex chapter from the drawing chapter
    (internal issue #110)
  * Fix typo in slink:VkImageCreateInfo validity language:
    ptext:maxExtent.sampleCounts -> pname:sampleCounts (internal issue
    249).
  * Explain why the non-core token etext:VK_IMAGE_LAYOUT_PRESENT_SRC_KHR
    is used in the example in the
    <<synchronization-semaphores,Semaphores>> section (internal issue
    251).
  * Attempt to clarify in the VK_KHR_android_surface extension's
    <<platformQuerySupport_android,Android Platform Support>> section
    that there is no Android-specific WSI query, and why (internal issue
    252).

Other Commits:

  * Add missing language about ename:VK_INCOMPLETE being returned from
    array queries when the passed array is too short, in the
    VK_KHR_display, VK_KHR_swapchain, and VK_KHR_surface extensions.
2016-04-01 03:04:38 -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 955878b6e5 Merge pull request #62 from philiptaylor/copy-buffer
vkCmdCopyBuffer: Fix references to copySize
2016-02-27 12:53:22 -08:00
Jon Leech 5a4c5e5925 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-24 22:02:34 -08:00
Philip Taylor 8eed3474a0 vkCmdCopyBuffer: Fix references to copySize
The member is just called 'size'.
2016-02-22 22:05:30 +00:00
Jon Leech d204ac2f69 Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00