{"id":2596,"date":"2020-09-03T14:57:40","date_gmt":"2020-09-03T20:57:40","guid":{"rendered":"https:\/\/www.lunarg.com\/?p=2596"},"modified":"2025-01-15T18:03:50","modified_gmt":"2025-01-16T01:03:50","slug":"new-synchronization-validation-quick-start-guide-available-for-vulkan-developers","status":"publish","type":"post","link":"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/","title":{"rendered":"New Synchronization Validation Quick Start Guide Available for Vulkan Developers"},"content":{"rendered":"<p>Synchronization Validation is a new layer in the Vulkan toolkit. Synchronization Validation is intended to identify resource access conflicts due to missing or incorrect synchronization operations between actions (Draw, Copy, Dispatch, Blit) reading or writing the same regions of memory. LunarG has created a Quick Start Guide for Vulkan developers.<\/p>\n<p><!--more--><\/p>\n<h3><strong><a href=\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/08\/Final_Vulkan-Synchronization-Validation-Quick-Start_08_20.pdf\">Quick Start Guide<\/a><\/strong><\/h3>\n<p>This guide should allow developers familiar with Vulkan synchronization and debugging validation issues to begin to use the Synchronization Validation Layer. Prior to enabling Synchronization Validation, ensure that the default set of Validation checks run cleanly. It is assumed that quick start readers are familiar with both Vulkan Synchronization and using\/configuring Vulkan Validation. <strong><a href=\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/08\/Final_Vulkan-Synchronization-Validation-Quick-Start_08_20.pdf\">\u00a0Click here for access to the Vulkan Synchronization Quick Start Guide<\/a>.<\/strong><\/p>\n<p>You can find the Synchronization Validation Layer in the <strong><a href=\"https:\/\/vulkan.lunarg.com\/sdk\/home\">Vulkan SDK<\/a><\/strong>.<\/p>\n<h3>September 9th Update:\u00a0<strong class=\"_12FoOEddL7j_RgMQN0SNeU\">Frequently Found Issues from the Quick Start Guide<\/strong><\/h3>\n<p>This list of frequently found issues was not in the 1.2.148.1 SDK documentation, but it will be included with the next release of the SDK.<\/p>\n<ul class=\"_33MEMislY0GAlB78wL1_CR\">\n<li class=\"_3gqTEjt4x9UIIpWiro7YXz\">\n<p class=\"_1qeIAgB0cPwnLhDF9XSiJM\">Assuming Pipeline stages are logically extended with respect to memory access barriers, specifying the vertex shader stage in a barrier will not apply to all subsequent shader stages read\/write access. If you&#8217;re doing access barriers with TOP or BOTTOM as (src|dst)StageMask, you&#8217;re probably making a mistake.<\/p>\n<\/li>\n<li class=\"_3gqTEjt4x9UIIpWiro7YXz\">\n<p class=\"_1qeIAgB0cPwnLhDF9XSiJM\">Invalid stage\/access pairs (specifying a pipeline stage for which a given access is not valid) that yield no barrier.<\/p>\n<\/li>\n<li class=\"_3gqTEjt4x9UIIpWiro7YXz\">\n<p class=\"_1qeIAgB0cPwnLhDF9XSiJM\">Relying on implicit subpass dependencies with VK_SUBPASS_EXTERNAL when memory barriers are needed.<\/p>\n<\/li>\n<li class=\"_3gqTEjt4x9UIIpWiro7YXz\">\n<p class=\"_1qeIAgB0cPwnLhDF9XSiJM\">Missing memory dependencies with Image Layout Transitions from pipeline barrier or renderpass Begin\/Next\/End operations.<\/p>\n<\/li>\n<li class=\"_3gqTEjt4x9UIIpWiro7YXz\">\n<p class=\"_1qeIAgB0cPwnLhDF9XSiJM\">Missing stage\/access scopes for load operations, noting that color and depth\/stencil are done by different stage\/access.<\/p>\n<\/li>\n<\/ul>\n<h3><strong>More information about LunarG<\/strong><\/h3>\n<p>LunarG&#8217;s software engineering experts create innovative products and services for open source and commercial customers using leading-edge 3D graphics and compute technologies, including Vulkan, OpenXR, SPIR-V, and OpenGL. We have strengths in performance analysis and tuning, runtime and tools development, shader optimizations, driver development, and porting engines and applications to Vulkan. Our software engineering team is based in Fort Collins, Colorado. LunarG was founded by software experts who are passionate about 3D graphics.<\/p>\n<p>For more information about\u00a0<a href=\"https:\/\/www.lunarg.com\/\">LunarG, <strong>please check out our new website.<\/strong><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Synchronization Validation is a new layer in the Vulkan toolkit. Synchronization Validation is intended to identify resource access conflicts due to missing or incorrect synchronization operations between actions (Draw, Copy, Dispatch, Blit) reading or writing the same regions of memory. LunarG has created a Quick Start Guide for Vulkan developers.<\/p>\n","protected":false},"author":14,"featured_media":2181,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[130],"tags":[83,80],"class_list":["post-2596","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-synchronization-validation-guide","tag-vulkan-validation"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>New Synchronization Validation Quick Start Guide Available for Vulkan Developers - LunarG<\/title>\n<meta name=\"description\" content=\"This quick start guide\u00a0should allow developers familiar with Vulkan synchronization and debugging validation issues to get started.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"New Synchronization Validation Quick Start Guide Available for Vulkan Developers - LunarG\" \/>\n<meta property=\"og:description\" content=\"This quick start guide\u00a0should allow developers familiar with Vulkan synchronization and debugging validation issues to get started.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/\" \/>\n<meta property=\"og:site_name\" content=\"LunarG\" \/>\n<meta property=\"article:published_time\" content=\"2020-09-03T20:57:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-16T01:03:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/pablo-heimplatz-ZODcBkEohk8-unsplash-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2048\" \/>\n\t<meta property=\"og:image:height\" content=\"1367\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Dave Desormeaux\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dave Desormeaux\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/\"},\"author\":{\"name\":\"Dave Desormeaux\",\"@id\":\"https:\/\/www.lunarg.com\/#\/schema\/person\/493f4ece901c822208cfda3feb80420a\"},\"headline\":\"New Synchronization Validation Quick Start Guide Available for Vulkan Developers\",\"datePublished\":\"2020-09-03T20:57:40+00:00\",\"dateModified\":\"2025-01-16T01:03:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/\"},\"wordCount\":383,\"publisher\":{\"@id\":\"https:\/\/www.lunarg.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/pablo-heimplatz-ZODcBkEohk8-unsplash-scaled.jpg\",\"keywords\":[\"Synchronization Validation Guide\",\"Vulkan Validation\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/\",\"url\":\"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/\",\"name\":\"New Synchronization Validation Quick Start Guide Available for Vulkan Developers - LunarG\",\"isPartOf\":{\"@id\":\"https:\/\/www.lunarg.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/pablo-heimplatz-ZODcBkEohk8-unsplash-scaled.jpg\",\"datePublished\":\"2020-09-03T20:57:40+00:00\",\"dateModified\":\"2025-01-16T01:03:50+00:00\",\"description\":\"This quick start guide\u00a0should allow developers familiar with Vulkan synchronization and debugging validation issues to get started.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/#primaryimage\",\"url\":\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/pablo-heimplatz-ZODcBkEohk8-unsplash-scaled.jpg\",\"contentUrl\":\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/pablo-heimplatz-ZODcBkEohk8-unsplash-scaled.jpg\",\"width\":2048,\"height\":1367},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.lunarg.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"New Synchronization Validation Quick Start Guide Available for Vulkan Developers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.lunarg.com\/#website\",\"url\":\"https:\/\/www.lunarg.com\/\",\"name\":\"LunarG\",\"description\":\"3D Graphics Software Solutions\",\"publisher\":{\"@id\":\"https:\/\/www.lunarg.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.lunarg.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.lunarg.com\/#organization\",\"name\":\"LunarG\",\"url\":\"https:\/\/www.lunarg.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.lunarg.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/05\/logo.png\",\"contentUrl\":\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/05\/logo.png\",\"width\":767,\"height\":304,\"caption\":\"LunarG\"},\"image\":{\"@id\":\"https:\/\/www.lunarg.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.lunarg.com\/#\/schema\/person\/493f4ece901c822208cfda3feb80420a\",\"name\":\"Dave Desormeaux\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.lunarg.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/89944424b10c09db4e6c6e62b6ef1722?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/89944424b10c09db4e6c6e62b6ef1722?s=96&d=retro&r=pg\",\"caption\":\"Dave Desormeaux\"},\"sameAs\":[\"http:\/\/www.lunarg.com\"],\"url\":\"https:\/\/www.lunarg.com\/author\/dave-d\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"New Synchronization Validation Quick Start Guide Available for Vulkan Developers - LunarG","description":"This quick start guide\u00a0should allow developers familiar with Vulkan synchronization and debugging validation issues to get started.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/","og_locale":"en_US","og_type":"article","og_title":"New Synchronization Validation Quick Start Guide Available for Vulkan Developers - LunarG","og_description":"This quick start guide\u00a0should allow developers familiar with Vulkan synchronization and debugging validation issues to get started.","og_url":"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/","og_site_name":"LunarG","article_published_time":"2020-09-03T20:57:40+00:00","article_modified_time":"2025-01-16T01:03:50+00:00","og_image":[{"width":2048,"height":1367,"url":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/pablo-heimplatz-ZODcBkEohk8-unsplash-scaled.jpg","type":"image\/jpeg"}],"author":"Dave Desormeaux","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Dave Desormeaux","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/#article","isPartOf":{"@id":"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/"},"author":{"name":"Dave Desormeaux","@id":"https:\/\/www.lunarg.com\/#\/schema\/person\/493f4ece901c822208cfda3feb80420a"},"headline":"New Synchronization Validation Quick Start Guide Available for Vulkan Developers","datePublished":"2020-09-03T20:57:40+00:00","dateModified":"2025-01-16T01:03:50+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/"},"wordCount":383,"publisher":{"@id":"https:\/\/www.lunarg.com\/#organization"},"image":{"@id":"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/pablo-heimplatz-ZODcBkEohk8-unsplash-scaled.jpg","keywords":["Synchronization Validation Guide","Vulkan Validation"],"articleSection":["Blog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/","url":"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/","name":"New Synchronization Validation Quick Start Guide Available for Vulkan Developers - LunarG","isPartOf":{"@id":"https:\/\/www.lunarg.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/#primaryimage"},"image":{"@id":"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/pablo-heimplatz-ZODcBkEohk8-unsplash-scaled.jpg","datePublished":"2020-09-03T20:57:40+00:00","dateModified":"2025-01-16T01:03:50+00:00","description":"This quick start guide\u00a0should allow developers familiar with Vulkan synchronization and debugging validation issues to get started.","breadcrumb":{"@id":"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/#primaryimage","url":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/pablo-heimplatz-ZODcBkEohk8-unsplash-scaled.jpg","contentUrl":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/pablo-heimplatz-ZODcBkEohk8-unsplash-scaled.jpg","width":2048,"height":1367},{"@type":"BreadcrumbList","@id":"https:\/\/www.lunarg.com\/new-synchronization-validation-quick-start-guide-available-for-vulkan-developers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lunarg.com\/"},{"@type":"ListItem","position":2,"name":"New Synchronization Validation Quick Start Guide Available for Vulkan Developers"}]},{"@type":"WebSite","@id":"https:\/\/www.lunarg.com\/#website","url":"https:\/\/www.lunarg.com\/","name":"LunarG","description":"3D Graphics Software Solutions","publisher":{"@id":"https:\/\/www.lunarg.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lunarg.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.lunarg.com\/#organization","name":"LunarG","url":"https:\/\/www.lunarg.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lunarg.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/05\/logo.png","contentUrl":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/05\/logo.png","width":767,"height":304,"caption":"LunarG"},"image":{"@id":"https:\/\/www.lunarg.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.lunarg.com\/#\/schema\/person\/493f4ece901c822208cfda3feb80420a","name":"Dave Desormeaux","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lunarg.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/89944424b10c09db4e6c6e62b6ef1722?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/89944424b10c09db4e6c6e62b6ef1722?s=96&d=retro&r=pg","caption":"Dave Desormeaux"},"sameAs":["http:\/\/www.lunarg.com"],"url":"https:\/\/www.lunarg.com\/author\/dave-d\/"}]}},"_links":{"self":[{"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/posts\/2596","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/comments?post=2596"}],"version-history":[{"count":0,"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/posts\/2596\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/media\/2181"}],"wp:attachment":[{"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/media?parent=2596"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/categories?post=2596"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/tags?post=2596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}