{"id":2737,"date":"2021-07-20T11:12:54","date_gmt":"2021-07-20T17:12:54","guid":{"rendered":"https:\/\/www.lunarg.com\/?post_type=white_paper&#038;p=2737"},"modified":"2021-08-02T08:27:56","modified_gmt":"2021-08-02T14:27:56","slug":"using-debug-printf","status":"publish","type":"white_paper","link":"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/","title":{"rendered":"Using Vulkan Debug Printf"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Debugging Vulkan shaders, especially compute shaders, can be very difficult to do even with the aid of a powerful debugging tool like RenderDoc.\u00a0 Debug Printf is a recent Vulkan feature that allows developers to debug their shaders by inserting Debug Print statem<\/span><span style=\"font-weight: 400;\">ents. This feature is now supported within RenderDoc in a way that allows for per-invocation inspection of values in a shader. <\/span><span style=\"font-weight: 400;\">\u00a0This white paper describes how to instrument your GLSL or HLSL shaders with Debug Printf and how to inspect and debug with them in RenderDoc, using vkconfig, or with environment variables.<\/span><\/p>\n<p><strong><a href=\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2021\/08\/Using-Debug-Printf-02August2021.pdf\">Click here to read the white paper.<\/a><\/strong><\/p>\n","protected":false},"author":14,"featured_media":2143,"template":"","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":"","_links_to":"","_links_to_target":""},"white_paper_topic":[67],"class_list":["post-2737","white_paper","type-white_paper","status-publish","has-post-thumbnail","hentry","white_paper_topic-vulkan"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Using Vulkan Debug Printf - LunarG<\/title>\n<meta name=\"description\" content=\"A new white paper from LunarG describes how to use Vulkan Debug PrintF, including RenderDoc support. Debug Printf is a recent Vulkan feature that allows developers to debug their shaders by inserting Debug Print statements.\" \/>\n<meta name=\"robots\" content=\"noindex, follow\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Using Vulkan Debug Printf - LunarG\" \/>\n<meta property=\"og:description\" content=\"A new white paper from LunarG describes how to use Vulkan Debug PrintF, including RenderDoc support. Debug Printf is a recent Vulkan feature that allows developers to debug their shaders by inserting Debug Print statements.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/\" \/>\n<meta property=\"og:site_name\" content=\"LunarG\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-02T14:27:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/erfan-moradi-wKc-i5zwfok-unsplash-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1537\" \/>\n\t<meta property=\"og:image:height\" content=\"2048\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/\",\"url\":\"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/\",\"name\":\"Using Vulkan Debug Printf - LunarG\",\"isPartOf\":{\"@id\":\"https:\/\/www.lunarg.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/erfan-moradi-wKc-i5zwfok-unsplash-scaled.jpg\",\"datePublished\":\"2021-07-20T17:12:54+00:00\",\"dateModified\":\"2021-08-02T14:27:56+00:00\",\"description\":\"A new white paper from LunarG describes how to use Vulkan Debug PrintF, including RenderDoc support. Debug Printf is a recent Vulkan feature that allows developers to debug their shaders by inserting Debug Print statements.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/#primaryimage\",\"url\":\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/erfan-moradi-wKc-i5zwfok-unsplash-scaled.jpg\",\"contentUrl\":\"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/erfan-moradi-wKc-i5zwfok-unsplash-scaled.jpg\",\"width\":1537,\"height\":2048},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.lunarg.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Using Vulkan Debug Printf\"}]},{\"@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\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Using Vulkan Debug Printf - LunarG","description":"A new white paper from LunarG describes how to use Vulkan Debug PrintF, including RenderDoc support. Debug Printf is a recent Vulkan feature that allows developers to debug their shaders by inserting Debug Print statements.","robots":{"index":"noindex","follow":"follow"},"og_locale":"en_US","og_type":"article","og_title":"Using Vulkan Debug Printf - LunarG","og_description":"A new white paper from LunarG describes how to use Vulkan Debug PrintF, including RenderDoc support. Debug Printf is a recent Vulkan feature that allows developers to debug their shaders by inserting Debug Print statements.","og_url":"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/","og_site_name":"LunarG","article_modified_time":"2021-08-02T14:27:56+00:00","og_image":[{"width":1537,"height":2048,"url":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/erfan-moradi-wKc-i5zwfok-unsplash-scaled.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/","url":"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/","name":"Using Vulkan Debug Printf - LunarG","isPartOf":{"@id":"https:\/\/www.lunarg.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/#primaryimage"},"image":{"@id":"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/#primaryimage"},"thumbnailUrl":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/erfan-moradi-wKc-i5zwfok-unsplash-scaled.jpg","datePublished":"2021-07-20T17:12:54+00:00","dateModified":"2021-08-02T14:27:56+00:00","description":"A new white paper from LunarG describes how to use Vulkan Debug PrintF, including RenderDoc support. Debug Printf is a recent Vulkan feature that allows developers to debug their shaders by inserting Debug Print statements.","breadcrumb":{"@id":"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/#primaryimage","url":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/erfan-moradi-wKc-i5zwfok-unsplash-scaled.jpg","contentUrl":"https:\/\/www.lunarg.com\/wp-content\/uploads\/2020\/07\/erfan-moradi-wKc-i5zwfok-unsplash-scaled.jpg","width":1537,"height":2048},{"@type":"BreadcrumbList","@id":"https:\/\/www.lunarg.com\/news-insights\/white-papers\/using-debug-printf\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lunarg.com\/"},{"@type":"ListItem","position":2,"name":"Using Vulkan Debug Printf"}]},{"@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\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/white_paper\/2737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/white_paper"}],"about":[{"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/types\/white_paper"}],"author":[{"embeddable":true,"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/users\/14"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/media\/2143"}],"wp:attachment":[{"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/media?parent=2737"}],"wp:term":[{"taxonomy":"white_paper_topic","embeddable":true,"href":"https:\/\/www.lunarg.com\/wp-json\/wp\/v2\/white_paper_topic?post=2737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}