include::meta/VK_EXT_validation_cache.txt[]

*Last Modified Date*::
    2017-08-29
*IP Status*::
    No known IP claims.
*Contributors*::
  - Cort Stratton, Google
  - Chris Forbes, Google

This extension provides a mechanism for caching the results of potentially
expensive internal validation operations across multiple runs of a Vulkan
application.
At the core is the slink:VkValidationCacheEXT object type, which is managed
similarly to the existing slink:VkPipelineCache.

The new struct slink:VkShaderModuleValidationCacheCreateInfoEXT can be
included in the pname:pNext chain at flink:vkCreateShaderModule time.
It contains a slink:VkValidationCacheEXT to use when validating the
slink:VkShaderModule.

=== New Object Types

  * slink:VkValidationCacheEXT

=== New Enum Constants

  * Extending elink:VkStructureType:
  ** ename:VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT
  ** ename:VK_STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT

=== New Enums

  * elink:VkValidationCacheHeaderVersionEXT
  * elink:VkValidationCacheCreateFlagsEXT

=== New Structures

  * slink:VkValidationCacheCreateInfoEXT
  * slink:VkShaderModuleValidationCacheCreateInfoEXT

=== New Functions

  * flink:vkCreateValidationCacheEXT
  * flink:vkDestroyValidationCacheEXT
  * flink:vkMergeValidationCachesEXT
  * flink:vkGetValidationCacheDataEXT

=== Issues

None.

=== Version History

 * Revision 1, 2017-08-29 (Cort Stratton)
   - Initial draft
