Commit Graph

16 Commits

Author SHA1 Message Date
Jon Leech 6cdc56d0d7 Change log for November 11, 2016 Vulkan 1.0.33 spec update:
* Bump API patch number and header version number to 33 for this update.

Github Issues:

  * Added implicit external synchronization parameters to
    vkBegin/EndCommandBuffer, and fixed missing command pool host
    synchronization from per-command lists (public issue 398).
  * Started using git tags including the spec release number, such as
    'v1.0.32-core', instead of tags including the date of release, such as
    'v1.0-core-20161025' (public issue 405).

Internal Issues:

  * Add validity constraint for
    slink:VkImportMemoryWin32HandleInfoNV::pname:handle (internal issue
    #480).
  * Add scripts to compare two Vulkan HTML specifications, derived from W3
    htmldiff service (internal issue 525).
  * Relax requirement that memoryTypeBits can't depend on format, to allow
    it to differ only for depth/stencil formats (internal issue 544).
  * Add a new generator script to create a simple extension loader for
    Vulkan based on +vk.xml+ (internal issue 558).
  * Add the overlooked requirement that buffer and image memory
    alignment requirements must be a power of two in the
    <<resources-association,Resource Memory Association>> section
    (internal issue 569).

Other Issues:

  * Add a naming rule to the style guide for members of extension structures
    defining array lengths which are the same as array lengths of the core
    structure they are chained from.
  * Add a new generator to create a simple extension loader in
    +src/ext_loader/vulkan_ext.[ch]+ from +vk.xml+. This code can be
    included in your project, and is expected to be packaged in the Vulkan
    SDK provided by LunarG in the future.
2016-11-12 03:23:34 -08:00
Jon Leech 49adf2575c Change log for October 7, 2016 Vulkan 1.0.30 spec update:
* Bump API patch number and header version number to 30 for this update.

Github Issues:

  * Document missing pname:sType and pname:pNext parameters for
    slink:VkCommandBufferInheritanceInfo (public issue 224).
  * As promised, we are removing the example code, from the appendix, for
    the VK_KHR_surface and VK_KHR_swapchain extensions. The cube demo
    (shipped in the official Khronos SDK) has been updated, and is the
    example code that we want people to look at for how to use these two
    extensions (public issues 279, 308, and 311).
  * Clarify the formats for which the slink:VkClearColorValue pname:float32
    member is used. Also clean up related language for flink:vkCmdBlitImage
    (public issue 369).
  * Reword the <<invariance, Invariance>> appendix chapter to better match
    Vulkan terminology (public issue 372).

Internal Issues:

  * Update slink:VkMemoryRequirements to not require a host_visible memory
    type exists that can be bound to sparse buffers (internal issue 494).
  * Modify the <<features-supported-sample-counts,Supported Sample Counts>>
    language to allow multisampled depth-stencil images (internal issue
    521).
2016-10-07 02:40:18 -07:00
Jon Leech 42fcc80976 Minor fix to build scripts. 2016-10-01 01:36:38 -07:00
Jon Leech ef053e7c82 Change log for September 16, 2016 Vulkan 1.0.27 spec update:
* Bump API patch number and header version number to 27 for this update.

Github Issues:

  * Weaken flink:vkGetPipelineCacheData invariance conditions; previous
    conditions were stronger than agreed and can't be guaranteed (public
    issue 280).
  * Add link to "Vulkan Loader Specification and Architecture Overview"
    document to Normative References section (public issue 359).

Internal Issues:

  * Be more clear in the <<interfaces-resources-layout-std140, uniform
    buffer layout>> section that block offsets can be out of order
    (internal issue 396).
  * Document that extension authors should add support for their extensions
    to the validation layers (internal issue 398).
  * Clarify that the valid range of depth clear values should be limited
    to the 0..1 range and that copies to depth aspect must also be in this
    range (internal issue 412).
  * Specify ``a'' vs. ``an'' use in the style guide (internal issue 432).
  * Increase the maximum pname:nonCoherentAtomSize value in the
    <<features-limits-required,Required Limits>> section from 128 to 256
    (internal issue 435).
  * Fix vk_platform.h for compiler errors on some Android platforms
    (internal issue 441).
  * Clarify that slink:VkPhysicalDeviceFeatures::pname:pEnabledFeatures ==
    `NULL` disables all features, including the "required" feature
    pname:robustBufferAccess (internal issue 479).

Other Issues:

  * Expand style guide and make it more self-consistent.
  * Use ISO 8601 date format everywhere.
  * Emphasise the correct way of using
    slink:VkSurfaceCapabilitiesKHR::pname:maxImageCount.
  * Added +VK_EXT_validation_flags+ extension for validation flag mechanism.
  * Fix an <<credits,author credit>> to include their current employer.
2016-09-16 21:22:17 -07:00
Jon Leech eaea7d2709 Change log for September 6, 2016 Vulkan 1.0.26 spec update:
* Bump API patch number and header version number to 26 for this update.

