{"id":2770,"date":"2021-09-16T15:35:37","date_gmt":"2021-09-16T21:35:37","guid":{"rendered":"https:\/\/www.lunarg.com\/?p=2770"},"modified":"2025-01-15T17:52:52","modified_gmt":"2025-01-16T00:52:52","slug":"new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim","status":"publish","type":"post","link":"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/","title":{"rendered":"New LunarG White Paper: Creating Portable Vulkan Applications Using DevSim"},"content":{"rendered":"<p>The Device Simulation Layer (also called Devsim) helps developers write applications that can be used on multiple platforms while following the Vulkan specification. To ensure an application properly handles multiple platforms, these checks must be run on all platforms of interest to the developer. Combinations of GPUs, ICDs, drivers, and operating systems to name a few factors create an exponential number of possible test platforms, which is infeasible for a developer to obtain and maintain. DevSim can help solve this problem. For example, DevSim can be configured as though the application is running on a device with the minimum properties, features, and limits defined by the Vulkan specification.<\/p>\n<p>Please read the new white paper, <a href=\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2021\/09\/Enhanced-Devsim-15Sept2021.pdf\">Creating Portable Vulkan Applications Using DevSim<\/a>, to learn how to use this valuable tool.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Device Simulation Layer (also called Devsim) helps developers write applications that can be used on multiple platforms while following the Vulkan specification. To ensure an application properly handles multiple platforms, these checks must be run on all platforms of interest to the developer. Combinations of GPUs, ICDs, drivers, and operating systems to name a [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":2189,"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":[131],"tags":[93,7],"class_list":["post-2770","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-white-papers","tag-device-simulation","tag-devsim"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>New LunarG White Paper: Creating Portable Vulkan Applications Using DevSim - LunarG<\/title>\n<meta name=\"description\" content=\"This new white paper shares how the Vulkan Device Simulation Layer helps developers write applications that can be used on multiple platforms while following the Vulkan specification.\" \/>\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-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"New LunarG White Paper: Creating Portable Vulkan Applications Using DevSim - LunarG\" \/>\n<meta property=\"og:description\" content=\"This new white paper shares how the Vulkan Device Simulation Layer helps developers write applications that can be used on multiple platforms while following the Vulkan specification.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/\" \/>\n<meta property=\"og:site_name\" content=\"LunarG\" \/>\n<meta property=\"article:published_time\" content=\"2021-09-16T21:35:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-01-16T00:52:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/sharon-mccutcheon-p203ekCK4Ac-unsplash-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2048\" \/>\n\t<meta property=\"og:image:height\" content=\"1365\" \/>\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=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/\"},\"author\":{\"name\":\"Dave Desormeaux\",\"@id\":\"https:\/\/www.lunarg.com\/#\/schema\/person\/493f4ece901c822208cfda3feb80420a\"},\"headline\":\"New LunarG White Paper: Creating Portable Vulkan Applications Using DevSim\",\"datePublished\":\"2021-09-16T21:35:37+00:00\",\"dateModified\":\"2025-01-16T00:52:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/\"},\"wordCount\":138,\"publisher\":{\"@id\":\"https:\/\/www.lunarg.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/sharon-mccutcheon-p203ekCK4Ac-unsplash-scaled.jpg\",\"keywords\":[\"Device Simulation\",\"DevSim\"],\"articleSection\":[\"White Papers\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/\",\"url\":\"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/\",\"name\":\"New LunarG White Paper: Creating Portable Vulkan Applications Using DevSim - LunarG\",\"isPartOf\":{\"@id\":\"https:\/\/www.lunarg.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/sharon-mccutcheon-p203ekCK4Ac-unsplash-scaled.jpg\",\"datePublished\":\"2021-09-16T21:35:37+00:00\",\"dateModified\":\"2025-01-16T00:52:52+00:00\",\"description\":\"This new white paper shares how the Vulkan Device Simulation Layer helps developers write applications that can be used on multiple platforms while following the Vulkan specification.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/#primaryimage\",\"url\":\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/sharon-mccutcheon-p203ekCK4Ac-unsplash-scaled.jpg\",\"contentUrl\":\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/sharon-mccutcheon-p203ekCK4Ac-unsplash-scaled.jpg\",\"width\":2048,\"height\":1365},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.lunarg.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"New LunarG White Paper: Creating Portable Vulkan Applications Using DevSim\"}]},{\"@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 LunarG White Paper: Creating Portable Vulkan Applications Using DevSim - LunarG","description":"This new white paper shares how the Vulkan Device Simulation Layer helps developers write applications that can be used on multiple platforms while following the Vulkan specification.","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-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/","og_locale":"en_US","og_type":"article","og_title":"New LunarG White Paper: Creating Portable Vulkan Applications Using DevSim - LunarG","og_description":"This new white paper shares how the Vulkan Device Simulation Layer helps developers write applications that can be used on multiple platforms while following the Vulkan specification.","og_url":"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/","og_site_name":"LunarG","article_published_time":"2021-09-16T21:35:37+00:00","article_modified_time":"2025-01-16T00:52:52+00:00","og_image":[{"width":2048,"height":1365,"url":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/sharon-mccutcheon-p203ekCK4Ac-unsplash-scaled.jpg","type":"image\/jpeg"}],"author":"Dave Desormeaux","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Dave Desormeaux","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/#article","isPartOf":{"@id":"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/"},"author":{"name":"Dave Desormeaux","@id":"https:\/\/www.lunarg.com\/#\/schema\/person\/493f4ece901c822208cfda3feb80420a"},"headline":"New LunarG White Paper: Creating Portable Vulkan Applications Using DevSim","datePublished":"2021-09-16T21:35:37+00:00","dateModified":"2025-01-16T00:52:52+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/"},"wordCount":138,"publisher":{"@id":"https:\/\/www.lunarg.com\/#organization"},"image":{"@id":"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/sharon-mccutcheon-p203ekCK4Ac-unsplash-scaled.jpg","keywords":["Device Simulation","DevSim"],"articleSection":["White Papers"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/","url":"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/","name":"New LunarG White Paper: Creating Portable Vulkan Applications Using DevSim - LunarG","isPartOf":{"@id":"https:\/\/www.lunarg.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/#primaryimage"},"image":{"@id":"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/sharon-mccutcheon-p203ekCK4Ac-unsplash-scaled.jpg","datePublished":"2021-09-16T21:35:37+00:00","dateModified":"2025-01-16T00:52:52+00:00","description":"This new white paper shares how the Vulkan Device Simulation Layer helps developers write applications that can be used on multiple platforms while following the Vulkan specification.","breadcrumb":{"@id":"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/#primaryimage","url":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/sharon-mccutcheon-p203ekCK4Ac-unsplash-scaled.jpg","contentUrl":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/sharon-mccutcheon-p203ekCK4Ac-unsplash-scaled.jpg","width":2048,"height":1365},{"@type":"BreadcrumbList","@id":"https:\/\/www.lunarg.com\/new-lunarg-white-paper-creating-portable-vulkan-applications-using-devsim\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lunarg.com\/"},{"@type":"ListItem","position":2,"name":"New LunarG White Paper: Creating Portable Vulkan Applications Using DevSim"}]},{"@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\/2770","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=2770"}],"version-history":[{"count":0,"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/posts\/2770\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/media\/2189"}],"wp:attachment":[{"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/media?parent=2770"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/categories?post=2770"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/tags?post=2770"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}