Commit Graph

5 Commits

Author SHA1 Message Date
Jon Leech 0cc6bba634 Change log for September 15, 2017 Vulkan 1.0.61 spec update:
* Bump API patch number and header version number to 61 for this update.

Github Issues:

  * Provide alternate length attributes (altlen=) in the XML schema, for
    those using length attributes to generate code instead of documentation
    (public issue 555).
  * Fix erroneous references to `latex:` being used for asciidoc math
    markup, rather than `latexmath:` (public pull request 556).
  * Add author ID to XML for Kazan software renderer (public pull request
    557).

Internal Issues:

  * Add the <<fundamentals-abi,Application Binary Interface>> section
    describing platform ABI requirements and recommendations, add examples
    of function and function pointer declarations to the
    <<boilerplate-platform-specific-calling-conventions, Platform-Specific
    Calling Conventions>> section, and remove related language that existed
    elsewhere in the specification (internal issue 64).
  * Describe where to document valid usage interactions of chained
    structures in the style guide, and fix one case now appearing in
    slink:VkBufferCreateInfo instead of the child
    slink:VkDedicatedAllocationBufferCreateInfoNV structure (internal issue
    715).
  * Add example to the style guide of describing enumerated types which are
    empty when the spec is built without relevant extensions enabled, and
    apply it to existing examples for
    elink:VkDescriptorSetLayoutCreateFlagBits and
    elink:VkSubpassDescriptionFlagBits (internal issue 864).
  * Add a note to the <<fundamentals-validusage-enums, Valid Usage for
    Enumerated Types>> section that the special values suffixed with
    etext:_BEGIN_RANGE, etext:_END_RANGE, etext:_RANGE_SIZE and
    etext:_MAX_ENUM are not part of the API and should: not be used by
    applications (internal issue 872).
  * Added note to flink:vkCmdUpdateBuffers explaining the performance
    penalty for copies done in this way, and why the upper copy limit is
    what it is (internal issue 952).
  * Update `VK_KHX_device_group` to split some functionality into the new
    `VK_KHR_bind_memory2` extension, and rename that functionality (internal
    issue 969).
  * Remove *Status* fields from extension appendices, since they are by
    definition published and complete by the time they reach the public
    github repository (internal issue 973).

Other Issues:

  * Update Data Format specification dependency to version 1.2 and change
    references to DF sections accordingly.
  * Update XML to make the pname:pAllocator parameter of
    flink:vkRegisterDeviceEventEXT and flink:vkRegisterDisplayEventEXT in
    the `VK_EXT_display_control` extension as optional.

New Extensions:

  * `VK_KHR_bind_memory2`
  * `VK_KHR_image_format_list`
  * `VK_KHR_maintenance2`
  * `VK_KHR_sampler_ycbcr_conversion`
2017-09-14 22:41:33 -07:00
Jon Leech df88ded281 Change log for September 5, 2017 Vulkan 1.0.60 spec update:
* Bump API patch number and header version number to 60 for this update.

Github Issues:

  * Document that <<queries-timestamps, Timestamp Queries>> can only be
    meaningfully compared when they are written from the same queue (public
    issue 216).
  * Document that the `<extension>` tag `type` attribute is required for
    non-disabled extensions (derived from, but does not close public issue
    354).
  * Clean up registry schema length attribute descriptions to be consistent
    and correct (public issue 555).

Internal Issues:

  * Replace as much of the hand-written extension appendix metadata as
    possible with asciidoc includes generated from corresponding attributes
    of +vk.xml+, and enhance the style guide to match. This avoids
    inconsistencies between +vk.xml+ and the appendices, and produces a more
    uniform style (internal issue 137).
  * Remove the generated extDependency.{py,sh} files from the tree and
    create them dynamically on demand instead, reducing merge conflicts
    (internal issue 713).
  * Add a prototype tool for generating in-place difference markup for
    sections guarded by asciidoc conditionals, and new syntax for open
    blocks to support it (internal issue 833).
  * Remove unnecessary restriction of etext:*SYNC_FD_BIT_KHR external handle
    types to the same physical device in the
    slink:VkPhysicalDeviceIDPropertiesKHR,
    flink:VkImportMemoryWin32HandleInfoKHR,
    slink:VkImportFenceWin32HandleInfoKHR, slink:VkImportFenceFdInfoKHR,
    slink:VkImportSemaphoreWin32HandleInfoKHR,
    slink:VkImportSemaphoreFdInfoKHR
    <<external-memory-handle-types-compatibility, External memory handle
    types compatibility>>, <<external-semaphore-handle-types-compatibility,
    External semaphore handle types compatibility>>, and
    <<external-fence-handle-types-compatibility, External fence handle types
    compatibility>> sections (internal issue 956).