Github Issues:

  * Bring sample code in the +VK_KHR_surface+ and +VK_KHR_swapchain+
    extension summary appendices up to date, and note they will be replaced
    with pointers to the LunarG SDK examples in the future (public issue
    279).
  * Add a new <<fundamentals-commandsyntax-results-lifetime,Lifetime of
    Retrieved Results>> section specifying that ftext:vkGet* and
    ftext:VkEnumerate* results are invariant unless otherwise specified, and
    specify behavior for individual commands which are not invariant (public
    issue 280).
  * Remove conflicting definition of
    slink:VkDisplayPlaneCapabilitiesKHR::pname:maxSrcPosition and clean up
    language of the remaining definition (public issue 351).
  * Fix many minor spelling errors and add rules to the style guide to
    prevent recurrences (public issue 352).

Internal Issues:

  * Remove redundant descriptions of the etext:VK_USE_PLATFORM_* macros from
    the <<wsi,Window System Integration>> chapter in favor of the
    description in the <<boilerplate-wsi-header,Window System-Specific
    Header Control>> appendix (internal issue 6).
  * Replace misleading 'can: be destroyed when not X' with more correct
    'must: not be destroyed while X' in the
    <<fundamentals-objectmodel-lifetime,Object Lifetime>> section. Disallow
    destroying a pipeline layout while a command buffer using it is
    recording (internal issue 241).
  * Clarify that ename:VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT is valid for
    all images used as attachments in elink:VkImageUsageFlagBits and the
    slink:VkImageLayout validity language (internal issue 320).
  * Note that <<extended-functionality-layers,Layers>> may wrap object
    handles, but that this is a generally discouraged. A link to additional
    information in the documentation for layer authors is provided (issue
    398)
  * Replace the mustnot: and shouldnot: macros with equivalent must: not and
    should: not to get rid of non-English words while still highlighting
    normative language (internal issue 407).
  * Disallow creating multisampled images with
    ename:VK_IMAGE_CREATE_CUBE_COMPATIBLE_BIT in the slink:VkImageLayout
    validity language and the <<features-supported-sample-counts,Supported
    Sample Counts>> section (internal issue 445).
  * Fix typo so that flink:vkCmdDrawIndexedIndirect is defined in terms of
    flink:vkCmdDrawIndexed rather than flink:vkCmdDrawIndirect (internal
    issue 446).
  * Reorganize the per-extension information sections to all be in the
    <<extensions,Layers & Extensions>> appendix. Also fix a typo in
    +VK_IMG_filter_cubic+ which incorrectly identified it as a +KHR+
    extension (internal issue 461).

