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