Other Issues:

  * Remove dependency of +VK_KHX_device_group+ on +VK_KHR_swapchain+ (there
    is an interaction, but not a strict dependency), and add a new
    `extension` attribute to the `<require` XML tag to allow classifying a
    subset of interfaces of an extension as requiring another extension.
    Update the registry schema and documentation accordingly.

New Extensions:

  * `VK_AMD_shader_fragment_mask` (and related `GL_AMD_shader_fragment_mask`
    GLSL extension)
  * `VK_EXT_sample_locations`
  * `VK_EXT_validation_cache`
2017-09-04 03:06:55 -07:00
Jon Leech b9e9296cd8 Change log for June 24, 2017 Vulkan 1.0.53 spec update:
* Bump API patch number and header version number to 53 for this update.

Github Issues:

Internal Issues:

  * Clarify mappings of coordinates for mutable, compatible image views in
    slink:VkImageViewCreateInfo (internal issue 815).
  * Make ename:VK_BIND_SFR_BIT require a logical device with multiple
    physical devices, so that standard sparse image block dimensions are
    only required on systems that support multi-GPU (internal issue 835).
  * Convert all files from use of // refBegin .. // refEnd comments to
    delimit ref pages, to use of open blocks, and update style guide
    accordingly (internal issue 839).
  * Add valid usage for slink:VkWriteDescriptorSet when performing updates
    to a ename:VK_STORAGE_IMAGE descriptor with layout
    ename:VK_IMAGE_LAYOUT_GENERAL.
  * Add a hack to the validity generator script to support an odd
    interaction between flink:vkCmdFillBuffer and an extension (internal
    issue 853).
  * Remove redundant text describing slink:VkBufferCreateInfo::pname:usage,
    which was already covered by implicit valid usage (internal issue 854).
  * Update implicit validity generator script to properly handle the
    pname:sType and pname:pNext members of "returnedonly" structures
    (internal issue 874).
  * Note that slink:VkApplicationInfo::pname:pApplicationName &
    slink:VkApplicationInfo::pname:pEngineName are optional, and add missing
    implicit valid usage statements for flink:vkDestroyInstance.
  * Added missing valid usage for flink:vkCmdWriteTimestamp to require a
    timestamp query pool.
  * Simplify and/or split "`non-atomic`" valid usage statements.

New Extensions:

  * `VK_AMD_gpu_shader_int16`
  * `VK_EXT_blend_operation_advanced`
  * `VK_EXT_sampler_filter_minmax`
  * `VK_NV_framebuffer_mixed_samples`

-----------------------------------------------------
Note: the 1.0.52 spec wasn't published on github, so the 1.0.53 release
combines both change sets.
-----------------------------------------------------

Change log for June 13, 2017 Vulkan 1.0.52 spec update:

  * Bump API patch number and header version number to 52 for this update.

Github Issues:

Internal Issues:

  * Clarify behavior when non-coherent memory has
    <<memory-device-unmap-does-not-flush, not been flushed before being
    unmapped>> (internal issue 819).
  * Fix description of code:WorkgroupSize builtin to note it decorates an
    object, not a variable (internal issue 836).
  * Fix asciidoc attributes so that trailing '{plus}' symbols in [eq] style
    equations are rendered properly (internal issue 845).
  * Add language to the "`Extension Handles, Objects, Enums, and Typedefs`"
    section of the Procedures and Conventions document stating that any new
    handle type requires a corresponding entry in the elink:VkObjectType
    enumerated type (internal issue 856).
  * Update style guide to use slink macro for Vulkan handle type names, and
    define narrow conditions under which to use the *name and *text macros
    instead of *link (internal issue 886).
  * Add a dependency of the <<VK_KHX_device_group,VK_KHX_device_group>>
    extension on VK_KHX_device_group_creation to +vk.xml+ and the extension
    appendix.
  * Change the copyright on Vulkan specification asciidoc *source* files to
    CC-BY 4.0, and update the proprietary Khronos copyright applied to the
    generated *output* formats (internal issue 327). This enables broader
    re-use and modification of the Vulkan specification sources, while not
    affecting the Reciprocal IP License between Vulkan Adopters and Working
    Group Members.

