Vulkan-Docs/appendices/VK_GOOGLE_display_timing.txt

82 lines
2.2 KiB
Plaintext
Raw Normal View History

// Copyright (c) 2014-2019 Khronos Group. This work is licensed under a
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-27 02:32:10 +00:00
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
Change log for March 10, 2017 Vulkan 1.0.43 spec update: * Bump API patch number and header version number to 43 for this update. Github Issues: * Make clearer that color write mask is applied regardless of whether blending is enabled, by referring to the <<framebuffer-color-write-mask,Color Write Mask>> section (public issue 241). * Fix public issue 414: ** Added two new command buffer states (invalid, pending), and an explicit "command buffer lifecycle" section to explain them. ** Replaced "pending execution" with "in the pending state". ** Replaced a bunch of "this will invalidate the command buffer" language with "this will move the command buffer to the invalid state", and added validation language for what state those command buffers should be in. ** Added additional validation language about what state a command buffer should be in for various commands that affect it. ** Added invalidation language to destroy commands in the lifetimes section of fundamentals. ** Added command buffers to list of objects which must not be deleted whilst a (primary) command buffer is in the recording or pending state. * Update `GL_KHR_vulkan_glsl` extension to allow anonymous push constant blocks (public issue 428). Internal Issues: * Document rules about extension interactions in the style guide (internal issue 579). * Require ename:VK_PRESENT_MODE_MAILBOX_KHR support in queries of surfaces created with flink:vkCreateWaylandSurfaceKHR using the VK_KHR_wayland_surface extension (internal issue 666). * Remove Valid Usage constraints for flink:vkAllocateDescriptorSets when the `VK_KHR_maintainance1` extension is present (internal issue 686). * Remove undocumented KHX-variants of vkGetPhysicalDeviceProperties2KHR and vkGetPhysicalDeviceImageFormatProperties2KHR from the <<VK_KHX_external_memory_capabilities>> and <<VK_KHX_external_semaphore_capabilities>> extensions. New Extensions: * `VK_EXT_hdr_metadata` * `VK_GOOGLE_display_timing`
2017-03-11 01:39:29 +00:00
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 10:06:55 +00:00
include::meta/VK_GOOGLE_display_timing.txt[]
Change log for March 10, 2017 Vulkan 1.0.43 spec update: * Bump API patch number and header version number to 43 for this update. Github Issues: * Make clearer that color write mask is applied regardless of whether blending is enabled, by referring to the <<framebuffer-color-write-mask,Color Write Mask>> section (public issue 241). * Fix public issue 414: ** Added two new command buffer states (invalid, pending), and an explicit "command buffer lifecycle" section to explain them. ** Replaced "pending execution" with "in the pending state". ** Replaced a bunch of "this will invalidate the command buffer" language with "this will move the command buffer to the invalid state", and added validation language for what state those command buffers should be in. ** Added additional validation language about what state a command buffer should be in for various commands that affect it. ** Added invalidation language to destroy commands in the lifetimes section of fundamentals. ** Added command buffers to list of objects which must not be deleted whilst a (primary) command buffer is in the recording or pending state. * Update `GL_KHR_vulkan_glsl` extension to allow anonymous push constant blocks (public issue 428). Internal Issues: * Document rules about extension interactions in the style guide (internal issue 579). * Require ename:VK_PRESENT_MODE_MAILBOX_KHR support in queries of surfaces created with flink:vkCreateWaylandSurfaceKHR using the VK_KHR_wayland_surface extension (internal issue 666). * Remove Valid Usage constraints for flink:vkAllocateDescriptorSets when the `VK_KHR_maintainance1` extension is present (internal issue 686). * Remove undocumented KHX-variants of vkGetPhysicalDeviceProperties2KHR and vkGetPhysicalDeviceImageFormatProperties2KHR from the <<VK_KHX_external_memory_capabilities>> and <<VK_KHX_external_semaphore_capabilities>> extensions. New Extensions: * `VK_EXT_hdr_metadata` * `VK_GOOGLE_display_timing`
2017-03-11 01:39:29 +00:00
*Last Modified Date*::
2017-02-14
*IP Status*::
No known IP claims.
*Contributors*::
- Ian Elliott, Google
- Jesse Hall, Google
This device extension allows an application that uses the
Change log for January 5, 2018 Vulkan 1.0.67 spec update: * Bump API patch number and header version number to 67 for this update. * Update copyright dates to 2018 Github Issues: * Fix texture lookup functions in `GL_KHR_vulkan_glsl` specification (public pull request 363). * Clarify the state waited semaphores are left in when a call to flink:vkQueuePresentKHR fails (public issue 572). * Cleanup descriptions of slink:VkObjectTablePushConstantEntryNVX and slink:VkObjectTableDescriptorSetEntryNVX (public issue 583) * Remove redundant flink:vkCmdSetDiscardRectangleEXT valid usage statements (public pull 586). * Make dynamic state array length valid usage statements implicit for flink:vkCmdSetViewportWScalingNV, flink:vkCmdSetDiscardRectangleEXT, and flink:vkCmdSetViewport (public pull 589). * Clarify meaning of window extent (0,0) in slink:VkSwapchainKHR for the Windows and X11 platforms, in their respective extensions (public issue 590). * Allow flink:vkGetPastPresentationTimingGOOGLE to return ename:VK_INCOMPLETE (public issue 604). * Add synchronization valid usage statements to flink:vkAcquireNextImage (public pull 611). * Fix some broken external links and internal xrefs (public pull 613). * Clean up slink:VkViewport valid usage statements in the presence or absence of relevant extensions (public pull 623). * Remove ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR token from VK_KHR_maintenance2 from the non-extension VU path for slink:VkGraphicsPipelineCreateInfo (public issue 628). * Miscellaneous minor markup fixes - extension name strings (public pull 631), Notes (pull 633), queue names emitted by generator scripts (pull 634), block formatting in slink:VkDescriptorUpdateTemplateEntryKHR (pull 635), ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG (pull 641), quotes and apostrophes (pull 643), * Miscellaneous minor grammar fixes (public pull 644). * Fix markup macros so usage like ptext:*Src* works (public pull 647). Internal Issues: * Clarify in the `VK_KHR_surface` and `VK_KHR_swapchain` extensions that parameter combinations which aren't supported for normal images are also unsupported for presentable images, even if the parameter values are individually supported as reported by the surface capability queries (internal issue 1029). * Fixed XML typo in the valid value field of the pname:sType member of slink:VkPhysicalDeviceExternalMemoryHostPropertiesEXT (internal issue 1100). Other Issues: * Add memory semantics validity rules to the <<spirvenv-module-validation, Validation Rules within a Module>> section of the SPIR-V environment appendix, and specify that sequentiality consistency is not supported. This forbids certain cases like "`Load+Release`" that we don't expect to ever be meaningful. * Document mapping of OpenGL Shading Language barriers to SPIR-V scope and semantics in the `GL_KHR_vulkan_glsl` specification. New Extensions: * `VK_EXT_conservative_rasterization`
2018-01-06 01:39:15 +00:00
`<<VK_KHR_swapchain>>` extension to obtain information about the
presentation engine's display, to obtain timing information about each
present, and to schedule a present to happen no earlier than a desired time.
Change log for March 10, 2017 Vulkan 1.0.43 spec update: * Bump API patch number and header version number to 43 for this update. Github Issues: * Make clearer that color write mask is applied regardless of whether blending is enabled, by referring to the <<framebuffer-color-write-mask,Color Write Mask>> section (public issue 241). * Fix public issue 414: ** Added two new command buffer states (invalid, pending), and an explicit "command buffer lifecycle" section to explain them. ** Replaced "pending execution" with "in the pending state". ** Replaced a bunch of "this will invalidate the command buffer" language with "this will move the command buffer to the invalid state", and added validation language for what state those command buffers should be in. ** Added additional validation language about what state a command buffer should be in for various commands that affect it. ** Added invalidation language to destroy commands in the lifetimes section of fundamentals. ** Added command buffers to list of objects which must not be deleted whilst a (primary) command buffer is in the recording or pending state. * Update `GL_KHR_vulkan_glsl` extension to allow anonymous push constant blocks (public issue 428). Internal Issues: * Document rules about extension interactions in the style guide (internal issue 579). * Require ename:VK_PRESENT_MODE_MAILBOX_KHR support in queries of surfaces created with flink:vkCreateWaylandSurfaceKHR using the VK_KHR_wayland_surface extension (internal issue 666). * Remove Valid Usage constraints for flink:vkAllocateDescriptorSets when the `VK_KHR_maintainance1` extension is present (internal issue 686). * Remove undocumented KHX-variants of vkGetPhysicalDeviceProperties2KHR and vkGetPhysicalDeviceImageFormatProperties2KHR from the <<VK_KHX_external_memory_capabilities>> and <<VK_KHX_external_semaphore_capabilities>> extensions. New Extensions: * `VK_EXT_hdr_metadata` * `VK_GOOGLE_display_timing`
2017-03-11 01:39:29 +00:00
An application can use this to minimize various visual anomalies (e.g.
stuttering).
Traditional game and real-time animation applications need to correctly
position their geometry for when the presentable image will be presented to
the user.
To accomplish this, applications need various timing information about the
presentation engine's display.
They need to know when presentable images were actually presented, and when
they could have been presented.
Applications also need to tell the presentation engine to display an image
no sooner than a given time.
2017-12-15 20:01:02 +00:00
This allows the application to avoid stuttering, so the animation looks
smooth to the user.
Change log for March 10, 2017 Vulkan 1.0.43 spec update: * Bump API patch number and header version number to 43 for this update. Github Issues: * Make clearer that color write mask is applied regardless of whether blending is enabled, by referring to the <<framebuffer-color-write-mask,Color Write Mask>> section (public issue 241). * Fix public issue 414: ** Added two new command buffer states (invalid, pending), and an explicit "command buffer lifecycle" section to explain them. ** Replaced "pending execution" with "in the pending state". ** Replaced a bunch of "this will invalidate the command buffer" language with "this will move the command buffer to the invalid state", and added validation language for what state those command buffers should be in. ** Added additional validation language about what state a command buffer should be in for various commands that affect it. ** Added invalidation language to destroy commands in the lifetimes section of fundamentals. ** Added command buffers to list of objects which must not be deleted whilst a (primary) command buffer is in the recording or pending state. * Update `GL_KHR_vulkan_glsl` extension to allow anonymous push constant blocks (public issue 428). Internal Issues: * Document rules about extension interactions in the style guide (internal issue 579). * Require ename:VK_PRESENT_MODE_MAILBOX_KHR support in queries of surfaces created with flink:vkCreateWaylandSurfaceKHR using the VK_KHR_wayland_surface extension (internal issue 666). * Remove Valid Usage constraints for flink:vkAllocateDescriptorSets when the `VK_KHR_maintainance1` extension is present (internal issue 686). * Remove undocumented KHX-variants of vkGetPhysicalDeviceProperties2KHR and vkGetPhysicalDeviceImageFormatProperties2KHR from the <<VK_KHX_external_memory_capabilities>> and <<VK_KHX_external_semaphore_capabilities>> extensions. New Extensions: * `VK_EXT_hdr_metadata` * `VK_GOOGLE_display_timing`
2017-03-11 01:39:29 +00:00
This extension treats variable-refresh-rate (VRR) displays as if they are
fixed-refresh-rate (FRR) displays.
=== New Object Types
None.
=== New Enum Constants
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-05 03:48:43 +00:00
* Extending elink:VkStructureType:
Change log for March 10, 2017 Vulkan 1.0.43 spec update: * Bump API patch number and header version number to 43 for this update. Github Issues: * Make clearer that color write mask is applied regardless of whether blending is enabled, by referring to the <<framebuffer-color-write-mask,Color Write Mask>> section (public issue 241). * Fix public issue 414: ** Added two new command buffer states (invalid, pending), and an explicit "command buffer lifecycle" section to explain them. ** Replaced "pending execution" with "in the pending state". ** Replaced a bunch of "this will invalidate the command buffer" language with "this will move the command buffer to the invalid state", and added validation language for what state those command buffers should be in. ** Added additional validation language about what state a command buffer should be in for various commands that affect it. ** Added invalidation language to destroy commands in the lifetimes section of fundamentals. ** Added command buffers to list of objects which must not be deleted whilst a (primary) command buffer is in the recording or pending state. * Update `GL_KHR_vulkan_glsl` extension to allow anonymous push constant blocks (public issue 428). Internal Issues: * Document rules about extension interactions in the style guide (internal issue 579). * Require ename:VK_PRESENT_MODE_MAILBOX_KHR support in queries of surfaces created with flink:vkCreateWaylandSurfaceKHR using the VK_KHR_wayland_surface extension (internal issue 666). * Remove Valid Usage constraints for flink:vkAllocateDescriptorSets when the `VK_KHR_maintainance1` extension is present (internal issue 686). * Remove undocumented KHX-variants of vkGetPhysicalDeviceProperties2KHR and vkGetPhysicalDeviceImageFormatProperties2KHR from the <<VK_KHX_external_memory_capabilities>> and <<VK_KHX_external_semaphore_capabilities>> extensions. New Extensions: * `VK_EXT_hdr_metadata` * `VK_GOOGLE_display_timing`
2017-03-11 01:39:29 +00:00
** ename:VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE
=== New Enums
None.
=== New Structures
* slink:VkRefreshCycleDurationGOOGLE
* slink:VkPastPresentationTimingGOOGLE
* slink:VkPresentTimesInfoGOOGLE
* slink:VkPresentTimeGOOGLE
=== New Functions
* flink:vkGetRefreshCycleDurationGOOGLE
* flink:vkGetPastPresentationTimingGOOGLE
=== Issues
None.
=== Examples
[NOTE]
.Note
====
Change log for January 5, 2018 Vulkan 1.0.67 spec update: * Bump API patch number and header version number to 67 for this update. * Update copyright dates to 2018 Github Issues: * Fix texture lookup functions in `GL_KHR_vulkan_glsl` specification (public pull request 363). * Clarify the state waited semaphores are left in when a call to flink:vkQueuePresentKHR fails (public issue 572). * Cleanup descriptions of slink:VkObjectTablePushConstantEntryNVX and slink:VkObjectTableDescriptorSetEntryNVX (public issue 583) * Remove redundant flink:vkCmdSetDiscardRectangleEXT valid usage statements (public pull 586). * Make dynamic state array length valid usage statements implicit for flink:vkCmdSetViewportWScalingNV, flink:vkCmdSetDiscardRectangleEXT, and flink:vkCmdSetViewport (public pull 589). * Clarify meaning of window extent (0,0) in slink:VkSwapchainKHR for the Windows and X11 platforms, in their respective extensions (public issue 590). * Allow flink:vkGetPastPresentationTimingGOOGLE to return ename:VK_INCOMPLETE (public issue 604). * Add synchronization valid usage statements to flink:vkAcquireNextImage (public pull 611). * Fix some broken external links and internal xrefs (public pull 613). * Clean up slink:VkViewport valid usage statements in the presence or absence of relevant extensions (public pull 623). * Remove ename:VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL_KHR token from VK_KHR_maintenance2 from the non-extension VU path for slink:VkGraphicsPipelineCreateInfo (public issue 628). * Miscellaneous minor markup fixes - extension name strings (public pull 631), Notes (pull 633), queue names emitted by generator scripts (pull 634), block formatting in slink:VkDescriptorUpdateTemplateEntryKHR (pull 635), ename:VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_IMG (pull 641), quotes and apostrophes (pull 643), * Miscellaneous minor grammar fixes (public pull 644). * Fix markup macros so usage like ptext:*Src* works (public pull 647). Internal Issues: * Clarify in the `VK_KHR_surface` and `VK_KHR_swapchain` extensions that parameter combinations which aren't supported for normal images are also unsupported for presentable images, even if the parameter values are individually supported as reported by the surface capability queries (internal issue 1029). * Fixed XML typo in the valid value field of the pname:sType member of slink:VkPhysicalDeviceExternalMemoryHostPropertiesEXT (internal issue 1100). Other Issues: * Add memory semantics validity rules to the <<spirvenv-module-validation, Validation Rules within a Module>> section of the SPIR-V environment appendix, and specify that sequentiality consistency is not supported. This forbids certain cases like "`Load+Release`" that we don't expect to ever be meaningful. * Document mapping of OpenGL Shading Language barriers to SPIR-V scope and semantics in the `GL_KHR_vulkan_glsl` specification. New Extensions: * `VK_EXT_conservative_rasterization`
2018-01-06 01:39:15 +00:00
The example code for the this extension (like the `<<VK_KHR_surface>>` and
`VK_GOOGLE_display_timing` extensions) is contained in the cube demo that is
shipped with the official Khronos SDK, and is being kept up-to-date in that
location (see:
Change log for June 10, 2018 Vulkan 1.1.77 spec update: * Update release number to 77. Public Issues: * Remove redundant asciidoctor ifdef in slink:VkDeviceCreateInfo valid usage statement (public pull request 718). Internal Issues: * Require that the returned slink:VkMemoryRequirements::pname:alignment reflect the minimum alignment requirements for the buffer's usages, and make dynamic offset alignment valid usage more explicit for flink:vkBindBufferMemory and flink:vkCmdBindDescriptorSets (internal issue 1170). * Explicitly state that objects of type code:OpTypeImage, code:OpTypeSampler, and code:OpTypeSampledImage must not be stored to in the <<spirvenv-module-validation, Validation Rules within a Module>> section (internal issue 1262). * Clarify rules about validating descriptor set/binding against storage class and descriptor type in the <<spirvenv-module-validation, Validation Rules within a Module>> section, and add an anchor for and references to the <<interfaces-resources-storage-class-correspondence, Shader Resource and Storage Class Correspondence>> table (internal issue 1266). * Use correct spelling of SPIR-V decoration code:NonWritable in several places (internal issue 1298). Other Issues: * Update specification links to files in the old KhronosGroup/Vulkan-LoaderAndValidationLayers repository with corresponding links into the new repositories that replace it. * Move validity requirement for slink:VkSamplerCreateInfo into the valid usage block instead of the body text, and give it a VUID. * Use the full name of the "`style guide`" in a reference in the description of slink:vkGetPhysicalDeviceProperties, update the <<vulkan-styleguide, link to that document>>, and use the the full name in the registry index page.
2018-06-11 02:43:40 +00:00
https://github.com/KhronosGroup/Vulkan-Tools/blob/master/cube/cube.c ).
Change log for March 10, 2017 Vulkan 1.0.43 spec update: * Bump API patch number and header version number to 43 for this update. Github Issues: * Make clearer that color write mask is applied regardless of whether blending is enabled, by referring to the <<framebuffer-color-write-mask,Color Write Mask>> section (public issue 241). * Fix public issue 414: ** Added two new command buffer states (invalid, pending), and an explicit "command buffer lifecycle" section to explain them. ** Replaced "pending execution" with "in the pending state". ** Replaced a bunch of "this will invalidate the command buffer" language with "this will move the command buffer to the invalid state", and added validation language for what state those command buffers should be in. ** Added additional validation language about what state a command buffer should be in for various commands that affect it. ** Added invalidation language to destroy commands in the lifetimes section of fundamentals. ** Added command buffers to list of objects which must not be deleted whilst a (primary) command buffer is in the recording or pending state. * Update `GL_KHR_vulkan_glsl` extension to allow anonymous push constant blocks (public issue 428). Internal Issues: * Document rules about extension interactions in the style guide (internal issue 579). * Require ename:VK_PRESENT_MODE_MAILBOX_KHR support in queries of surfaces created with flink:vkCreateWaylandSurfaceKHR using the VK_KHR_wayland_surface extension (internal issue 666). * Remove Valid Usage constraints for flink:vkAllocateDescriptorSets when the `VK_KHR_maintainance1` extension is present (internal issue 686). * Remove undocumented KHX-variants of vkGetPhysicalDeviceProperties2KHR and vkGetPhysicalDeviceImageFormatProperties2KHR from the <<VK_KHX_external_memory_capabilities>> and <<VK_KHX_external_semaphore_capabilities>> extensions. New Extensions: * `VK_EXT_hdr_metadata` * `VK_GOOGLE_display_timing`
2017-03-11 01:39:29 +00:00
====
=== Version History
* Revision 1, 2017-02-14 (Ian Elliott)
- Internal revisions