Other Issues:

  * Use asciidoc markup instead of latexmath to simplify diagrams in the
    <<features-formats-non-packed,byte mapping tables>> for color formats.
  * Fix a markup problem with the wildcarded enumerant names in a NOTE in
    the <<textures-texel-replacement,Texel Replacement>> section.
  * Fix missing attributes in the XML interface for
    elink:VkExternalMemoryHandleTypeFlagBitsNV and
    elink:VkExternalMemoryFeatureFlagBitsNV (KhronosGroup/Vulkan-Hpp issue
    #25)
  * Cleanup reference page builds so only core pages are built for releases.
2016-09-06 06:17:27 -07:00
Jon Leech 85184f305a Change log for August 26, 2016 Vulkan 1.0.25 spec update:
* Bump API patch number and header version number to 25 for this update.
  * Structurally change the specification so that multiple extensions are
    included in the +1.0+ git branch, and specifications will include or not
    include those extensions at build time based on options passed to the
    Makefile. See +doc/specs/vulkan/README.html+ and the ``Layers and
    Extensions'' section of the ``Vulkan Documentation and Extensions''
    document for more information on this change.
  * Register and publish new extensions in the single-branch form:
  ** +VK_NV_external_memory_capabilities+
  ** +VK_NV_external_memory+
  ** +VK_NV_external_memory_win32+
  ** +VK_NV_win32_keyed_mutex+

Github Issues:

  * Clarify description of GetInstanceProcAddr and GetDeviceProcAddr (public
    issue 212).
  * Add SPIR-V <<textures-operation-validation, instruction validation>> for
    single-sampled images (public issue 316).
  * Fix spelling of ``tesselation'' in a few places and note it as an
    exception to the American spelling rules convention (public issue
    327).
  * Fix Makefile to create output directory for ``styleguide''
    target (public issue 329).
  * Fix numerous minor issues with incorrectly tags on enumerant names and
    table titles (public issue 330).
  * Generate specversion.txt date in UTC time and RFC 2822 format
    (public issue 335).
  * Convert link to the SPIR-V Specification for
    flink:VkShaderModuleCreateInfo into an internal link to the normative
    reference (public issue 336).
  * Add ename:VK_ERROR_OUT_OF_MEMORY error code to
    flink:vkCreateDebugReportCallbackEXT (public issue 337).

Internal Issues:

  * Update style guide regarding use of code:NULL and dname:VK_NULL_HANDLE
    (internal issue 393).
  * Change the definition of latexmath:[$q$] in the
    <<textures-image-level-selection,texture image level selection>> section
    to be the index of the maximum defined level for the view, not the
    number of levels in the view (internal issue 406).
  * Allow developers to override dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE
    with their own binary-compatible definition (internal issue 439).
  * Fix +vk_platform.h+ conditional logic causing compile failure with some
    Android compilers (internal issue 441).
  * Implement the single-branch model as described above (internal issue
    461).

Other Issues:
2016-08-28 03:47:19 -07:00
Jon Leech 1ca0ea1ef0 Change log for July 22, 2016 Vulkan 1.0.22 spec update:
* Bump API patch number and header version number to 22 for this update.

Github Issues:

  * Translate the subpass self-dependency language into concrete
    validity statements, and added a validity statement about the
    restrictions on layout parameters (public issue 267).
  * Add validity requirement that
    slink:VkAttachmentDescription::pname:finalLayout and
    slink:VkAttachmentReference::pname:layout must not be
    ename:VK_IMAGE_LAYOUT_UNDEFINED or
    ename:VK_IMAGE_LAYOUT_PREINITIALIZED (public issue 268).
  * Clarify that slink:VkSubpassDescription::pname:pResolveAttachments
    layouts are used. Make language consistent with other attachment
    arrays (public issue 270).
  * Changed 64-bit definition for
    dname:VK_DEFINE_NON_DISPATCHABLE_HANDLE to work for x32 platform in
    +vk.xml+ and the resulting +vulkan.h+ (public issue 282).
  * Add missing error return code for
    flink:vkEnumerateInstanceExtensionProperties and
    flink:vkEnumerateDeviceExtensionProperties (public issue 285)
  * Fix several cases of stext::VkStructName.memberName markup to
    stext::VkStructName::pname:memberName, to match other usage in the
    spec, and describe this markup in the style guide (public issue
    286).
  * Modified validity language generation script to avoid redundant
    common ancestor language if covered by generic parent language, and
    used `Both' instead of `Each' when appropriate (public issue 288).

Internal Issues:

  * Add language about behavior of flink:vkAllocateDescriptorSets when
    allocation fails due to fragmentation, a new error
    ename:VK_ERROR_FRAGMENTED_POOL, and a Note explaining the situation
    (internal issue 309).
  * For the features of code:PointSize, code:ClipDistance, and
    code:CullDistance, the SPIR-V capability is required to be declared
    on use (read or write) rather than on decoration (internal issue
    359).
  * Have desktop versions of GLSL respect precision qualification
    (code:mediump and code:lowp) when compiling for Vulkan. These will
    get translated to SPIR-V's code:RelaxedPrecision decoration as they
    do with OpenGL ES versions of GLSL (ESSL). The default precision of
    all types is code:highp when using a desktop version (internal issue
    360).
  * Add validity statement for slink:VkImageCreateInfo specifying that
    multisampled images must be two-dimensional, optimally tiled, and
    with a single mipmap level (internal issue 369).
  * Add validity statements to slink:VkImageViewCreateInfo disallowing
    creation of images or image views with no supported features. Made
    some slink:VkImageViewCreateInfo validity statements more precise
    and consistent. Added a Note to the <<features,features>> chapter
    about formats with no features (internal issue 371).
  * Remove +manpages+ from default build targets. Nroff outputs
    containing imbedded latexmath will not render properly. Fixing this
    is a lot of work for limited use cases (internal issue 401).

Other Commits:

  * Fix flink:vkRenderPassBeginInfo::pname:clearValueCount validity
    statement to be based on attachment indices rather than the number
    of cleared attachments
    (Vulkan-LoaderAndValidationLayers/issues/601).
  * Convert registry documentation from LaTeX to asciidoc source and
    rename from +src/spec/readme.tex+ to +src/spec/registry.txt+.
  * Fix lack of Oxford commas in validity language.
  * Lots of cleanup of generator scripts and Makefiles to move extension
    list for generator into the script arguments instead of the body of
    genvk.py, and express better dependencies between XML, scripts, and
    generated files.
2016-07-23 03:15:48 -07:00
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
Jon Leech e71db8fc50 Re-tweak genRelease for web target directory instead of internal in git. 2016-07-10 19:00:02 -07:00
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 b7cac8fc28 Tweak genRelease for web target directory instead of internal in gitlab branch. 2016-07-01 01:32:28 -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 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 7e195e846e Change branch names for released specs. 2016-02-16 02:10:24 -08:00
Jon Leech dcf7d400d5 Change path to the local repo to use the one reflecting the github
server.
2016-02-16 02:06:25 -08:00
Jon Leech d204ac2f69 Vulkan 1.0 branch 1.0 for release 2016-02-16 01:53:44 -08:00