New Extensions:

  * `VK_NV_fill_rectangle`
  * `VK_NV_fragment_coverage_to_color`
2017-06-26 19:32:10 -07:00
Jon Leech 1d67e47f14 Change log for June 4, 2017 Vulkan 1.0.51 spec update:
* Bump API patch number and header version number to 51 for this update.

Github Issues:

  * Add Valid Usage statement to flink:vkCmdResolveImage to require that
    source and destination image formats match (public issue 492).
  * Specify that a code:char* parameter must: be a valid null-terminated
    string in the <<fundamentals-implicit-validity, implicit valid usage>>
    section (public issue 494).
  * Removed unnecessary VU for slink:VkPhysicalDeviceFeatures which is
    covered by ename:VK_ERROR_FEATURE_NOT_PRESENT already (public issue
    496).
  * Clarify valid usage of pname:pQueueFamilyIndices in
    slink:VkBufferCreateInfo, slink:VkImageCreateInfo, and
    slink:VkSwapchainCreateInfoKHR (public issue 501).
  * Document that dependencies of enabled extensions must also be enabled in
    the <<extended-functionality-extensions-dependencies, Extension
    Dependencies>> section (public issue 507).

Internal Issues:

  * Change slink:VkMappedMemoryRange valid usage to allow pname:offset +
    pname:size == size of the allocation. Also, if ename:VK_WHOLE_SIZE is
    used, require the end of the mapping to be aligned to a multiple of
    pname:nonCoherentAtomSize (internal issue 611).
  * Add issue to `VK_KHR_win32_surface` about reusing window objects from a
    different graphics API or Vulkan ICD (internal issue 639).
  * Require locations on user in/out in `GL_KHR_vulkan_glsl` (internal issue
    783).
  * Added version info to the json validation output, and updated the schema
    to match (internal issue 838).
  * Restructure enumerated type descriptions separately from the command or
    structure they are used in, allowing better reference page generation
    (internal issue 841).
  * Re-sort extension appendices to be in alphabetical order within each
    author ID section.
  * Fix enum naming and clarify behavior for
    `VK_NVX_device_generated_commands` extension.

New Extensions:
2017-06-04 20:48:43 -07:00
Jon Leech fd0e4c3b67 Change log for February 27, 2017 Vulkan 1.0.42 spec update:
* Bump API patch number and header version number to 42 for this update
    (the first anniversary edition).

Github Issues:

  * Changed asciidoctor macros so cross-page links in the standalone
    reference pages function properly (public issue 462).

Internal Issues:

  * Clarified host visibility discussion for slink:VkMemoryType,
    flink:vkInvalidateMappedMemoryRanges, elink:VkAccessFlagBits, and the
    <<synchronization-framebuffer-regions,Framebuffer Region Dependencies>>
    section, removing duplicated information and adding a central definition
    in the access types section (internal issue 552).
  * Change description of
    slink:vkGetPhysicalDeviceSurfacePresentModesKHR::pname:pPresentModes to
    return an array of values, not structures (internal issue 699).

New Extensions:

  * Add a NOTE to the <<extensions,Layers & Extensions>> chapter describing
    the experimental status of `KHX` extensions.
  * Add new Khronos, Khronos Experimental, and vendor Vulkan extensions for
    release at GDC:
  ** VK_KHR_descriptor_update_template
  ** VK_KHR_push_descriptor
  ** VK_KHX_device_group
  ** VK_KHX_device_group_creation
  ** VK_KHX_external_memory
  ** VK_KHX_external_memory_capabilities
  ** VK_KHX_external_memory_fd
  ** VK_KHX_external_memory_win32
  ** VK_KHX_external_semaphore
  ** VK_KHX_external_semaphore_capabilities
  ** VK_KHX_external_semaphore_fd
  ** VK_KHX_external_semaphore_win32
  ** VK_KHX_multiview
  ** VK_KHX_win32_keyed_mutex
  ** VK_EXT_discard_rectangles
  ** VK_MVK_ios_surface
  ** VK_MVK_macos_surface
  ** VK_NVX_multiview_per_view_attributes
  ** VK_NV_clip_space_w_scaling
  ** VK_NV_geometry_shader_passthrough
  ** VK_NV_sample_mask_override_coverage
  ** VK_NV_viewport_array2
  ** VK_NV_viewport_swizzle
  * Add new GLSL vendor extensions to support new builtin variables:
  ** GL_EXT_device_group
  ** GL_EXT_multiview
2017-02-26 22:54:26 -08:00