1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta charset="UTF-8">
5<meta http-equiv="X-UA-Compatible" content="IE=edge">
6<meta name="viewport" content="width=device-width, initial-scale=1.0">
7<meta name="generator" content="Asciidoctor 2.0.17">
8<meta name="author" content="The Khronos® Vulkan Working Group">
9<title>Test® 1.2.3 - (with VK_KHR_copy_commands2, VK_KHR_get_physical_device_properties2)</title>
10<style>
11/*! normalize.css v2.1.2 | MIT License | git.io/normalize */
12/* ========================================================================== HTML5 display definitions ========================================================================== */
13/** Correct `block` display not defined in IE 8/9. */
14article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block; }
15
16/** Correct `inline-block` display not defined in IE 8/9. */
17audio, canvas, video { display: inline-block; }
18
19/** Prevent modern browsers from displaying `audio` without controls. Remove excess height in iOS 5 devices. */
20audio:not([controls]) { display: none; height: 0; }
21
22/** Address `[hidden]` styling not present in IE 8/9. Hide the `template` element in IE, Safari, and Firefox < 22. */
23[hidden], template { display: none; }
24
25script { display: none !important; }
26
27/* ========================================================================== Base ========================================================================== */
28/** 1. Set default font family to sans-serif. 2. Prevent iOS text size adjust after orientation change, without disabling user zoom. */
29html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }
30
31/** Remove default margin. */
32body { margin: 0; }
33
34/* ========================================================================== Links ========================================================================== */
35/** Remove the gray background color from active links in IE 10. */
36a { background: transparent; }
37
38/** Address `outline` inconsistency between Chrome and other browsers. */
39a:focus { outline: thin dotted; }
40
41/** Improve readability when focused and also mouse hovered in all browsers. */
42a:active, a:hover { outline: 0; }
43
44/* ========================================================================== Typography ========================================================================== */
45/** Address variable `h1` font-size and margin within `section` and `article` contexts in Firefox 4+, Safari 5, and Chrome. */
46h1 { font-size: 2em; margin: 0.67em 0; }
47
48/** Address styling not present in IE 8/9, Safari 5, and Chrome. */
49abbr[title] { border-bottom: 1px dotted; }
50
51/** Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome. */
52b, strong { font-weight: bold; }
53
54/** Address styling not present in Safari 5 and Chrome. */
55dfn { font-style: italic; }
56
57/** Address differences between Firefox and other browsers. */
58hr { -moz-box-sizing: content-box; box-sizing: content-box; height: 0; }
59
60/** Address styling not present in IE 8/9. */
61mark { background: #ff0; color: #000; }
62
63/** Correct font family set oddly in Safari 5 and Chrome. */
64code, kbd, pre, samp { font-family: monospace, serif; font-size: 1em; }
65
66/** Improve readability of pre-formatted text in all browsers. */
67pre { white-space: pre-wrap; }
68
69/** Set consistent quote types. */
70q { quotes: "\201C" "\201D" "\2018" "\2019"; }
71
72/** Address inconsistent and variable font size in all browsers. */
73small { font-size: 80%; }
74
75/** Prevent `sub` and `sup` affecting `line-height` in all browsers. */
76sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
77
78sup { top: -0.5em; }
79
80sub { bottom: -0.25em; }
81
82/* ========================================================================== Embedded content ========================================================================== */
83/** Remove border when inside `a` element in IE 8/9. */
84img { border: 0; }
85
86/** Correct overflow displayed oddly in IE 9. */
87svg:not(:root) { overflow: hidden; }
88
89/* ========================================================================== Figures ========================================================================== */
90/** Address margin not present in IE 8/9 and Safari 5. */
91figure { margin: 0; }
92
93/* ========================================================================== Forms ========================================================================== */
94/** Define consistent border, margin, and padding. */
95fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }
96
97/** 1. Correct `color` not being inherited in IE 8/9. 2. Remove padding so people aren't caught out if they zero out fieldsets. */
98legend { border: 0; /* 1 */ padding: 0; /* 2 */ }
99
100/** 1. Correct font family not being inherited in all browsers. 2. Correct font size not being inherited in all browsers. 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome. */
101button, input, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 2 */ margin: 0; /* 3 */ }
102
103/** Address Firefox 4+ setting `line-height` on `input` using `!important` in the UA stylesheet. */
104button, input { line-height: normal; }
105
106/** Address inconsistent `text-transform` inheritance for `button` and `select`. All other form control elements do not inherit `text-transform` values. Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+. Correct `select` style inheritance in Firefox 4+ and Opera. */
107button, select { text-transform: none; }
108
109/** 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 2. Correct inability to style clickable `input` types in iOS. 3. Improve usability and consistency of cursor style between image-type `input` and others. */
110button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }
111
112/** Re-set default cursor for disabled elements. */
113button[disabled], html input[disabled] { cursor: default; }
114
115/** 1. Address box sizing set to `content-box` in IE 8/9. 2. Remove excess padding in IE 8/9. */
116input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }
117
118/** 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome. 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome (include `-moz` to future-proof). */
119input[type="search"] { -webkit-appearance: textfield; /* 1 */ -moz-box-sizing: content-box; -webkit-box-sizing: content-box; /* 2 */ box-sizing: content-box; }
120
121/** Remove inner padding and search cancel button in Safari 5 and Chrome on OS X. */
122input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
123
124/** Remove inner padding and border in Firefox 4+. */
125button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
126
127/** 1. Remove default vertical scrollbar in IE 8/9. 2. Improve readability and alignment in all browsers. */
128textarea { overflow: auto; /* 1 */ vertical-align: top; /* 2 */ }
129
130/* ========================================================================== Tables ========================================================================== */
131/** Remove most spacing between table cells. */
132table { border-collapse: collapse; border-spacing: 0; }
133
134meta.foundation-mq-small { font-family: "only screen and (min-width: 768px)"; width: 768px; }
135
136meta.foundation-mq-medium { font-family: "only screen and (min-width:1280px)"; width: 1280px; }
137
138meta.foundation-mq-large { font-family: "only screen and (min-width:1440px)"; width: 1440px; }
139
140*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
141
142html, body { font-size: 100%; }
143
144body { background: #fff; color: #222; padding: 0; margin: 0; font-family: "Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif; font-weight: normal; font-style: normal; line-height: 1; position: relative; cursor: auto; }
145
146a:hover { cursor: pointer; }
147
148img, object, embed { max-width: 100%; height: auto; }
149
150object, embed { height: 100%; }
151
152img { -ms-interpolation-mode: bicubic; }
153
154#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; }
155
156.left { float: left !important; }
157
158.right { float: right !important; }
159
160.text-left { text-align: left !important; }
161
162.text-right { text-align: right !important; }
163
164.text-center { text-align: center !important; }
165
166.text-justify { text-align: justify !important; }
167
168.hide { display: none; }
169
170.antialiased { -webkit-font-smoothing: antialiased; }
171
172img { display: inline-block; vertical-align: middle; }
173
174textarea { height: auto; min-height: 50px; }
175
176select { width: 100%; }
177
178object, svg { display: inline-block; vertical-align: middle; }
179
180.center { margin-left: auto; margin-right: auto; }
181
182.spread { width: 100%; }
183
184p.lead, .paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { font-size: 1.21875em; line-height: 1.6; }
185
186.subheader, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: black; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; }
187
188/* Typography resets */
189div, dl, dt, dd, ul, ol, li, h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6, pre, form, p, blockquote, th, td { margin: 0; padding: 0; direction: ltr; }
190
191/* Default Link Styles */
192a { color: #0068b0; text-decoration: none; line-height: inherit; }
193a:hover, a:focus { color: #333; }
194a img { border: none; }
195
196/* Default paragraph styles */
197p { font-family: Noto, sans-serif; font-weight: normal; font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; text-rendering: optimizeLegibility; }
198p aside { font-size: 0.875em; line-height: 1.35; font-style: italic; }
199
200/* Default header styles */
201h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { font-family: Noto, sans-serif; font-weight: normal; font-style: normal; color: black; text-rendering: optimizeLegibility; margin-top: 0.5em; margin-bottom: 0.5em; line-height: 1.2125em; }
202h1 small, h2 small, h3 small, #toctitle small, .sidebarblock > .content > .title small, h4 small, h5 small, h6 small { font-size: 60%; color: #4d4d4d; line-height: 0; }
203
204h1 { font-size: 2.125em; }
205
206h2 { font-size: 1.6875em; }
207
208h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.375em; }
209
210h4 { font-size: 1.125em; }
211
212h5 { font-size: 1.125em; }
213
214h6 { font-size: 1em; }
215
216hr { border: solid #ddd; border-width: 1px 0 0; clear: both; margin: 1.25em 0 1.1875em; height: 0; }
217
218/* Helpful Typography Defaults */
219em, i { font-style: italic; line-height: inherit; }
220
221strong, b { font-weight: bold; line-height: inherit; }
222
223small { font-size: 60%; line-height: inherit; }
224
225code { font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; color: #264357; }
226
227/* Lists */
228ul, ol, dl { font-size: 1em; line-height: 1.6; margin-bottom: 0.75em; list-style-position: outside; font-family: Noto, sans-serif; }
229
230ul, ol { margin-left: 1.5em; }
231ul.no-bullet, ol.no-bullet { margin-left: 1.5em; }
232
233/* Unordered Lists */
234ul li ul, ul li ol { margin-left: 1.25em; margin-bottom: 0; font-size: 1em; /* Override nested font-size change */ }
235ul.square li ul, ul.circle li ul, ul.disc li ul { list-style: inherit; }
236ul.square { list-style-type: square; }
237ul.circle { list-style-type: circle; }
238ul.disc { list-style-type: disc; }
239ul.no-bullet { list-style: none; }
240
241/* Ordered Lists */
242ol li ul, ol li ol { margin-left: 1.25em; margin-bottom: 0; }
243
244/* Definition Lists */
245dl dt { margin-bottom: 0.3em; font-weight: bold; }
246dl dd { margin-bottom: 0.75em; }
247
248/* Abbreviations */
249abbr, acronym { text-transform: uppercase; font-size: 90%; color: black; border-bottom: 1px dotted #ddd; cursor: help; }
250
251abbr { text-transform: none; }
252
253/* Blockquotes */
254blockquote { margin: 0 0 0.75em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 1px solid #ddd; }
255blockquote cite { display: block; font-size: 0.8125em; color: #365E7A; }
256blockquote cite:before { content: "\2014 \0020"; }
257blockquote cite a, blockquote cite a:visited { color: #365E7A; }
258
259blockquote, blockquote p { line-height: 1.6; color: #333; }
260
261/* Microformats */
262.vcard { display: inline-block; margin: 0 0 1.25em 0; border: 1px solid #ddd; padding: 0.625em 0.75em; }
263.vcard li { margin: 0; display: block; }
264.vcard .fn { font-weight: bold; font-size: 0.9375em; }
265
266.vevent .summary { font-weight: bold; }
267.vevent abbr { cursor: auto; text-decoration: none; font-weight: bold; border: none; padding: 0 0.0625em; }
268
269@media only screen and (min-width: 768px) { h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; }
270  h1 { font-size: 2.75em; }
271  h2 { font-size: 2.3125em; }
272  h3, #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; }
273  h4 { font-size: 1.4375em; } }
274/* Tables */
275table { background: #fff; margin-bottom: 1.25em; border: solid 1px #d8d8ce; }
276table thead, table tfoot { background: #eee; font-weight: bold; }
277table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #222; text-align: left; }
278table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #6d6e71; }
279table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f8f8f8; }
280table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.4; }
281
282body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; tab-size: 4; }
283
284h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { line-height: 1.4; }
285
286a:hover, a:focus { text-decoration: underline; }
287
288.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; }
289.clearfix:after, .float-group:after { clear: both; }
290
291*:not(pre) > code { font-size: inherit; font-style: normal !important; letter-spacing: 0; padding: 0; background-color: transparent; -webkit-border-radius: 0; border-radius: 0; line-height: inherit; word-wrap: break-word; }
292*:not(pre) > code.nobreak { word-wrap: normal; }
293*:not(pre) > code.nowrap { white-space: nowrap; }
294
295pre, pre > code { line-height: 1.6; color: #264357; font-family: Consolas, "Liberation Mono", Courier, monospace; font-weight: normal; }
296
297em em { font-style: normal; }
298
299strong strong { font-weight: normal; }
300
301.keyseq { color: #333333; }
302
303kbd { font-family: Consolas, "Liberation Mono", Courier, monospace; display: inline-block; color: black; font-size: 0.65em; line-height: 1.45; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 0.1em white inset; margin: 0 0.15em; padding: 0.2em 0.5em; vertical-align: middle; position: relative; top: -0.1em; white-space: nowrap; }
304
305.keyseq kbd:first-child { margin-left: 0; }
306
307.keyseq kbd:last-child { margin-right: 0; }
308
309.menuseq, .menuref { color: #000; }
310
311.menuseq b:not(.caret), .menuref { font-weight: inherit; }
312
313.menuseq { word-spacing: -0.02em; }
314.menuseq b.caret { font-size: 1.25em; line-height: 0.8; }
315.menuseq i.caret { font-weight: bold; text-align: center; width: 0.45em; }
316
317b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; }
318
319b.button:before { content: "["; padding: 0 3px 0 2px; }
320
321b.button:after { content: "]"; padding: 0 2px 0 3px; }
322
323#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 1.5em; padding-right: 1.5em; }
324#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; }
325#header:after, #content:after, #footnotes:after, #footer:after { clear: both; }
326
327#content { margin-top: 1.25em; }
328
329#content:before { content: none; }
330
331#header > h1:first-child { color: black; margin-top: 2.25rem; margin-bottom: 0; }
332#header > h1:first-child + #toc { margin-top: 8px; border-top: 1px solid #ddd; }
333#header > h1:only-child, body.toc2 #header > h1:nth-last-child(2) { border-bottom: 1px solid #ddd; padding-bottom: 8px; }
334#header .details { border-bottom: 1px solid #ddd; line-height: 1.45; padding-top: 0.25em; padding-bottom: 0.25em; padding-left: 0.25em; color: #365E7A; display: -ms-flexbox; display: -webkit-flex; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; }
335#header .details span:first-child { margin-left: -0.125em; }
336#header .details span.email a { color: #333; }
337#header .details br { display: none; }
338#header .details br + span:before { content: "\00a0\2013\00a0"; }
339#header .details br + span.author:before { content: "\00a0\22c5\00a0"; color: #333; }
340#header .details br + span#revremark:before { content: "\00a0|\00a0"; }
341#header #revnumber { text-transform: capitalize; }
342#header #revnumber:after { content: "\00a0"; }
343
344#content > h1:first-child:not([class]) { color: black; border-bottom: 1px solid #ddd; padding-bottom: 8px; margin-top: 0; padding-top: 1rem; margin-bottom: 1.25rem; }
345
346#toc { border-bottom: 0 solid #ddd; padding-bottom: 0.5em; }
347#toc > ul { margin-left: 0.125em; }
348#toc ul.sectlevel0 > li > a { font-style: italic; }
349#toc ul.sectlevel0 ul.sectlevel1 { margin: 0.5em 0; }
350#toc ul { font-family: Noto, sans-serif; list-style-type: none; }
351#toc li { line-height: 1.3334; margin-top: 0.3334em; }
352#toc a { text-decoration: none; }
353#toc a:active { text-decoration: underline; }
354
355#toctitle { color: black; font-size: 1.2em; }
356
357@media only screen and (min-width: 768px) { #toctitle { font-size: 1.375em; }
358  body.toc2 { padding-left: 15em; padding-right: 0; }
359  #toc.toc2 { margin-top: 0 !important; background-color: #fff; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #ddd; border-top-width: 0 !important; border-bottom-width: 0 !important; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; }
360  #toc.toc2 #toctitle { margin-top: 0; margin-bottom: 0.8rem; font-size: 1.2em; }
361  #toc.toc2 > ul { font-size: 0.9em; margin-bottom: 0; }
362  #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; }
363  #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; }
364  body.toc2.toc-right { padding-left: 0; padding-right: 15em; }
365  body.toc2.toc-right #toc.toc2 { border-right-width: 0; border-left: 1px solid #ddd; left: auto; right: 0; } }
366@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; }
367  #toc.toc2 { width: 20em; }
368  #toc.toc2 #toctitle { font-size: 1.375em; }
369  #toc.toc2 > ul { font-size: 0.95em; }
370  #toc.toc2 ul ul { padding-left: 1.25em; }
371  body.toc2.toc-right { padding-left: 0; padding-right: 20em; } }
372#content #toc { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; }
373#content #toc > :first-child { margin-top: 0; }
374#content #toc > :last-child { margin-bottom: 0; }
375
376#footer { max-width: 100%; background-color: none; padding: 1.25em; }
377
378#footer-text { color: black; line-height: 1.44; }
379
380#content { margin-bottom: 0.625em; }
381
382.sect1 { padding-bottom: 0.625em; }
383
384@media only screen and (min-width: 768px) { #content { margin-bottom: 1.25em; }
385  .sect1 { padding-bottom: 1.25em; } }
386.sect1:last-child { padding-bottom: 0; }
387
388.sect1 + .sect1 { border-top: 0 solid #ddd; }
389
390#content h1 > a.anchor, h2 > a.anchor, h3 > a.anchor, #toctitle > a.anchor, .sidebarblock > .content > .title > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { position: absolute; z-index: 1001; width: 1.5ex; margin-left: -1.5ex; display: block; text-decoration: none !important; visibility: hidden; text-align: center; font-weight: normal; }
391#content h1 > a.anchor:before, h2 > a.anchor:before, h3 > a.anchor:before, #toctitle > a.anchor:before, .sidebarblock > .content > .title > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { content: "\00A7"; font-size: 0.85em; display: block; padding-top: 0.1em; }
392#content h1:hover > a.anchor, #content h1 > a.anchor:hover, h2:hover > a.anchor, h2 > a.anchor:hover, h3:hover > a.anchor, #toctitle:hover > a.anchor, .sidebarblock > .content > .title:hover > a.anchor, h3 > a.anchor:hover, #toctitle > a.anchor:hover, .sidebarblock > .content > .title > a.anchor:hover, h4:hover > a.anchor, h4 > a.anchor:hover, h5:hover > a.anchor, h5 > a.anchor:hover, h6:hover > a.anchor, h6 > a.anchor:hover { visibility: visible; }
393#content h1 > a.link, h2 > a.link, h3 > a.link, #toctitle > a.link, .sidebarblock > .content > .title > a.link, h4 > a.link, h5 > a.link, h6 > a.link { color: black; text-decoration: none; }
394#content h1 > a.link:hover, h2 > a.link:hover, h3 > a.link:hover, #toctitle > a.link:hover, .sidebarblock > .content > .title > a.link:hover, h4 > a.link:hover, h5 > a.link:hover, h6 > a.link:hover { color: black; }
395
396.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .videoblock { margin-bottom: 1.25em; }
397
398.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; }
399
400table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; }
401
402.paragraph.lead > p, #preamble > .sectionbody > .paragraph:first-of-type p { color: black; }
403
404table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; }
405
406.admonitionblock > table { border-collapse: separate; border: 0; background: none; width: 100%; }
407.admonitionblock > table td.icon { text-align: center; width: 80px; }
408.admonitionblock > table td.icon img { max-width: initial; }
409.admonitionblock > table td.icon .title { font-weight: bold; font-family: Noto, sans-serif; text-transform: uppercase; }
410.admonitionblock > table td.content { padding-left: 1.125em; padding-right: 1.25em; border-left: 1px solid #ddd; color: #365E7A; }
411.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; }
412
413.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; }
414.exampleblock > .content > :first-child { margin-top: 0; }
415.exampleblock > .content > :last-child { margin-bottom: 0; }
416
417.sidebarblock { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: #fff; -webkit-border-radius: 0; border-radius: 0; }
418.sidebarblock > :first-child { margin-top: 0; }
419.sidebarblock > :last-child { margin-bottom: 0; }
420.sidebarblock > .content > .title { color: black; margin-top: 0; }
421
422.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; }
423
424.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { background: #eee; }
425.sidebarblock .literalblock pre, .sidebarblock .listingblock pre:not(.highlight), .sidebarblock .listingblock pre[class="highlight"], .sidebarblock .listingblock pre[class^="highlight "], .sidebarblock .listingblock pre.CodeRay, .sidebarblock .listingblock pre.prettyprint { background: #f2f1f1; }
426
427.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 1px hidden #666; -webkit-border-radius: 0; border-radius: 0; word-wrap: break-word; padding: 1.25em 1.5625em 1.125em 1.5625em; font-size: 0.8125em; }
428.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; }
429@media only screen and (min-width: 768px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 0.90625em; } }
430@media only screen and (min-width: 1280px) { .literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { font-size: 1em; } }
431
432.literalblock.output pre { color: #eee; background-color: #264357; }
433
434.listingblock pre.highlightjs { padding: 0; }
435.listingblock pre.highlightjs > code { padding: 1.25em 1.5625em 1.125em 1.5625em; -webkit-border-radius: 0; border-radius: 0; }
436
437.listingblock > .content { position: relative; }
438
439.listingblock code[data-lang]:before { display: none; content: attr(data-lang); position: absolute; font-size: 0.75em; top: 0.425rem; right: 0.5rem; line-height: 1; text-transform: uppercase; color: #999; }
440
441.listingblock:hover code[data-lang]:before { display: block; }
442
443.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; }
444
445.listingblock.terminal pre .command:not([data-prompt]):before { content: "$"; }
446
447table.pyhltable { border-collapse: separate; border: 0; margin-bottom: 0; background: none; }
448
449table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; line-height: 1.6; }
450
451table.pyhltable td.code { padding-left: .75em; padding-right: 0; }
452
453pre.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #ddd; }
454
455pre.pygments .lineno { display: inline-block; margin-right: .25em; }
456
457table.pyhltable .linenodiv { background: none !important; padding-right: 0 !important; }
458
459.quoteblock { margin: 0 1em 0.75em 1.5em; display: table; }
460.quoteblock > .title { margin-left: -1.5em; margin-bottom: 0.75em; }
461.quoteblock blockquote, .quoteblock blockquote p { color: #333; font-size: 1.15rem; line-height: 1.75; word-spacing: 0.1em; letter-spacing: 0; font-style: italic; text-align: justify; }
462.quoteblock blockquote { margin: 0; padding: 0; border: 0; }
463.quoteblock blockquote:before { content: "\201c"; float: left; font-size: 2.75em; font-weight: bold; line-height: 0.6em; margin-left: -0.6em; color: black; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); }
464.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; }
465.quoteblock .attribution { margin-top: 0.5em; margin-right: 0.5ex; text-align: right; }
466.quoteblock .quoteblock { margin-left: 0; margin-right: 0; padding: 0.5em 0; border-left: 3px solid #365E7A; }
467.quoteblock .quoteblock blockquote { padding: 0 0 0 0.75em; }
468.quoteblock .quoteblock blockquote:before { display: none; }
469
470.verseblock { margin: 0 1em 0.75em 1em; }
471.verseblock pre { font-family: "Open Sans", "DejaVu Sans", sans; font-size: 1.15rem; color: #333; font-weight: 300; text-rendering: optimizeLegibility; }
472.verseblock pre strong { font-weight: 400; }
473.verseblock .attribution { margin-top: 1.25rem; margin-left: 0.5ex; }
474
475.quoteblock .attribution, .verseblock .attribution { font-size: 0.8125em; line-height: 1.45; font-style: italic; }
476.quoteblock .attribution br, .verseblock .attribution br { display: none; }
477.quoteblock .attribution cite, .verseblock .attribution cite { display: block; letter-spacing: -0.025em; color: #365E7A; }
478
479.quoteblock.abstract { margin: 0 0 0.75em 0; display: block; }
480.quoteblock.abstract blockquote, .quoteblock.abstract blockquote p { text-align: left; word-spacing: 0; }
481.quoteblock.abstract blockquote:before, .quoteblock.abstract blockquote p:first-of-type:before { display: none; }
482
483table.tableblock { max-width: 100%; border-collapse: separate; }
484table.tableblock td > .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; }
485
486table.tableblock, th.tableblock, td.tableblock { border: 0 solid #d8d8ce; }
487
488table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock { border-width: 0 1px 1px 0; }
489
490table.grid-all > tfoot > tr > .tableblock { border-width: 1px 1px 0 0; }
491
492table.grid-cols > * > tr > .tableblock { border-width: 0 1px 0 0; }
493
494table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock { border-width: 0 0 1px 0; }
495
496table.grid-rows > tfoot > tr > .tableblock { border-width: 1px 0 0 0; }
497
498table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child { border-right-width: 0; }
499
500table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock { border-bottom-width: 0; }
501
502table.frame-all { border-width: 1px; }
503
504table.frame-sides { border-width: 0 1px; }
505
506table.frame-topbot { border-width: 1px 0; }
507
508th.halign-left, td.halign-left { text-align: left; }
509
510th.halign-right, td.halign-right { text-align: right; }
511
512th.halign-center, td.halign-center { text-align: center; }
513
514th.valign-top, td.valign-top { vertical-align: top; }
515
516th.valign-bottom, td.valign-bottom { vertical-align: bottom; }
517
518th.valign-middle, td.valign-middle { vertical-align: middle; }
519
520table thead th, table tfoot th { font-weight: bold; }
521
522tbody tr th { display: table-cell; line-height: 1.4; background: #eee; }
523
524tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #222; font-weight: bold; }
525
526p.tableblock > code:only-child { background: none; padding: 0; }
527
528p.tableblock { font-size: 1em; }
529
530td > div.verse { white-space: pre; }
531
532ol { margin-left: 1.75em; }
533
534ul li ol { margin-left: 1.5em; }
535
536dl dd { margin-left: 1.125em; }
537
538dl dd:last-child, dl dd:last-child > :last-child { margin-bottom: 0; }
539
540ol > li p, ul > li p, ul dd, ol dd, .olist .olist, .ulist .ulist, .ulist .olist, .olist .ulist { margin-bottom: 0.375em; }
541
542ul.checklist, ul.none, ol.none, ul.no-bullet, ol.no-bullet, ol.unnumbered, ul.unstyled, ol.unstyled { list-style-type: none; }
543
544ul.no-bullet, ol.no-bullet, ol.unnumbered { margin-left: 0.625em; }
545
546ul.unstyled, ol.unstyled { margin-left: 0; }
547
548ul.checklist { margin-left: 0.625em; }
549
550ul.checklist li > p:first-child > .fa-square-o:first-child, ul.checklist li > p:first-child > .fa-check-square-o:first-child { width: 1.25em; font-size: 0.8em; position: relative; bottom: 0.125em; }
551
552ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; }
553
554ul.inline { display: -ms-flexbox; display: -webkit-box; display: flex; -ms-flex-flow: row wrap; -webkit-flex-flow: row wrap; flex-flow: row wrap; list-style: none; margin: 0 0 0.375em -0.75em; }
555
556ul.inline > li { margin-left: 0.75em; }
557
558.unstyled dl dt { font-weight: normal; font-style: normal; }
559
560ol.arabic { list-style-type: decimal; }
561
562ol.decimal { list-style-type: decimal-leading-zero; }
563
564ol.loweralpha { list-style-type: lower-alpha; }
565
566ol.upperalpha { list-style-type: upper-alpha; }
567
568ol.lowerroman { list-style-type: lower-roman; }
569
570ol.upperroman { list-style-type: upper-roman; }
571
572ol.lowergreek { list-style-type: lower-greek; }
573
574.hdlist > table, .colist > table { border: 0; background: none; }
575.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; }
576
577td.hdlist1, td.hdlist2 { vertical-align: top; padding: 0 0.625em; }
578
579td.hdlist1 { font-weight: bold; padding-bottom: 0.75em; }
580
581.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; }
582
583.colist > table tr > td:first-of-type { padding: 0.4em 0.75em 0 0.75em; line-height: 1; vertical-align: top; }
584.colist > table tr > td:first-of-type img { max-width: initial; }
585.colist > table tr > td:last-of-type { padding: 0.25em 0; }
586
587.thumb, .th { line-height: 0; display: inline-block; border: solid 4px #fff; -webkit-box-shadow: 0 0 0 1px #ddd; box-shadow: 0 0 0 1px #ddd; }
588
589.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; }
590.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; }
591.imageblock > .title { margin-bottom: 0; }
592.imageblock.thumb, .imageblock.th { border-width: 6px; }
593.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; }
594
595.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; }
596.image.left { margin-right: 0.625em; }
597.image.right { margin-left: 0.625em; }
598
599a.image { text-decoration: none; display: inline-block; }
600a.image object { pointer-events: none; }
601
602sup.footnote, sup.footnoteref { font-size: 0.875em; position: static; vertical-align: super; }
603sup.footnote a, sup.footnoteref a { text-decoration: none; }
604sup.footnote a:active, sup.footnoteref a:active { text-decoration: underline; }
605
606#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; }
607#footnotes hr { width: 20%; min-width: 6.25em; margin: -0.25em 0 0.75em 0; border-width: 1px 0 0 0; }
608#footnotes .footnote { padding: 0 0.375em 0 0.225em; line-height: 1.3334; font-size: 0.875em; margin-left: 1.2em; margin-bottom: 0.2em; }
609#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; margin-left: -1.05em; }
610#footnotes .footnote:last-of-type { margin-bottom: 0; }
611#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; }
612
613.gist .file-data > table { border: 0; background: #fff; width: 100%; margin-bottom: 0; }
614.gist .file-data > table td.line-data { width: 99%; }
615
616div.unbreakable { page-break-inside: avoid; }
617
618.big { font-size: larger; }
619
620.small { font-size: smaller; }
621
622.underline { text-decoration: underline; }
623
624.overline { text-decoration: overline; }
625
626.line-through { text-decoration: line-through; }
627
628.aqua { color: #00bfbf; }
629
630.aqua-background { background-color: #00fafa; }
631
632.black { color: black; }
633
634.black-background { background-color: black; }
635
636.blue { color: #0000bf; }
637
638.blue-background { background-color: #0000fa; }
639
640.fuchsia { color: #bf00bf; }
641
642.fuchsia-background { background-color: #fa00fa; }
643
644.gray { color: #606060; }
645
646.gray-background { background-color: #7d7d7d; }
647
648.green { color: #006000; }
649
650.green-background { background-color: #007d00; }
651
652.lime { color: #00bf00; }
653
654.lime-background { background-color: #00fa00; }
655
656.maroon { color: #600000; }
657
658.maroon-background { background-color: #7d0000; }
659
660.navy { color: #000060; }
661
662.navy-background { background-color: #00007d; }
663
664.olive { color: #606000; }
665
666.olive-background { background-color: #7d7d00; }
667
668.purple { color: #600060; }
669
670.purple-background { background-color: #7d007d; }
671
672.red { color: #bf0000; }
673
674.red-background { background-color: #fa0000; }
675
676.silver { color: #909090; }
677
678.silver-background { background-color: #bcbcbc; }
679
680.teal { color: #006060; }
681
682.teal-background { background-color: #007d7d; }
683
684.white { color: #bfbfbf; }
685
686.white-background { background-color: #fafafa; }
687
688.yellow { color: #bfbf00; }
689
690.yellow-background { background-color: #fafa00; }
691
692span.icon > .fa { cursor: default; }
693a span.icon > .fa { cursor: inherit; }
694
695.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); cursor: default; }
696.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #29475c; }
697.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; text-shadow: 1px 1px 2px rgba(155, 155, 0, 0.8); color: #111; }
698.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #bf6900; }
699.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #bf3400; }
700.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #bf0000; }
701
702.conum[data-value] { display: inline-block; color: #fff !important; background-color: black; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; font-size: 0.75em; width: 1.67em; height: 1.67em; line-height: 1.67em; font-family: "Open Sans", "DejaVu Sans", sans-serif; font-style: normal; font-weight: bold; }
703.conum[data-value] * { color: #fff !important; }
704.conum[data-value] + b { display: none; }
705.conum[data-value]:after { content: attr(data-value); }
706pre .conum[data-value] { position: relative; top: -0.125em; }
707
708b.conum * { color: inherit !important; }
709
710.conum:not([data-value]):empty { display: none; }
711
712h1, h2, h3, #toctitle, .sidebarblock > .content > .title, h4, h5, h6 { border-bottom: 1px solid #ddd; }
713
714.sect1 { padding-bottom: 0; }
715
716#toctitle { color: #00406F; font-weight: normal; margin-top: 1.5em; }
717
718.sidebarblock { border-color: #aaa; }
719
720code { -webkit-border-radius: 4px; border-radius: 4px; }
721
722p.tableblock.header { color: #6d6e71; }
723
724.literalblock pre, .listingblock pre { background: #eee; }
725
726/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/901 */
727a code { color: inherit; }
728
729/* From https://github.com/KhronosGroup/Vulkan-Docs/pull/1157 */
730/* Make VUID anchor handles*/
731li > p > a[id^="VUID-"] { visibility: hidden; position: absolute; z-index: 1001; width: 2.2ex; margin-left: -2.2ex; display: block; text-decoration: none !important; text-align: center; font-weight: normal; }
732
733li > p > a[id^="VUID-"]:before { content: "\00A7"; font-size: 1em; display: block; padding-top: 0em; background: #fff; }
734
735li > p:hover > a[id^="VUID-"], li > p > a[id^="VUID-"]:hover { visibility: visible; }
736
737li > p > a[id^="VUID-"].link { color: black; text-decoration: none; }
738
739/* TODO: not quite sure what these two do */
740li > p > a[id^="VUID-"].link:hover { color: black; }
741
742.vuid { color: #4d4d4d; font-family: monospace; }
743
744</style>
745<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
746<style>
747pre.rouge table td { padding: 5px; }
748pre.rouge table pre { margin: 0; }
749pre.rouge .cm {
750  color: #999988;
751  font-style: italic;
752}
753pre.rouge .cp {
754  color: #999999;
755  font-weight: bold;
756}
757pre.rouge .c1 {
758  color: #999988;
759  font-style: italic;
760}
761pre.rouge .cs {
762  color: #999999;
763  font-weight: bold;
764  font-style: italic;
765}
766pre.rouge .c, pre.rouge .ch, pre.rouge .cd, pre.rouge .cpf {
767  color: #999988;
768  font-style: italic;
769}
770pre.rouge .err {
771  color: #a61717;
772  background-color: #e3d2d2;
773}
774pre.rouge .gd {
775  color: #000000;
776  background-color: #ffdddd;
777}
778pre.rouge .ge {
779  color: #000000;
780  font-style: italic;
781}
782pre.rouge .gr {
783  color: #aa0000;
784}
785pre.rouge .gh {
786  color: #999999;
787}
788pre.rouge .gi {
789  color: #000000;
790  background-color: #ddffdd;
791}
792pre.rouge .go {
793  color: #888888;
794}
795pre.rouge .gp {
796  color: #555555;
797}
798pre.rouge .gs {
799  font-weight: bold;
800}
801pre.rouge .gu {
802  color: #aaaaaa;
803}
804pre.rouge .gt {
805  color: #aa0000;
806}
807pre.rouge .kc {
808  color: #000000;
809  font-weight: bold;
810}
811pre.rouge .kd {
812  color: #000000;
813  font-weight: bold;
814}
815pre.rouge .kn {
816  color: #000000;
817  font-weight: bold;
818}
819pre.rouge .kp {
820  color: #000000;
821  font-weight: bold;
822}
823pre.rouge .kr {
824  color: #000000;
825  font-weight: bold;
826}
827pre.rouge .kt {
828  color: #445588;
829  font-weight: bold;
830}
831pre.rouge .k, pre.rouge .kv {
832  color: #000000;
833  font-weight: bold;
834}
835pre.rouge .mf {
836  color: #009999;
837}
838pre.rouge .mh {
839  color: #009999;
840}
841pre.rouge .il {
842  color: #009999;
843}
844pre.rouge .mi {
845  color: #009999;
846}
847pre.rouge .mo {
848  color: #009999;
849}
850pre.rouge .m, pre.rouge .mb, pre.rouge .mx {
851  color: #009999;
852}
853pre.rouge .sa {
854  color: #000000;
855  font-weight: bold;
856}
857pre.rouge .sb {
858  color: #d14;
859}
860pre.rouge .sc {
861  color: #d14;
862}
863pre.rouge .sd {
864  color: #d14;
865}
866pre.rouge .s2 {
867  color: #d14;
868}
869pre.rouge .se {
870  color: #d14;
871}
872pre.rouge .sh {
873  color: #d14;
874}
875pre.rouge .si {
876  color: #d14;
877}
878pre.rouge .sx {
879  color: #d14;
880}
881pre.rouge .sr {
882  color: #009926;
883}
884pre.rouge .s1 {
885  color: #d14;
886}
887pre.rouge .ss {
888  color: #990073;
889}
890pre.rouge .s, pre.rouge .dl {
891  color: #d14;
892}
893pre.rouge .na {
894  color: #008080;
895}
896pre.rouge .bp {
897  color: #999999;
898}
899pre.rouge .nb {
900  color: #0086B3;
901}
902pre.rouge .nc {
903  color: #445588;
904  font-weight: bold;
905}
906pre.rouge .no {
907  color: #008080;
908}
909pre.rouge .nd {
910  color: #3c5d5d;
911  font-weight: bold;
912}
913pre.rouge .ni {
914  color: #800080;
915}
916pre.rouge .ne {
917  color: #990000;
918  font-weight: bold;
919}
920pre.rouge .nf, pre.rouge .fm {
921  color: #990000;
922  font-weight: bold;
923}
924pre.rouge .nl {
925  color: #990000;
926  font-weight: bold;
927}
928pre.rouge .nn {
929  color: #555555;
930}
931pre.rouge .nt {
932  color: #000080;
933}
934pre.rouge .vc {
935  color: #008080;
936}
937pre.rouge .vg {
938  color: #008080;
939}
940pre.rouge .vi {
941  color: #008080;
942}
943pre.rouge .nv, pre.rouge .vm {
944  color: #008080;
945}
946pre.rouge .ow {
947  color: #000000;
948  font-weight: bold;
949}
950pre.rouge .o {
951  color: #000000;
952  font-weight: bold;
953}
954pre.rouge .w {
955  color: #bbbbbb;
956}
957pre.rouge {
958  background-color: #f8f8f8;
959}
960</style>
961<style>
962/* Khronos overrides for Rouge 'github' theme for accessibility */
963/* Basically everything is overridden, but it is unclear how to add a new Rouge theme */
964/* Codelike overrides */
965pre.rouge .cm, pre.rouge .cp, pre.rouge .c1, pre.rouge .cs,
966pre.rouge .c, pre.rouge .ch, pre.rouge .cd, pre.rouge .cpf,
967pre.rouge .gh, pre.rouge .bp {
968  color: #5f5f5f;
969}
970/* Numberlike overrides */
971pre.rouge .mf, pre.rouge .mh, pre.rouge .il, pre.rouge .mi,
972pre.rouge .mo, pre.rouge .m, pre.rouge .mb, pre.rouge .mx {
973  color: #007f7f;
974}
975/* Namelike overrides */
976pre.rouge .ne, pre.rouge .nf, pre.rouge .fm, pre.rouge .nl {
977  color: #5f0000;
978}
979/* Other things ANDI warns about - unsure of their purposes */
980pre.rouge .go, pre.rouge .gu {
981  color: #727272;
982}
983pre.rouge .sr {
984  color: #008512;
985}
986pre.rouge .na, pre.rouge .nb {
987  color: #007f7f;
988}
989pre.rouge .no, pre.rouge .vc, pre.rouge .vg, pre.rouge .vi,
990pre.rouge .nv, pre.rouge .vm {
991  color: #007f7f;
992}
993pre.rouge .w {
994  color: #727272;
995}
996</style>
997
998<!-- dragged in by font-awesome css included by asciidoctor, but preloaded in this extension for convenience -->
999<link rel="preload" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2?v=4.7.0" as="font" type="font/woff2" crossorigin="">
1000
1001<!-- Note: Chrome needs crossorigin="" even for same-origin fonts -->
1002<link rel="preload" href="../katex/fonts/KaTeX_Main-Bold.woff2" as="font" type="font/woff2" crossorigin="">
1003<link rel="preload" href="../katex/fonts/KaTeX_Main-Italic.woff2" as="font" type="font/woff2" crossorigin="">
1004<link rel="preload" href="../katex/fonts/KaTeX_Main-Regular.woff2" as="font" type="font/woff2" crossorigin="">
1005<link rel="preload" href="../katex/fonts/KaTeX_Math-Italic.woff2" as="font" type="font/woff2" crossorigin="">
1006<link rel="preload" href="../katex/fonts/KaTeX_Size1-Regular.woff2" as="font" type="font/woff2" crossorigin="">
1007<link rel="preload" href="../katex/fonts/KaTeX_Size2-Regular.woff2" as="font" type="font/woff2" crossorigin="">
1008<link rel="preload" href="../katex/fonts/KaTeX_Size3-Regular.woff2" as="font" type="font/woff2" crossorigin="">
1009<link rel="preload" href="../katex/fonts/KaTeX_Size4-Regular.woff2" as="font" type="font/woff2" crossorigin="">
1010<link rel="preload" href="../katex/fonts/KaTeX_Typewriter-Regular.woff2" as="font" type="font/woff2" crossorigin=""><link rel="stylesheet" href="../katex/katex.min.css">
1011<!--ChunkedSearchJSMarker-->
1012<style>
1013    #loading_msg {
1014        width: 100%;
1015        margin-left: auto;
1016        margin-right: auto;
1017        margin-top: 1ex;
1018        margin-bottom: 1ex;
1019        max-width: 62.5em;
1020        position: relative;
1021        padding-left: 1.5em;
1022        padding-right: 1.5em;
1023    }
1024    .hidden {display: none;}
1025</style>
1026<script>
1027    function hideElement(e){
1028        e.setAttribute("hidden", "");
1029        e.classList.add("hidden");
1030    }
1031
1032    function unhideElement(e){
1033        e.classList.remove("hidden");
1034        e.removeAttribute("hidden");
1035    }
1036
1037    function hideLoadableContent(){
1038        unhideElement( document.getElementById("loading_msg") );
1039        for( var loadable of document.getElementsByClassName("loadable") ) hideElement(loadable);
1040    }
1041
1042    function unhideLoadableContent(){
1043        hideElement( document.getElementById("loading_msg") );
1044        for( var loadable of document.getElementsByClassName("loadable") ) unhideElement(loadable);
1045    }
1046
1047    window.addEventListener("load", unhideLoadableContent);
1048</script>
1049</head>
1050<body class="book toc2 toc-left">
1051<div id="header">
1052<h1>Test<sup>®</sup> 1.2.3 - (with VK_KHR_copy_commands2, VK_KHR_get_physical_device_properties2)</h1>
1053<div class="details">
1054<span id="author" class="author">The Khronos<sup>®</sup> Vulkan Working Group</span><br>
1055<span id="revnumber">version 1.2.3,</span>
1056<span id="revdate">"2100-11-22 00:33:44Z"</span>
1057<br><span id="revremark">"test build"</span>
1058</div>
1059<div id="toc" class="toc2">
1060<div id="toctitle">Table of Contents</div>
1061<ul class="sectlevel1">
1062<li><a href="#preamble">1. Preamble</a></li>
1063<li><a href="#lorem">2. Lorem</a>
1064<ul class="sectlevel2">
1065<li><a href="#lorem-subchapter">2.1. Lorem Subchapter</a></li>
1066</ul>
1067</li>
1068<li><a href="#extensions">Layers &amp; Extensions (Informative)</a>
1069<ul class="sectlevel2">
1070<li><a href="#_extension_dependencies">Extension Dependencies</a></li>
1071</ul>
1072</li>
1073</ul>
1074</div>
1075</div>
1076<div id="loading_msg" class="hidden" hidden><p>Loading&hellip; please wait.</p></div>
1077<!--ChunkedSearchboxMarker-->
1078<div id="content" class="loadable" ><script>hideLoadableContent();</script>
1079<div id="preamble">
1080<div class="sectionbody">
1081<!-- toc disabled -->
1082<div style="page-break-after: always;"></div>
1083</div>
1084</div>
1085<div class="sect1">
1086<h2 id="preamble"><a class="anchor" href="#preamble"></a>1. Preamble</h2>
1087<div class="sectionbody">
1088<div class="paragraph">
1089<p>Copyright 2014-2023 The Khronos Group Inc.</p>
1090</div>
1091<div class="paragraph">
1092<p>This Specification is protected by copyright laws and contains material
1093proprietary to Khronos. Except as described by these terms, it or any
1094components may not be reproduced, republished, distributed, transmitted,
1095displayed, broadcast or otherwise exploited in any manner without the
1096express prior written permission of Khronos.</p>
1097</div>
1098<div class="paragraph">
1099<p>Khronos grants a conditional copyright license to use and reproduce the
1100unmodified Specification for any purpose, without fee or royalty, EXCEPT no
1101licenses to any patent, trademark or other intellectual property rights are
1102granted under these terms.</p>
1103</div>
1104<div class="paragraph">
1105<p>Khronos makes no, and expressly disclaims any, representations or
1106warranties, express or implied, regarding this Specification, including,
1107without limitation: merchantability, fitness for a particular purpose,
1108non-infringement of any intellectual property, correctness, accuracy,
1109completeness, timeliness, and reliability. Under no circumstances will
1110Khronos, or any of its Promoters, Contributors or Members, or their
1111respective partners, officers, directors, employees, agents or
1112representatives be liable for any damages, whether direct, indirect, special
1113or consequential damages for lost revenues, lost profits, or otherwise,
1114arising from or in connection with these materials.</p>
1115</div>
1116<div class="paragraph">
1117<p>This document contains extensions which are not ratified by Khronos, and as
1118such is not a ratified Specification, though it contains text from (and is a
1119superset of) the ratified Vulkan Specification. The ratified versions
1120of the Vulkan Specification can be found at <a href="https://registry.khronos.org/vulkan/specs/1.3/html/vkspec.html" class="bare">https://registry.khronos.org/vulkan/specs/1.3/html/vkspec.html</a> (core only)
1121and <a href="https://registry.khronos.org/vulkan/specs/1.3-khr-extensions/html/vkspec.html" class="bare">https://registry.khronos.org/vulkan/specs/1.3-khr-extensions/html/vkspec.html</a> (core with all ratified extensions)
1122.</p>
1123</div>
1124<div class="paragraph">
1125<p>This Specification contains substantially unmodified functionality from, and
1126is a successor to, Khronos specifications including
1127OpenGL, OpenGL ES and OpenCL.</p>
1128</div>
1129<div class="paragraph">
1130<p>The Khronos Intellectual Property Rights Policy defines the terms 'Scope',
1131'Compliant Portion', and 'Necessary Patent Claims'.</p>
1132</div>
1133<div class="paragraph">
1134<p>Some parts of this Specification are purely informative and so are EXCLUDED
1135the Scope of this Specification. The <a href="#introduction-conventions">[introduction-conventions]</a> section of
1136the <a href="#introduction">[introduction]</a> defines how these parts of the Specification are
1137identified.</p>
1138</div>
1139<div class="paragraph">
1140<p>Where this Specification uses <a href="#introduction-technical-terminology">technical terminology</a>, defined in the <a href="#glossary">Glossary</a> or otherwise,
1141that refer to enabling technologies that are not expressly set forth in this
1142Specification, those enabling technologies are EXCLUDED from the Scope of
1143this Specification. For clarity, enabling technologies not disclosed with
1144particularity in this Specification (e.g. semiconductor manufacturing
1145technology, hardware architecture, processor architecture or
1146microarchitecture, memory architecture, compiler technology, object oriented
1147technology, basic operating system technology, compression technology,
1148algorithms, and so on) are NOT to be considered expressly set forth; only
1149those application program interfaces and data structures disclosed with
1150particularity are included in the Scope of this Specification.</p>
1151</div>
1152<div class="paragraph">
1153<p>For purposes of the Khronos Intellectual Property Rights Policy as it
1154relates to the definition of Necessary Patent Claims, all recommended or
1155optional features, behaviors and functionality set forth in this
1156Specification, if implemented, are considered to be included as Compliant
1157Portions.</p>
1158</div>
1159<div class="paragraph">
1160<p>Where this Specification identifies specific sections of external
1161references, only those specifically identified sections define
1162<a href="#introduction-normative-references">normative</a>
1163functionality. The Khronos Intellectual Property Rights Policy excludes
1164external references to materials and associated enabling technology not
1165created by Khronos from the Scope of this Specification, and any licenses
1166that may be required to implement such referenced materials and associated
1167technologies must be obtained separately and may involve royalty payments.</p>
1168</div>
1169<div class="paragraph">
1170<p>Khronos and Vulkan are registered trademarks, and SPIR-V is a trademark of
1171The Khronos Group Inc. OpenCL is a trademark of Apple Inc., used under
1172license by Khronos. OpenGL is a registered trademark and the OpenGL ES logo
1173is a trademark of Hewlett Packard Enterprise, used under license by Khronos.
1174ASTC is a trademark of ARM Holdings PLC. All other product names,
1175trademarks, and/or company names are used solely for identification and
1176belong to their respective owners.</p>
1177</div>
1178</div>
1179</div>
1180<div class="sect1">
1181<h2 id="lorem"><a class="anchor" href="#lorem"></a>2. Lorem</h2>
1182<div class="sectionbody">
1183<div class="paragraph">
1184<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
1185incididunt ut labore et dolore magna aliqua. Congue eu consequat ac felis donec
1186et odio. Enim nec dui nunc mattis enim. Nulla facilisi etiam dignissim diam
1187quis enim lobortis scelerisque fermentum. Nam libero justo laoreet sit amet.
1188Lacus luctus accumsan tortor posuere. Ultrices tincidunt arcu non sodales. Ut
1189enim blandit volutpat maecenas volutpat blandit aliquam etiam. Sed id semper
1190risus in. Natoque penatibus et magnis dis parturient montes.</p>
1191</div>
1192<div class="paragraph">
1193<p>Vestibulum morbi blandit cursus risus at ultrices mi tempus imperdiet.
1194Dignissim cras tincidunt lobortis feugiat vivamus at augue eget arcu. Ultricies
1195mi eget mauris pharetra.  Ac turpis egestas maecenas pharetra convallis posuere
1196morbi leo urna. Cras sed felis eget velit aliquet. Sit amet mauris commodo quis
1197imperdiet. Malesuada pellentesque elit eget gravida cum sociis natoque.
1198Faucibus pulvinar elementum integer enim neque volutpat ac tincidunt vitae.</p>
1199</div>
1200<div class="sect2">
1201<h3 id="lorem-subchapter"><a class="anchor" href="#lorem-subchapter"></a>2.1. Lorem Subchapter</h3>
1202<div class="openblock">
1203<div class="content">
1204<div class="paragraph">
1205<p>Sed risus pretium quam vulputate dignissim suspendisse in est ante:</p>
1206</div>
1207<div id="vkCmdCopyBufferToImage2KHR" class="listingblock">
1208<div class="content">
1209<pre class="rouge highlight"><code data-lang="c++"><span class="c1">// Provided by VK_KHR_copy_commands2</span>
1210<span class="kt">void</span> <span class="nf">vkCmdCopyBufferToImage2KHR</span><span class="p">(</span>
1211    <span class="n">VkCommandBuffer</span>                             <span class="n">commandBuffer</span><span class="p">,</span>
1212    <span class="k">const</span> <span class="n">VkCopyBufferToImageInfo2</span><span class="o">*</span>             <span class="n">pCopyBufferToImageInfo</span><span class="p">);</span></code></pre>
1213</div>
1214</div>
1215<div class="ulist">
1216<ul>
1217<li>
1218<p><code>commandBuffer</code> Mauris commodo quis imperdiet massa tincidunt nunc pulvinar.</p>
1219</li>
1220<li>
1221<p><code>pCopyBufferToImageInfo</code> Odio morbi quis commodo odio aenean sed <a href="#VkCopyBufferToImageInfo2">VkCopyBufferToImageInfo2</a>.</p>
1222</li>
1223</ul>
1224</div>
1225<div class="paragraph">
1226<p>Ac tortor dignissim convallis aenean et tortor. Amet porttitor eget dolor morbi
1227non arcu. Consequat interdum varius sit amet. Tempus egestas sed sed risus
1228pretium quam. Gravida in fermentum et sollicitudin ac orci phasellus egestas.
1229Nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum.
1230Tempus quam pellentesque nec nam aliquam. A pellentesque sit amet porttitor
1231eget. Viverra justo nec ultrices dui sapien eget mi. Nullam vehicula ipsum a
1232arcu. Amet volutpat consequat mauris nunc congue nisi. Tincidunt arcu non
1233sodales neque.</p>
1234</div>
1235<div class="sidebarblock">
1236<div class="content">
1237<div class="title">Valid Usage</div>
1238<div class="ulist">
1239<ul>
1240<li>
1241<p><a id="VUID-vkCmdCopyBufferToImage2-commandBuffer-97737" href="#VUID-vkCmdCopyBufferToImage2-commandBuffer-97737"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-commandBuffer-97737</span><br>
1242
1243If the queue family used to create the <a href="#VkCommandPool">VkCommandPool</a> which
1244<code>commandBuffer</code> was allocated from does not support
1245<code>VK_QUEUE_GRAPHICS_BIT</code> or <code>VK_QUEUE_COMPUTE_BIT</code>, the
1246<code>bufferOffset</code> member of any element of <code>pCopyBufferToImageInfo-&gt;pRegions</code> <strong class="purple">must</strong> be a
1247multiple of <code>4</code></p>
1248</li>
1249<li>
1250<p><a id="VUID-vkCmdCopyBufferToImage2-imageOffset-97738" href="#VUID-vkCmdCopyBufferToImage2-imageOffset-97738"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-imageOffset-97738</span><br>
1251
1252The <code>imageOffset</code> and <code>imageExtent</code> members of each element of
1253<code>pCopyBufferToImageInfo-&gt;pRegions</code> <strong class="purple">must</strong> respect the image transfer granularity requirements
1254of <code>commandBuffer</code>&#8217;s command pool&#8217;s queue family, as described in
1255<a href="#VkQueueFamilyProperties">VkQueueFamilyProperties</a></p>
1256</li>
1257<li>
1258<p><a id="VUID-vkCmdCopyBufferToImage2-commandBuffer-97739" href="#VUID-vkCmdCopyBufferToImage2-commandBuffer-97739"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-commandBuffer-97739</span><br>
1259
1260If the queue family used to create the <a href="#VkCommandPool">VkCommandPool</a> which
1261<code>commandBuffer</code> was allocated from does not support
1262<code>VK_QUEUE_GRAPHICS_BIT</code>, for each element of <code>pCopyBufferToImageInfo-&gt;pRegions</code>, the
1263<code>aspectMask</code> member of <code>imageSubresource</code> <strong class="purple">must</strong> not be
1264<code>VK_IMAGE_ASPECT_DEPTH_BIT</code> or <code>VK_IMAGE_ASPECT_STENCIL_BIT</code></p>
1265</li>
1266</ul>
1267</div>
1268</div>
1269</div>
1270<div class="sidebarblock">
1271<div class="content">
1272<div class="title">Valid Usage (Implicit)</div>
1273<div class="ulist">
1274<ul>
1275<li>
1276<p><a id="VUID-vkCmdCopyBufferToImage2-commandBuffer-parameter" href="#VUID-vkCmdCopyBufferToImage2-commandBuffer-parameter"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-commandBuffer-parameter</span><br>
1277 <code>commandBuffer</code> <strong class="purple">must</strong> be a valid <a href="#VkCommandBuffer">VkCommandBuffer</a> handle</p>
1278</li>
1279<li>
1280<p><a id="VUID-vkCmdCopyBufferToImage2-pCopyBufferToImageInfo-parameter" href="#VUID-vkCmdCopyBufferToImage2-pCopyBufferToImageInfo-parameter"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-pCopyBufferToImageInfo-parameter</span><br>
1281 <code>pCopyBufferToImageInfo</code> <strong class="purple">must</strong> be a valid pointer to a valid <a href="#VkCopyBufferToImageInfo2">VkCopyBufferToImageInfo2</a> structure</p>
1282</li>
1283<li>
1284<p><a id="VUID-vkCmdCopyBufferToImage2-commandBuffer-recording" href="#VUID-vkCmdCopyBufferToImage2-commandBuffer-recording"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-commandBuffer-recording</span><br>
1285 <code>commandBuffer</code> <strong class="purple">must</strong> be in the <a href="#commandbuffers-lifecycle">recording state</a></p>
1286</li>
1287<li>
1288<p><a id="VUID-vkCmdCopyBufferToImage2-commandBuffer-cmdpool" href="#VUID-vkCmdCopyBufferToImage2-commandBuffer-cmdpool"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-commandBuffer-cmdpool</span><br>
1289 The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class="purple">must</strong> support transfer, graphics, or compute operations</p>
1290</li>
1291<li>
1292<p><a id="VUID-vkCmdCopyBufferToImage2-renderpass" href="#VUID-vkCmdCopyBufferToImage2-renderpass"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-renderpass</span><br>
1293 This command <strong class="purple">must</strong> only be called outside of a render pass instance</p>
1294</li>
1295</ul>
1296</div>
1297</div>
1298</div>
1299<div class="sidebarblock">
1300<div class="content">
1301<div class="title">Host Synchronization</div>
1302<div class="ulist">
1303<ul>
1304<li>
1305<p>Host access to <code>commandBuffer</code> <strong class="purple">must</strong> be externally synchronized</p>
1306</li>
1307<li>
1308<p>Host access to the <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class="purple">must</strong> be externally synchronized</p>
1309</li>
1310</ul>
1311</div>
1312</div>
1313</div>
1314<div class="sidebarblock">
1315<div class="content">
1316<div class="title">Command Properties</div>
1317<table class="tableblock frame-all grid-all stretch">
1318<colgroup>
1319<col style="width: 25%;">
1320<col style="width: 25%;">
1321<col style="width: 25%;">
1322<col style="width: 25%;">
1323</colgroup>
1324<thead>
1325<tr>
1326<th class="tableblock halign-left valign-top"><a href="#VkCommandBufferLevel">Command Buffer Levels</a></th>
1327<th class="tableblock halign-left valign-top"><a href="#vkCmdBeginRenderPass">Render Pass Scope</a></th>
1328<th class="tableblock halign-left valign-top"><a href="#VkQueueFlagBits">Supported Queue Types</a></th>
1329<th class="tableblock halign-left valign-top"><a href="#fundamentals-queueoperation-command-types">Command Type</a></th>
1330</tr>
1331</thead>
1332<tbody>
1333<tr>
1334<td class="tableblock halign-left valign-top"><p class="tableblock">Primary<br>
1335Secondary</p></td>
1336<td class="tableblock halign-left valign-top"><p class="tableblock">Outside</p></td>
1337<td class="tableblock halign-left valign-top"><p class="tableblock">Transfer<br>
1338Graphics<br>
1339Compute</p></td>
1340<td class="tableblock halign-left valign-top"><p class="tableblock">Action</p></td>
1341</tr>
1342</tbody>
1343</table>
1344</div>
1345</div>
1346</div>
1347</div>
1348<div class="openblock">
1349<div class="content">
1350<div class="paragraph">
1351<p>Sed risus pretium quam vulputate dignissim suspendisse in est ante <code>VkCopyBufferToImageInfo2</code>:</p>
1352</div>
1353<div id="VkCopyBufferToImageInfo2" class="listingblock">
1354<div class="content">
1355<pre class="rouge highlight"><code data-lang="c++"><span class="k">typedef</span> <span class="k">struct</span> <span class="nc">VkCopyBufferToImageInfo2</span> <span class="p">{</span>
1356    <span class="n">VkStructureType</span>              <span class="n">sType</span><span class="p">;</span>
1357    <span class="k">const</span> <span class="kt">void</span><span class="o">*</span>                  <span class="n">pNext</span><span class="p">;</span>
1358    <span class="n">VkBuffer</span>                     <span class="n">srcBuffer</span><span class="p">;</span>
1359    <span class="n">VkImage</span>                      <span class="n">dstImage</span><span class="p">;</span>
1360    <span class="n">VkImageLayout</span>                <span class="n">dstImageLayout</span><span class="p">;</span>
1361    <span class="kt">uint32_t</span>                     <span class="n">regionCount</span><span class="p">;</span>
1362    <span class="k">const</span> <span class="n">VkBufferImageCopy2</span><span class="o">*</span>    <span class="n">pRegions</span><span class="p">;</span>
1363<span class="p">}</span> <span class="n">VkCopyBufferToImageInfo2</span><span class="p">;</span></code></pre>
1364</div>
1365</div>
1366<div class="paragraph">
1367<p>or the equivalent</p>
1368</div>
1369<div id="VkCopyBufferToImageInfo2KHR" class="listingblock">
1370<div class="content">
1371<pre class="rouge highlight"><code data-lang="c++"><span class="c1">// Provided by VK_KHR_copy_commands2</span>
1372<span class="k">typedef</span> <span class="n">VkCopyBufferToImageInfo2</span> <span class="n">VkCopyBufferToImageInfo2KHR</span><span class="p">;</span></code></pre>
1373</div>
1374</div>
1375<div class="ulist">
1376<ul>
1377<li>
1378<p><code>sType</code> Natoque penatibus et magnis dis parturient montes nascetur.</p>
1379</li>
1380<li>
1381<p><code>pNext</code> Iaculis eu non diam phasellus vestibulum.</p>
1382</li>
1383<li>
1384<p><code>srcBuffer</code> Consequat nisl vel pretium lectus quam.</p>
1385</li>
1386<li>
1387<p><code>dstImage</code> Euismod in pellentesque massa placerat duis ultricies lacus sed turpis.</p>
1388</li>
1389<li>
1390<p><code>dstImageLayout</code> Ullamcorper eget nulla facilisi etiam dignissim diam quis enim.</p>
1391</li>
1392<li>
1393<p><code>regionCount</code> Vel facilisis volutpat est velit egestas dui.</p>
1394</li>
1395<li>
1396<p><code>pRegions</code> Consequat id porta nibh venenatis cras sed felis.</p>
1397</li>
1398</ul>
1399</div>
1400<div class="sidebarblock">
1401<div class="content">
1402<div class="title">Valid Usage</div>
1403<div class="ulist">
1404<ul>
1405<li>
1406<p><a id="VUID-VkCopyBufferToImageInfo2-pRegions-94565" href="#VUID-VkCopyBufferToImageInfo2-pRegions-94565"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-pRegions-94565</span><br>
1407
1408Id velit ut tortor pretium viverra suspendisse potenti <code>pRegions</code>
1409<code>imageSubresource</code> eu facilisis sed <strong class="purple">must</strong> odio morbi quis commodo
1410<code>dstImage</code></p>
1411</li>
1412</ul>
1413</div>
1414<div class="ulist">
1415<ul>
1416<li>
1417<p><a id="VUID-VkCopyBufferToImageInfo2-dstImage-97965" href="#VUID-VkCopyBufferToImageInfo2-dstImage-97965"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-dstImage-97965</span><br>
1418
1419If <code>dstImage</code> is non-sparse then it <strong class="purple">must</strong> be bound completely
1420and contiguously to a single <code>VkDeviceMemory</code> object</p>
1421</li>
1422<li>
1423<p><a id="VUID-VkCopyBufferToImageInfo2-imageSubresource-97967" href="#VUID-VkCopyBufferToImageInfo2-imageSubresource-97967"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-imageSubresource-97967</span><br>
1424
1425The <code>imageSubresource.mipLevel</code> member of each element of
1426<code>pRegions</code> <strong class="purple">must</strong> be less than the <code>mipLevels</code> specified in
1427<a href="#VkImageCreateInfo">VkImageCreateInfo</a> when <code>dstImage</code> was created</p>
1428</li>
1429<li>
1430<p><a id="VUID-VkCopyBufferToImageInfo2-imageSubresource-97968" href="#VUID-VkCopyBufferToImageInfo2-imageSubresource-97968"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-imageSubresource-97968</span><br>
1431
1432The <span class="eq"><code>imageSubresource.baseArrayLayer</code> +
1433<code>imageSubresource.layerCount</code></span> of each element of <code>pRegions</code>
1434<strong class="purple">must</strong> be less than or equal to the <code>arrayLayers</code> specified in
1435<a href="#VkImageCreateInfo">VkImageCreateInfo</a> when <code>dstImage</code> was created</p>
1436</li>
1437</ul>
1438</div>
1439<div class="ulist">
1440<ul>
1441<li>
1442<p><a id="VUID-VkCopyBufferToImageInfo2-bufferRowLength-99101" href="#VUID-VkCopyBufferToImageInfo2-bufferRowLength-99101"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-bufferRowLength-99101</span><br>
1443
1444<code>bufferRowLength</code> <strong class="purple">must</strong> be <code>0</code>, or greater than or equal to the
1445<code>width</code> member of <code>imageExtent</code></p>
1446</li>
1447<li>
1448<p><a id="VUID-VkCopyBufferToImageInfo2-bufferImageHeight-99102" href="#VUID-VkCopyBufferToImageInfo2-bufferImageHeight-99102"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-bufferImageHeight-99102</span><br>
1449
1450<code>bufferImageHeight</code> <strong class="purple">must</strong> be <code>0</code>, or greater than or equal to the
1451<code>height</code> member of <code>imageExtent</code></p>
1452</li>
1453<li>
1454<p><a id="VUID-VkCopyBufferToImageInfo2-aspectMask-99103" href="#VUID-VkCopyBufferToImageInfo2-aspectMask-99103"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-aspectMask-99103</span><br>
1455
1456The <code>aspectMask</code> member of <code>imageSubresource</code> <strong class="purple">must</strong> only have a
1457single bit set</p>
1458</li>
1459<li>
1460<p><a id="VUID-VkCopyBufferToImageInfo2-imageExtent-96659" href="#VUID-VkCopyBufferToImageInfo2-imageExtent-96659"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-imageExtent-96659</span><br>
1461
1462<code>imageExtent.width</code> <strong class="purple">must</strong> not be 0</p>
1463</li>
1464<li>
1465<p><a id="VUID-VkCopyBufferToImageInfo2-imageExtent-96660" href="#VUID-VkCopyBufferToImageInfo2-imageExtent-96660"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-imageExtent-96660</span><br>
1466
1467<code>imageExtent.height</code> <strong class="purple">must</strong> not be 0</p>
1468</li>
1469<li>
1470<p><a id="VUID-VkCopyBufferToImageInfo2-imageExtent-96661" href="#VUID-VkCopyBufferToImageInfo2-imageExtent-96661"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-imageExtent-96661</span><br>
1471
1472<code>imageExtent.depth</code> <strong class="purple">must</strong> not be 0</p>
1473</li>
1474<li>
1475<p><a id="VUID-VkCopyBufferToImageInfo2-pRegions-96223" href="#VUID-VkCopyBufferToImageInfo2-pRegions-96223"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-pRegions-96223</span><br>
1476
1477Id leo in vitae turpis massa sed elementum
1478<code>imageOffset.x</code> and <span class="eq">(<code>imageExtent.width</code> +
1479<code>imageOffset.x</code>)</span> <strong class="purple">must</strong> gravida dictum fusce ut placerat orci nulla
1480pellentesque dignissim enim <code>imageSubresource</code> of <code>dstImage</code></p>
1481</li>
1482</ul>
1483</div>
1484</div>
1485</div>
1486<div class="sidebarblock">
1487<div class="content">
1488<div class="title">Valid Usage (Implicit)</div>
1489<div class="ulist">
1490<ul>
1491<li>
1492<p><a id="VUID-VkCopyBufferToImageInfo2-sType-sType" href="#VUID-VkCopyBufferToImageInfo2-sType-sType"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-sType-sType</span><br>
1493 <code>sType</code> <strong class="purple">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2</code></p>
1494</li>
1495<li>
1496<p><a id="VUID-VkCopyBufferToImageInfo2-pNext-pNext" href="#VUID-VkCopyBufferToImageInfo2-pNext-pNext"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-pNext-pNext</span><br>
1497 <code>pNext</code> <strong class="purple">must</strong> be <code>NULL</code></p>
1498</li>
1499<li>
1500<p><a id="VUID-VkCopyBufferToImageInfo2-srcBuffer-parameter" href="#VUID-VkCopyBufferToImageInfo2-srcBuffer-parameter"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-srcBuffer-parameter</span><br>
1501 <code>srcBuffer</code> <strong class="purple">must</strong> be a valid <a href="#VkBuffer">VkBuffer</a> handle</p>
1502</li>
1503<li>
1504<p><a id="VUID-VkCopyBufferToImageInfo2-dstImage-parameter" href="#VUID-VkCopyBufferToImageInfo2-dstImage-parameter"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-dstImage-parameter</span><br>
1505 <code>dstImage</code> <strong class="purple">must</strong> be a valid <a href="#VkImage">VkImage</a> handle</p>
1506</li>
1507<li>
1508<p><a id="VUID-VkCopyBufferToImageInfo2-dstImageLayout-parameter" href="#VUID-VkCopyBufferToImageInfo2-dstImageLayout-parameter"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-dstImageLayout-parameter</span><br>
1509 <code>dstImageLayout</code> <strong class="purple">must</strong> be a valid <a href="#VkImageLayout">VkImageLayout</a> value</p>
1510</li>
1511<li>
1512<p><a id="VUID-VkCopyBufferToImageInfo2-pRegions-parameter" href="#VUID-VkCopyBufferToImageInfo2-pRegions-parameter"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-pRegions-parameter</span><br>
1513 <code>pRegions</code> <strong class="purple">must</strong> be a valid pointer to an array of <code>regionCount</code> valid <a href="#VkBufferImageCopy2">VkBufferImageCopy2</a> structures</p>
1514</li>
1515<li>
1516<p><a id="VUID-VkCopyBufferToImageInfo2-regionCount-arraylength" href="#VUID-VkCopyBufferToImageInfo2-regionCount-arraylength"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-regionCount-arraylength</span><br>
1517 <code>regionCount</code> <strong class="purple">must</strong> be greater than <code>0</code></p>
1518</li>
1519<li>
1520<p><a id="VUID-VkCopyBufferToImageInfo2-commonparent" href="#VUID-VkCopyBufferToImageInfo2-commonparent"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-commonparent</span><br>
1521 Both of <code>dstImage</code>, and <code>srcBuffer</code> <strong class="purple">must</strong> have been created, allocated, or retrieved from the same <a href="#VkDevice">VkDevice</a></p>
1522</li>
1523</ul>
1524</div>
1525</div>
1526</div>
1527</div>
1528</div>
1529<div class="openblock">
1530<div class="content">
1531<div class="paragraph">
1532<p>Gravida dictum fusce ut placerat orci nulla pellentesque dignissim enim <a href="#vkCmdCopyBufferToImage2KHR">vkCmdCopyBufferToImage2KHR</a>:</p>
1533</div>
1534<div id="VkBufferImageCopy2" class="listingblock">
1535<div class="content">
1536<pre class="rouge highlight"><code data-lang="c++"><span class="k">typedef</span> <span class="k">struct</span> <span class="nc">VkBufferImageCopy2</span> <span class="p">{</span>
1537    <span class="n">VkStructureType</span>             <span class="n">sType</span><span class="p">;</span>
1538    <span class="k">const</span> <span class="kt">void</span><span class="o">*</span>                 <span class="n">pNext</span><span class="p">;</span>
1539    <span class="n">VkDeviceSize</span>                <span class="n">bufferOffset</span><span class="p">;</span>
1540    <span class="kt">uint32_t</span>                    <span class="n">bufferRowLength</span><span class="p">;</span>
1541    <span class="kt">uint32_t</span>                    <span class="n">bufferImageHeight</span><span class="p">;</span>
1542    <span class="n">VkImageSubresourceLayers</span>    <span class="n">imageSubresource</span><span class="p">;</span>
1543    <span class="n">VkOffset3D</span>                  <span class="n">imageOffset</span><span class="p">;</span>
1544    <span class="n">VkExtent3D</span>                  <span class="n">imageExtent</span><span class="p">;</span>
1545<span class="p">}</span> <span class="n">VkBufferImageCopy2</span><span class="p">;</span></code></pre>
1546</div>
1547</div>
1548<div class="paragraph">
1549<p>or the equivalent</p>
1550</div>
1551<div id="VkBufferImageCopy2KHR" class="listingblock">
1552<div class="content">
1553<pre class="rouge highlight"><code data-lang="c++"><span class="c1">// Provided by VK_KHR_copy_commands2</span>
1554<span class="k">typedef</span> <span class="n">VkBufferImageCopy2</span> <span class="n">VkBufferImageCopy2KHR</span><span class="p">;</span></code></pre>
1555</div>
1556</div>
1557<div class="ulist">
1558<ul>
1559<li>
1560<p><code>sType</code> Tristique senectus et netus et malesuada.</p>
1561</li>
1562<li>
1563<p><code>pNext</code> Tempor commodo ullamcorper a lacus vestibulum sed arcu.</p>
1564</li>
1565<li>
1566<p><code>bufferOffset</code> Tellus in metus vulputate eu scelerisque. Lectus sit amet est placerat in.</p>
1567</li>
1568<li>
1569<p><code>bufferRowLength</code> and <code>bufferImageHeight</code> Quam adipiscing vitae
1570proin sagittis. Mattis pellentesque id nibh tortor id aliquet lectus proin
1571nibh <code>imageExtent</code>.</p>
1572</li>
1573<li>
1574<p><code>imageSubresource</code> Sociis natoque penatibus et magnis dis parturient montes nascetur.</p>
1575</li>
1576<li>
1577<p><code>imageOffset</code> Lobortis mattis aliquam faucibus purus in massa tempor nec.</p>
1578</li>
1579<li>
1580<p><code>imageExtent</code> Ut ornare lectus sit amet est placerat in.</p>
1581</li>
1582</ul>
1583</div>
1584<div class="paragraph">
1585<p>Integer quis auctor elit sed vulputate mi sit amet mauris. Ultrices sagittis
1586orci a scelerisque purus semper eget duis.</p>
1587</div>
1588<div class="sidebarblock">
1589<div class="content">
1590<div class="title">Valid Usage</div>
1591<div class="ulist">
1592<ul>
1593<li>
1594<p><a id="VUID-VkBufferImageCopy2-bufferRowLength-99101" href="#VUID-VkBufferImageCopy2-bufferRowLength-99101"></a> <span class="vuid">VUID-VkBufferImageCopy2-bufferRowLength-99101</span><br>
1595
1596<code>bufferRowLength</code> <strong class="purple">must</strong> be <code>0</code>, or greater than or equal to the
1597<code>width</code> member of <code>imageExtent</code></p>
1598</li>
1599<li>
1600<p><a id="VUID-VkBufferImageCopy2-bufferImageHeight-99102" href="#VUID-VkBufferImageCopy2-bufferImageHeight-99102"></a> <span class="vuid">VUID-VkBufferImageCopy2-bufferImageHeight-99102</span><br>
1601
1602<code>bufferImageHeight</code> <strong class="purple">must</strong> be <code>0</code>, or greater than or equal to the
1603<code>height</code> member of <code>imageExtent</code></p>
1604</li>
1605<li>
1606<p><a id="VUID-VkBufferImageCopy2-aspectMask-99103" href="#VUID-VkBufferImageCopy2-aspectMask-99103"></a> <span class="vuid">VUID-VkBufferImageCopy2-aspectMask-99103</span><br>
1607
1608The <code>aspectMask</code> member of <code>imageSubresource</code> <strong class="purple">must</strong> only have a
1609single bit set</p>
1610</li>
1611<li>
1612<p><a id="VUID-VkBufferImageCopy2-imageExtent-96659" href="#VUID-VkBufferImageCopy2-imageExtent-96659"></a> <span class="vuid">VUID-VkBufferImageCopy2-imageExtent-96659</span><br>
1613
1614<code>imageExtent.width</code> <strong class="purple">must</strong> not be 0</p>
1615</li>
1616<li>
1617<p><a id="VUID-VkBufferImageCopy2-imageExtent-96660" href="#VUID-VkBufferImageCopy2-imageExtent-96660"></a> <span class="vuid">VUID-VkBufferImageCopy2-imageExtent-96660</span><br>
1618
1619<code>imageExtent.height</code> <strong class="purple">must</strong> not be 0</p>
1620</li>
1621<li>
1622<p><a id="VUID-VkBufferImageCopy2-imageExtent-96661" href="#VUID-VkBufferImageCopy2-imageExtent-96661"></a> <span class="vuid">VUID-VkBufferImageCopy2-imageExtent-96661</span><br>
1623
1624<code>imageExtent.depth</code> <strong class="purple">must</strong> not be 0</p>
1625</li>
1626</ul>
1627</div>
1628</div>
1629</div>
1630<div class="sidebarblock">
1631<div class="content">
1632<div class="title">Valid Usage (Implicit)</div>
1633<div class="ulist">
1634<ul>
1635<li>
1636<p><a id="VUID-VkBufferImageCopy2-sType-sType" href="#VUID-VkBufferImageCopy2-sType-sType"></a> <span class="vuid">VUID-VkBufferImageCopy2-sType-sType</span><br>
1637 <code>sType</code> <strong class="purple">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2</code></p>
1638</li>
1639<li>
1640<p><a id="VUID-VkBufferImageCopy2-pNext-pNext" href="#VUID-VkBufferImageCopy2-pNext-pNext"></a> <span class="vuid">VUID-VkBufferImageCopy2-pNext-pNext</span><br>
1641 <code>pNext</code> <strong class="purple">must</strong> be <code>NULL</code></p>
1642</li>
1643<li>
1644<p><a id="VUID-VkBufferImageCopy2-imageSubresource-parameter" href="#VUID-VkBufferImageCopy2-imageSubresource-parameter"></a> <span class="vuid">VUID-VkBufferImageCopy2-imageSubresource-parameter</span><br>
1645 <code>imageSubresource</code> <strong class="purple">must</strong> be a valid <a href="#VkImageSubresourceLayers">VkImageSubresourceLayers</a> structure</p>
1646</li>
1647</ul>
1648</div>
1649</div>
1650</div>
1651</div>
1652</div>
1653</div>
1654</div>
1655</div>
1656<div class="sect1">
1657<h2 id="extensions"><a class="anchor" href="#extensions"></a>Layers &amp; Extensions (Informative)</h2>
1658<div class="sectionbody">
1659<div class="paragraph">
1660<p>Cursus euismod quis viverra nibh cras pulvinar.</p>
1661</div>
1662<div class="sect2">
1663<h3 id="_extension_dependencies"><a class="anchor" href="#_extension_dependencies"></a>Extension Dependencies</h3>
1664<div class="paragraph">
1665<p>Id diam vel quam elementum</p>
1666</div>
1667</div>
1668</div>
1669</div>
1670</div>
1671<div id="footer">
1672<div id="footer-text">
1673Version 1.2.3<br>
1674</div>
1675</div>
1676
1677
1678</body>
1679</html>