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_EXT_host_image_copy, VK_KHR_copy_commands2, VK_KHR_format_feature_flags2, 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_EXT_host_image_copy, VK_KHR_copy_commands2, VK_KHR_format_feature_flags2, 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="#hic">3. Host Image Copy</a></li>
1069e5c31af7Sopenharmony_ci<li><a href="#extensions">Layers &amp; Extensions (Informative)</a>
1070e5c31af7Sopenharmony_ci<ul class="sectlevel2">
1071e5c31af7Sopenharmony_ci<li><a href="#_extension_dependencies">Extension Dependencies</a></li>
1072e5c31af7Sopenharmony_ci</ul>
1073e5c31af7Sopenharmony_ci</li>
1074e5c31af7Sopenharmony_ci</ul>
1075e5c31af7Sopenharmony_ci</div>
1076e5c31af7Sopenharmony_ci</div>
1077e5c31af7Sopenharmony_ci<div id="loading_msg" class="hidden" hidden><p>Loading&hellip; please wait.</p></div>
1078e5c31af7Sopenharmony_ci<!--ChunkedSearchboxMarker-->
1079e5c31af7Sopenharmony_ci<div id="content" class="loadable" ><script>hideLoadableContent();</script>
1080e5c31af7Sopenharmony_ci<div id="preamble">
1081e5c31af7Sopenharmony_ci<div class="sectionbody">
1082e5c31af7Sopenharmony_ci<!-- toc disabled -->
1083e5c31af7Sopenharmony_ci<div style="page-break-after: always;"></div>
1084e5c31af7Sopenharmony_ci</div>
1085e5c31af7Sopenharmony_ci</div>
1086e5c31af7Sopenharmony_ci<div class="sect1">
1087e5c31af7Sopenharmony_ci<h2 id="preamble"><a class="anchor" href="#preamble"></a>1. Preamble</h2>
1088e5c31af7Sopenharmony_ci<div class="sectionbody">
1089e5c31af7Sopenharmony_ci<div class="paragraph">
1090e5c31af7Sopenharmony_ci<p>Copyright 2014-2024 The Khronos Group Inc.</p>
1091e5c31af7Sopenharmony_ci</div>
1092e5c31af7Sopenharmony_ci<div class="paragraph">
1093e5c31af7Sopenharmony_ci<p>This Specification is protected by copyright laws and contains material
1094e5c31af7Sopenharmony_ciproprietary to Khronos. Except as described by these terms, it or any
1095e5c31af7Sopenharmony_cicomponents may not be reproduced, republished, distributed, transmitted,
1096e5c31af7Sopenharmony_cidisplayed, broadcast or otherwise exploited in any manner without the
1097e5c31af7Sopenharmony_ciexpress prior written permission of Khronos.</p>
1098e5c31af7Sopenharmony_ci</div>
1099e5c31af7Sopenharmony_ci<div class="paragraph">
1100e5c31af7Sopenharmony_ci<p>Khronos grants a conditional copyright license to use and reproduce the
1101e5c31af7Sopenharmony_ciunmodified Specification for any purpose, without fee or royalty, EXCEPT no
1102e5c31af7Sopenharmony_cilicenses to any patent, trademark or other intellectual property rights are
1103e5c31af7Sopenharmony_cigranted under these terms.</p>
1104e5c31af7Sopenharmony_ci</div>
1105e5c31af7Sopenharmony_ci<div class="paragraph">
1106e5c31af7Sopenharmony_ci<p>Khronos makes no, and expressly disclaims any, representations or
1107e5c31af7Sopenharmony_ciwarranties, express or implied, regarding this Specification, including,
1108e5c31af7Sopenharmony_ciwithout limitation: merchantability, fitness for a particular purpose,
1109e5c31af7Sopenharmony_cinon-infringement of any intellectual property, correctness, accuracy,
1110e5c31af7Sopenharmony_cicompleteness, timeliness, and reliability. Under no circumstances will
1111e5c31af7Sopenharmony_ciKhronos, or any of its Promoters, Contributors or Members, or their
1112e5c31af7Sopenharmony_cirespective partners, officers, directors, employees, agents or
1113e5c31af7Sopenharmony_cirepresentatives be liable for any damages, whether direct, indirect, special
1114e5c31af7Sopenharmony_cior consequential damages for lost revenues, lost profits, or otherwise,
1115e5c31af7Sopenharmony_ciarising from or in connection with these materials.</p>
1116e5c31af7Sopenharmony_ci</div>
1117e5c31af7Sopenharmony_ci<div class="paragraph">
1118e5c31af7Sopenharmony_ci<p>This document contains extensions which are not ratified by Khronos, and as
1119e5c31af7Sopenharmony_cisuch is not a ratified Specification, though it contains text from (and is a
1120e5c31af7Sopenharmony_cisuperset of) the ratified Vulkan Specification. The ratified versions
1121e5c31af7Sopenharmony_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)
1122e5c31af7Sopenharmony_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)
1123e5c31af7Sopenharmony_ci.</p>
1124e5c31af7Sopenharmony_ci</div>
1125e5c31af7Sopenharmony_ci<div class="paragraph">
1126e5c31af7Sopenharmony_ci<p>This Specification contains substantially unmodified functionality from, and
1127e5c31af7Sopenharmony_ciis a successor to, Khronos specifications including
1128e5c31af7Sopenharmony_ciOpenGL, OpenGL ES and OpenCL.</p>
1129e5c31af7Sopenharmony_ci</div>
1130e5c31af7Sopenharmony_ci<div class="paragraph">
1131e5c31af7Sopenharmony_ci<p>The Khronos Intellectual Property Rights Policy defines the terms 'Scope',
1132e5c31af7Sopenharmony_ci'Compliant Portion', and 'Necessary Patent Claims'.</p>
1133e5c31af7Sopenharmony_ci</div>
1134e5c31af7Sopenharmony_ci<div class="paragraph">
1135e5c31af7Sopenharmony_ci<p>Some parts of this Specification are purely informative and so are EXCLUDED
1136e5c31af7Sopenharmony_cithe Scope of this Specification. The <a href="#introduction-conventions">[introduction-conventions]</a> section of
1137e5c31af7Sopenharmony_cithe <a href="#introduction">[introduction]</a> defines how these parts of the Specification are
1138e5c31af7Sopenharmony_ciidentified.</p>
1139e5c31af7Sopenharmony_ci</div>
1140e5c31af7Sopenharmony_ci<div class="paragraph">
1141e5c31af7Sopenharmony_ci<p>Where this Specification uses <a href="#introduction-technical-terminology">technical terminology</a>, defined in the <a href="#glossary">Glossary</a> or otherwise,
1142e5c31af7Sopenharmony_cithat refer to enabling technologies that are not expressly set forth in this
1143e5c31af7Sopenharmony_ciSpecification, those enabling technologies are EXCLUDED from the Scope of
1144e5c31af7Sopenharmony_cithis Specification. For clarity, enabling technologies not disclosed with
1145e5c31af7Sopenharmony_ciparticularity in this Specification (e.g. semiconductor manufacturing
1146e5c31af7Sopenharmony_citechnology, hardware architecture, processor architecture or
1147e5c31af7Sopenharmony_cimicroarchitecture, memory architecture, compiler technology, object oriented
1148e5c31af7Sopenharmony_citechnology, basic operating system technology, compression technology,
1149e5c31af7Sopenharmony_cialgorithms, and so on) are NOT to be considered expressly set forth; only
1150e5c31af7Sopenharmony_cithose application program interfaces and data structures disclosed with
1151e5c31af7Sopenharmony_ciparticularity are included in the Scope of this Specification.</p>
1152e5c31af7Sopenharmony_ci</div>
1153e5c31af7Sopenharmony_ci<div class="paragraph">
1154e5c31af7Sopenharmony_ci<p>For purposes of the Khronos Intellectual Property Rights Policy as it
1155e5c31af7Sopenharmony_cirelates to the definition of Necessary Patent Claims, all recommended or
1156e5c31af7Sopenharmony_cioptional features, behaviors and functionality set forth in this
1157e5c31af7Sopenharmony_ciSpecification, if implemented, are considered to be included as Compliant
1158e5c31af7Sopenharmony_ciPortions.</p>
1159e5c31af7Sopenharmony_ci</div>
1160e5c31af7Sopenharmony_ci<div class="paragraph">
1161e5c31af7Sopenharmony_ci<p>Where this Specification identifies specific sections of external
1162e5c31af7Sopenharmony_cireferences, only those specifically identified sections define
1163e5c31af7Sopenharmony_ci<a href="#introduction-normative-references">normative</a>
1164e5c31af7Sopenharmony_cifunctionality. The Khronos Intellectual Property Rights Policy excludes
1165e5c31af7Sopenharmony_ciexternal references to materials and associated enabling technology not
1166e5c31af7Sopenharmony_cicreated by Khronos from the Scope of this Specification, and any licenses
1167e5c31af7Sopenharmony_cithat may be required to implement such referenced materials and associated
1168e5c31af7Sopenharmony_citechnologies must be obtained separately and may involve royalty payments.</p>
1169e5c31af7Sopenharmony_ci</div>
1170e5c31af7Sopenharmony_ci<div class="paragraph">
1171e5c31af7Sopenharmony_ci<p>Khronos and Vulkan are registered trademarks, and SPIR-V is a trademark of
1172e5c31af7Sopenharmony_ciThe Khronos Group Inc. OpenCL is a trademark of Apple Inc., used under
1173e5c31af7Sopenharmony_cilicense by Khronos. OpenGL is a registered trademark and the OpenGL ES logo
1174e5c31af7Sopenharmony_ciis a trademark of Hewlett Packard Enterprise, used under license by Khronos.
1175e5c31af7Sopenharmony_ciASTC is a trademark of ARM Holdings PLC. All other product names,
1176e5c31af7Sopenharmony_citrademarks, and/or company names are used solely for identification and
1177e5c31af7Sopenharmony_cibelong to their respective owners.</p>
1178e5c31af7Sopenharmony_ci</div>
1179e5c31af7Sopenharmony_ci</div>
1180e5c31af7Sopenharmony_ci</div>
1181e5c31af7Sopenharmony_ci<div class="sect1">
1182e5c31af7Sopenharmony_ci<h2 id="lorem"><a class="anchor" href="#lorem"></a>2. Lorem</h2>
1183e5c31af7Sopenharmony_ci<div class="sectionbody">
1184e5c31af7Sopenharmony_ci<div class="paragraph">
1185e5c31af7Sopenharmony_ci<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
1186e5c31af7Sopenharmony_ciincididunt ut labore et dolore magna aliqua. Congue eu consequat ac felis donec
1187e5c31af7Sopenharmony_ciet odio. Enim nec dui nunc mattis enim. Nulla facilisi etiam dignissim diam
1188e5c31af7Sopenharmony_ciquis enim lobortis scelerisque fermentum. Nam libero justo laoreet sit amet.
1189e5c31af7Sopenharmony_ciLacus luctus accumsan tortor posuere. Ultrices tincidunt arcu non sodales. Ut
1190e5c31af7Sopenharmony_cienim blandit volutpat maecenas volutpat blandit aliquam etiam. Sed id semper
1191e5c31af7Sopenharmony_cirisus in. Natoque penatibus et magnis dis parturient montes.</p>
1192e5c31af7Sopenharmony_ci</div>
1193e5c31af7Sopenharmony_ci<div class="paragraph">
1194e5c31af7Sopenharmony_ci<p>Vestibulum morbi blandit cursus risus at ultrices mi tempus imperdiet.
1195e5c31af7Sopenharmony_ciDignissim cras tincidunt lobortis feugiat vivamus at augue eget arcu. Ultricies
1196e5c31af7Sopenharmony_cimi eget mauris pharetra.  Ac turpis egestas maecenas pharetra convallis posuere
1197e5c31af7Sopenharmony_cimorbi leo urna. Cras sed felis eget velit aliquet. Sit amet mauris commodo quis
1198e5c31af7Sopenharmony_ciimperdiet. Malesuada pellentesque elit eget gravida cum sociis natoque.
1199e5c31af7Sopenharmony_ciFaucibus pulvinar elementum integer enim neque volutpat ac tincidunt vitae.</p>
1200e5c31af7Sopenharmony_ci</div>
1201e5c31af7Sopenharmony_ci<div class="sect2">
1202e5c31af7Sopenharmony_ci<h3 id="lorem-subchapter"><a class="anchor" href="#lorem-subchapter"></a>2.1. Lorem Subchapter</h3>
1203e5c31af7Sopenharmony_ci<div class="openblock">
1204e5c31af7Sopenharmony_ci<div class="content">
1205e5c31af7Sopenharmony_ci<div class="paragraph">
1206e5c31af7Sopenharmony_ci<p>Sed risus pretium quam vulputate dignissim suspendisse in est ante:</p>
1207e5c31af7Sopenharmony_ci</div>
1208e5c31af7Sopenharmony_ci<div id="vkCmdCopyBufferToImage2" class="listingblock">
1209e5c31af7Sopenharmony_ci<div class="content">
1210e5c31af7Sopenharmony_ci<pre class="rouge highlight"><code data-lang="c++"><span class="c1">// Provided by VK_VERSION_1_3</span>
1211e5c31af7Sopenharmony_ci<span class="kt">void</span> <span class="nf">vkCmdCopyBufferToImage2</span><span class="p">(</span>
1212e5c31af7Sopenharmony_ci    <span class="n">VkCommandBuffer</span>                             <span class="n">commandBuffer</span><span class="p">,</span>
1213e5c31af7Sopenharmony_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>
1214e5c31af7Sopenharmony_ci</div>
1215e5c31af7Sopenharmony_ci</div>
1216e5c31af7Sopenharmony_ci<div class="paragraph">
1217e5c31af7Sopenharmony_ci<p>or the equivalent command</p>
1218e5c31af7Sopenharmony_ci</div>
1219e5c31af7Sopenharmony_ci<div id="vkCmdCopyBufferToImage2KHR" class="listingblock">
1220e5c31af7Sopenharmony_ci<div class="content">
1221e5c31af7Sopenharmony_ci<pre class="rouge highlight"><code data-lang="c++"><span class="c1">// Provided by VK_KHR_copy_commands2</span>
1222e5c31af7Sopenharmony_ci<span class="kt">void</span> <span class="nf">vkCmdCopyBufferToImage2KHR</span><span class="p">(</span>
1223e5c31af7Sopenharmony_ci    <span class="n">VkCommandBuffer</span>                             <span class="n">commandBuffer</span><span class="p">,</span>
1224e5c31af7Sopenharmony_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>
1225e5c31af7Sopenharmony_ci</div>
1226e5c31af7Sopenharmony_ci</div>
1227e5c31af7Sopenharmony_ci<div class="ulist">
1228e5c31af7Sopenharmony_ci<ul>
1229e5c31af7Sopenharmony_ci<li>
1230e5c31af7Sopenharmony_ci<p><code>commandBuffer</code> Mauris commodo quis imperdiet massa tincidunt nunc pulvinar.</p>
1231e5c31af7Sopenharmony_ci</li>
1232e5c31af7Sopenharmony_ci<li>
1233e5c31af7Sopenharmony_ci<p><code>pCopyBufferToImageInfo</code> Odio morbi quis commodo odio aenean sed <a href="#VkCopyBufferToImageInfo2">VkCopyBufferToImageInfo2</a>.</p>
1234e5c31af7Sopenharmony_ci</li>
1235e5c31af7Sopenharmony_ci</ul>
1236e5c31af7Sopenharmony_ci</div>
1237e5c31af7Sopenharmony_ci<div class="paragraph">
1238e5c31af7Sopenharmony_ci<p>Ac tortor dignissim convallis aenean et tortor. Amet porttitor eget dolor morbi
1239e5c31af7Sopenharmony_cinon arcu. Consequat interdum varius sit amet. Tempus egestas sed sed risus
1240e5c31af7Sopenharmony_cipretium quam. Gravida in fermentum et sollicitudin ac orci phasellus egestas.
1241e5c31af7Sopenharmony_ciNulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum.
1242e5c31af7Sopenharmony_ciTempus quam pellentesque nec nam aliquam. A pellentesque sit amet porttitor
1243e5c31af7Sopenharmony_cieget. Viverra justo nec ultrices dui sapien eget mi. Nullam vehicula ipsum a
1244e5c31af7Sopenharmony_ciarcu. Amet volutpat consequat mauris nunc congue nisi. Tincidunt arcu non
1245e5c31af7Sopenharmony_cisodales neque.</p>
1246e5c31af7Sopenharmony_ci</div>
1247e5c31af7Sopenharmony_ci<div class="sidebarblock">
1248e5c31af7Sopenharmony_ci<div class="content">
1249e5c31af7Sopenharmony_ci<div class="title">Valid Usage</div>
1250e5c31af7Sopenharmony_ci<div class="ulist">
1251e5c31af7Sopenharmony_ci<ul>
1252e5c31af7Sopenharmony_ci<li>
1253e5c31af7Sopenharmony_ci<p><a id="VUID-vkCmdCopyBufferToImage2-commandBuffer-91828" href="#VUID-vkCmdCopyBufferToImage2-commandBuffer-91828"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-commandBuffer-91828</span><br>
1254e5c31af7Sopenharmony_ci
1255e5c31af7Sopenharmony_ciIf <code>commandBuffer</code> is an unprotected command buffer and
1256e5c31af7Sopenharmony_ci<a href="#limits-protectedNoFault"><code>protectedNoFault</code></a> is not supported,
1257e5c31af7Sopenharmony_ci<code>srcBuffer</code> <strong class="purple">must</strong> not be a protected buffer</p>
1258e5c31af7Sopenharmony_ci</li>
1259e5c31af7Sopenharmony_ci<li>
1260e5c31af7Sopenharmony_ci<p><a id="VUID-vkCmdCopyBufferToImage2-commandBuffer-91829" href="#VUID-vkCmdCopyBufferToImage2-commandBuffer-91829"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-commandBuffer-91829</span><br>
1261e5c31af7Sopenharmony_ci
1262e5c31af7Sopenharmony_ciIf <code>commandBuffer</code> is an unprotected command buffer and
1263e5c31af7Sopenharmony_ci<a href="#limits-protectedNoFault"><code>protectedNoFault</code></a> is not supported,
1264e5c31af7Sopenharmony_ci<code>dstImage</code> <strong class="purple">must</strong> not be a protected image</p>
1265e5c31af7Sopenharmony_ci</li>
1266e5c31af7Sopenharmony_ci<li>
1267e5c31af7Sopenharmony_ci<p><a id="VUID-vkCmdCopyBufferToImage2-commandBuffer-91830" href="#VUID-vkCmdCopyBufferToImage2-commandBuffer-91830"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-commandBuffer-91830</span><br>
1268e5c31af7Sopenharmony_ci
1269e5c31af7Sopenharmony_ciIf <code>commandBuffer</code> is a protected command buffer and
1270e5c31af7Sopenharmony_ci<a href="#limits-protectedNoFault"><code>protectedNoFault</code></a> is not supported,
1271e5c31af7Sopenharmony_ci<code>dstImage</code> <strong class="purple">must</strong> not be an unprotected image</p>
1272e5c31af7Sopenharmony_ci</li>
1273e5c31af7Sopenharmony_ci<li>
1274e5c31af7Sopenharmony_ci<p><a id="VUID-vkCmdCopyBufferToImage2-commandBuffer-97737" href="#VUID-vkCmdCopyBufferToImage2-commandBuffer-97737"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-commandBuffer-97737</span><br>
1275e5c31af7Sopenharmony_ci
1276e5c31af7Sopenharmony_ciIf the queue family used to create the <a href="#VkCommandPool">VkCommandPool</a> which
1277e5c31af7Sopenharmony_ci<code>commandBuffer</code> was allocated from does not support
1278e5c31af7Sopenharmony_ci<code>VK_QUEUE_GRAPHICS_BIT</code> or <code>VK_QUEUE_COMPUTE_BIT</code>, the
1279e5c31af7Sopenharmony_ci<code>bufferOffset</code> member of any element of <code>pCopyBufferToImageInfo-&gt;pRegions</code> <strong class="purple">must</strong> be a
1280e5c31af7Sopenharmony_cimultiple of <code>4</code></p>
1281e5c31af7Sopenharmony_ci</li>
1282e5c31af7Sopenharmony_ci<li>
1283e5c31af7Sopenharmony_ci<p><a id="VUID-vkCmdCopyBufferToImage2-imageOffset-97738" href="#VUID-vkCmdCopyBufferToImage2-imageOffset-97738"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-imageOffset-97738</span><br>
1284e5c31af7Sopenharmony_ci
1285e5c31af7Sopenharmony_ciThe <code>imageOffset</code> and <code>imageExtent</code> members of each element of
1286e5c31af7Sopenharmony_ci<code>pCopyBufferToImageInfo-&gt;pRegions</code> <strong class="purple">must</strong> respect the image transfer granularity requirements
1287e5c31af7Sopenharmony_ciof <code>commandBuffer</code>&#8217;s command pool&#8217;s queue family, as described in
1288e5c31af7Sopenharmony_ci<a href="#VkQueueFamilyProperties">VkQueueFamilyProperties</a></p>
1289e5c31af7Sopenharmony_ci</li>
1290e5c31af7Sopenharmony_ci<li>
1291e5c31af7Sopenharmony_ci<p><a id="VUID-vkCmdCopyBufferToImage2-commandBuffer-97739" href="#VUID-vkCmdCopyBufferToImage2-commandBuffer-97739"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-commandBuffer-97739</span><br>
1292e5c31af7Sopenharmony_ci
1293e5c31af7Sopenharmony_ciIf the queue family used to create the <a href="#VkCommandPool">VkCommandPool</a> which
1294e5c31af7Sopenharmony_ci<code>commandBuffer</code> was allocated from does not support
1295e5c31af7Sopenharmony_ci<code>VK_QUEUE_GRAPHICS_BIT</code>, for each element of <code>pCopyBufferToImageInfo-&gt;pRegions</code>, the
1296e5c31af7Sopenharmony_ci<code>aspectMask</code> member of <code>imageSubresource</code> <strong class="purple">must</strong> not be
1297e5c31af7Sopenharmony_ci<code>VK_IMAGE_ASPECT_DEPTH_BIT</code> or <code>VK_IMAGE_ASPECT_STENCIL_BIT</code></p>
1298e5c31af7Sopenharmony_ci</li>
1299e5c31af7Sopenharmony_ci</ul>
1300e5c31af7Sopenharmony_ci</div>
1301e5c31af7Sopenharmony_ci</div>
1302e5c31af7Sopenharmony_ci</div>
1303e5c31af7Sopenharmony_ci<div class="sidebarblock">
1304e5c31af7Sopenharmony_ci<div class="content">
1305e5c31af7Sopenharmony_ci<div class="title">Valid Usage (Implicit)</div>
1306e5c31af7Sopenharmony_ci<div class="ulist">
1307e5c31af7Sopenharmony_ci<ul>
1308e5c31af7Sopenharmony_ci<li>
1309e5c31af7Sopenharmony_ci<p><a id="VUID-vkCmdCopyBufferToImage2-commandBuffer-parameter" href="#VUID-vkCmdCopyBufferToImage2-commandBuffer-parameter"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-commandBuffer-parameter</span><br>
1310e5c31af7Sopenharmony_ci <code>commandBuffer</code> <strong class="purple">must</strong> be a valid <a href="#VkCommandBuffer">VkCommandBuffer</a> handle</p>
1311e5c31af7Sopenharmony_ci</li>
1312e5c31af7Sopenharmony_ci<li>
1313e5c31af7Sopenharmony_ci<p><a id="VUID-vkCmdCopyBufferToImage2-pCopyBufferToImageInfo-parameter" href="#VUID-vkCmdCopyBufferToImage2-pCopyBufferToImageInfo-parameter"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-pCopyBufferToImageInfo-parameter</span><br>
1314e5c31af7Sopenharmony_ci <code>pCopyBufferToImageInfo</code> <strong class="purple">must</strong> be a valid pointer to a valid <a href="#VkCopyBufferToImageInfo2">VkCopyBufferToImageInfo2</a> structure</p>
1315e5c31af7Sopenharmony_ci</li>
1316e5c31af7Sopenharmony_ci<li>
1317e5c31af7Sopenharmony_ci<p><a id="VUID-vkCmdCopyBufferToImage2-commandBuffer-recording" href="#VUID-vkCmdCopyBufferToImage2-commandBuffer-recording"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-commandBuffer-recording</span><br>
1318e5c31af7Sopenharmony_ci <code>commandBuffer</code> <strong class="purple">must</strong> be in the <a href="#commandbuffers-lifecycle">recording state</a></p>
1319e5c31af7Sopenharmony_ci</li>
1320e5c31af7Sopenharmony_ci<li>
1321e5c31af7Sopenharmony_ci<p><a id="VUID-vkCmdCopyBufferToImage2-commandBuffer-cmdpool" href="#VUID-vkCmdCopyBufferToImage2-commandBuffer-cmdpool"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-commandBuffer-cmdpool</span><br>
1322e5c31af7Sopenharmony_ci The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class="purple">must</strong> support transfer, graphics, or compute operations</p>
1323e5c31af7Sopenharmony_ci</li>
1324e5c31af7Sopenharmony_ci<li>
1325e5c31af7Sopenharmony_ci<p><a id="VUID-vkCmdCopyBufferToImage2-renderpass" href="#VUID-vkCmdCopyBufferToImage2-renderpass"></a> <span class="vuid">VUID-vkCmdCopyBufferToImage2-renderpass</span><br>
1326e5c31af7Sopenharmony_ci This command <strong class="purple">must</strong> only be called outside of a render pass instance</p>
1327e5c31af7Sopenharmony_ci</li>
1328e5c31af7Sopenharmony_ci</ul>
1329e5c31af7Sopenharmony_ci</div>
1330e5c31af7Sopenharmony_ci</div>
1331e5c31af7Sopenharmony_ci</div>
1332e5c31af7Sopenharmony_ci<div class="sidebarblock">
1333e5c31af7Sopenharmony_ci<div class="content">
1334e5c31af7Sopenharmony_ci<div class="title">Host Synchronization</div>
1335e5c31af7Sopenharmony_ci<div class="ulist">
1336e5c31af7Sopenharmony_ci<ul>
1337e5c31af7Sopenharmony_ci<li>
1338e5c31af7Sopenharmony_ci<p>Host access to <code>commandBuffer</code> <strong class="purple">must</strong> be externally synchronized</p>
1339e5c31af7Sopenharmony_ci</li>
1340e5c31af7Sopenharmony_ci<li>
1341e5c31af7Sopenharmony_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>
1342e5c31af7Sopenharmony_ci</li>
1343e5c31af7Sopenharmony_ci</ul>
1344e5c31af7Sopenharmony_ci</div>
1345e5c31af7Sopenharmony_ci</div>
1346e5c31af7Sopenharmony_ci</div>
1347e5c31af7Sopenharmony_ci<div class="sidebarblock">
1348e5c31af7Sopenharmony_ci<div class="content">
1349e5c31af7Sopenharmony_ci<div class="title">Command Properties</div>
1350e5c31af7Sopenharmony_ci<table class="tableblock frame-all grid-all stretch">
1351e5c31af7Sopenharmony_ci<colgroup>
1352e5c31af7Sopenharmony_ci<col style="width: 25%;">
1353e5c31af7Sopenharmony_ci<col style="width: 25%;">
1354e5c31af7Sopenharmony_ci<col style="width: 25%;">
1355e5c31af7Sopenharmony_ci<col style="width: 25%;">
1356e5c31af7Sopenharmony_ci</colgroup>
1357e5c31af7Sopenharmony_ci<thead>
1358e5c31af7Sopenharmony_ci<tr>
1359e5c31af7Sopenharmony_ci<th class="tableblock halign-left valign-top"><a href="#VkCommandBufferLevel">Command Buffer Levels</a></th>
1360e5c31af7Sopenharmony_ci<th class="tableblock halign-left valign-top"><a href="#vkCmdBeginRenderPass">Render Pass Scope</a></th>
1361e5c31af7Sopenharmony_ci<th class="tableblock halign-left valign-top"><a href="#VkQueueFlagBits">Supported Queue Types</a></th>
1362e5c31af7Sopenharmony_ci<th class="tableblock halign-left valign-top"><a href="#fundamentals-queueoperation-command-types">Command Type</a></th>
1363e5c31af7Sopenharmony_ci</tr>
1364e5c31af7Sopenharmony_ci</thead>
1365e5c31af7Sopenharmony_ci<tbody>
1366e5c31af7Sopenharmony_ci<tr>
1367e5c31af7Sopenharmony_ci<td class="tableblock halign-left valign-top"><p class="tableblock">Primary<br>
1368e5c31af7Sopenharmony_ciSecondary</p></td>
1369e5c31af7Sopenharmony_ci<td class="tableblock halign-left valign-top"><p class="tableblock">Outside</p></td>
1370e5c31af7Sopenharmony_ci<td class="tableblock halign-left valign-top"><p class="tableblock">Transfer<br>
1371e5c31af7Sopenharmony_ciGraphics<br>
1372e5c31af7Sopenharmony_ciCompute</p></td>
1373e5c31af7Sopenharmony_ci<td class="tableblock halign-left valign-top"><p class="tableblock">Action</p></td>
1374e5c31af7Sopenharmony_ci</tr>
1375e5c31af7Sopenharmony_ci</tbody>
1376e5c31af7Sopenharmony_ci</table>
1377e5c31af7Sopenharmony_ci</div>
1378e5c31af7Sopenharmony_ci</div>
1379e5c31af7Sopenharmony_ci</div>
1380e5c31af7Sopenharmony_ci</div>
1381e5c31af7Sopenharmony_ci<div class="openblock">
1382e5c31af7Sopenharmony_ci<div class="content">
1383e5c31af7Sopenharmony_ci<div class="paragraph">
1384e5c31af7Sopenharmony_ci<p>Sed risus pretium quam vulputate dignissim suspendisse in est ante <code>VkCopyBufferToImageInfo2</code>:</p>
1385e5c31af7Sopenharmony_ci</div>
1386e5c31af7Sopenharmony_ci<div id="VkCopyBufferToImageInfo2" class="listingblock">
1387e5c31af7Sopenharmony_ci<div class="content">
1388e5c31af7Sopenharmony_ci<pre class="rouge highlight"><code data-lang="c++"><span class="c1">// Provided by VK_VERSION_1_3</span>
1389e5c31af7Sopenharmony_ci<span class="k">typedef</span> <span class="k">struct</span> <span class="nc">VkCopyBufferToImageInfo2</span> <span class="p">{</span>
1390e5c31af7Sopenharmony_ci    <span class="n">VkStructureType</span>              <span class="n">sType</span><span class="p">;</span>
1391e5c31af7Sopenharmony_ci    <span class="k">const</span> <span class="kt">void</span><span class="o">*</span>                  <span class="n">pNext</span><span class="p">;</span>
1392e5c31af7Sopenharmony_ci    <span class="n">VkBuffer</span>                     <span class="n">srcBuffer</span><span class="p">;</span>
1393e5c31af7Sopenharmony_ci    <span class="n">VkImage</span>                      <span class="n">dstImage</span><span class="p">;</span>
1394e5c31af7Sopenharmony_ci    <span class="n">VkImageLayout</span>                <span class="n">dstImageLayout</span><span class="p">;</span>
1395e5c31af7Sopenharmony_ci    <span class="kt">uint32_t</span>                     <span class="n">regionCount</span><span class="p">;</span>
1396e5c31af7Sopenharmony_ci    <span class="k">const</span> <span class="n">VkBufferImageCopy2</span><span class="o">*</span>    <span class="n">pRegions</span><span class="p">;</span>
1397e5c31af7Sopenharmony_ci<span class="p">}</span> <span class="n">VkCopyBufferToImageInfo2</span><span class="p">;</span></code></pre>
1398e5c31af7Sopenharmony_ci</div>
1399e5c31af7Sopenharmony_ci</div>
1400e5c31af7Sopenharmony_ci<div class="paragraph">
1401e5c31af7Sopenharmony_ci<p>or the equivalent</p>
1402e5c31af7Sopenharmony_ci</div>
1403e5c31af7Sopenharmony_ci<div id="VkCopyBufferToImageInfo2KHR" class="listingblock">
1404e5c31af7Sopenharmony_ci<div class="content">
1405e5c31af7Sopenharmony_ci<pre class="rouge highlight"><code data-lang="c++"><span class="c1">// Provided by VK_KHR_copy_commands2</span>
1406e5c31af7Sopenharmony_ci<span class="k">typedef</span> <span class="n">VkCopyBufferToImageInfo2</span> <span class="n">VkCopyBufferToImageInfo2KHR</span><span class="p">;</span></code></pre>
1407e5c31af7Sopenharmony_ci</div>
1408e5c31af7Sopenharmony_ci</div>
1409e5c31af7Sopenharmony_ci<div class="ulist">
1410e5c31af7Sopenharmony_ci<ul>
1411e5c31af7Sopenharmony_ci<li>
1412e5c31af7Sopenharmony_ci<p><code>sType</code> Natoque penatibus et magnis dis parturient montes nascetur.</p>
1413e5c31af7Sopenharmony_ci</li>
1414e5c31af7Sopenharmony_ci<li>
1415e5c31af7Sopenharmony_ci<p><code>pNext</code> Iaculis eu non diam phasellus vestibulum.</p>
1416e5c31af7Sopenharmony_ci</li>
1417e5c31af7Sopenharmony_ci<li>
1418e5c31af7Sopenharmony_ci<p><code>srcBuffer</code> Consequat nisl vel pretium lectus quam.</p>
1419e5c31af7Sopenharmony_ci</li>
1420e5c31af7Sopenharmony_ci<li>
1421e5c31af7Sopenharmony_ci<p><code>dstImage</code> Euismod in pellentesque massa placerat duis ultricies lacus sed turpis.</p>
1422e5c31af7Sopenharmony_ci</li>
1423e5c31af7Sopenharmony_ci<li>
1424e5c31af7Sopenharmony_ci<p><code>dstImageLayout</code> Ullamcorper eget nulla facilisi etiam dignissim diam quis enim.</p>
1425e5c31af7Sopenharmony_ci</li>
1426e5c31af7Sopenharmony_ci<li>
1427e5c31af7Sopenharmony_ci<p><code>regionCount</code> Vel facilisis volutpat est velit egestas dui.</p>
1428e5c31af7Sopenharmony_ci</li>
1429e5c31af7Sopenharmony_ci<li>
1430e5c31af7Sopenharmony_ci<p><code>pRegions</code> Consequat id porta nibh venenatis cras sed felis.</p>
1431e5c31af7Sopenharmony_ci</li>
1432e5c31af7Sopenharmony_ci</ul>
1433e5c31af7Sopenharmony_ci</div>
1434e5c31af7Sopenharmony_ci<div class="sidebarblock">
1435e5c31af7Sopenharmony_ci<div class="content">
1436e5c31af7Sopenharmony_ci<div class="title">Valid Usage</div>
1437e5c31af7Sopenharmony_ci<div class="ulist">
1438e5c31af7Sopenharmony_ci<ul>
1439e5c31af7Sopenharmony_ci<li>
1440e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-pRegions-94565" href="#VUID-VkCopyBufferToImageInfo2-pRegions-94565"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-pRegions-94565</span><br>
1441e5c31af7Sopenharmony_ci
1442e5c31af7Sopenharmony_ciId velit ut tortor pretium viverra suspendisse potenti <code>pRegions</code>
1443e5c31af7Sopenharmony_ci<code>imageSubresource</code> eu facilisis sed <strong class="purple">must</strong> odio morbi quis commodo
1444e5c31af7Sopenharmony_ci<code>dstImage</code></p>
1445e5c31af7Sopenharmony_ci</li>
1446e5c31af7Sopenharmony_ci</ul>
1447e5c31af7Sopenharmony_ci</div>
1448e5c31af7Sopenharmony_ci<div class="ulist">
1449e5c31af7Sopenharmony_ci<ul>
1450e5c31af7Sopenharmony_ci<li>
1451e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-dstImage-97966" href="#VUID-VkCopyBufferToImageInfo2-dstImage-97966"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-dstImage-97966</span><br>
1452e5c31af7Sopenharmony_ci
1453e5c31af7Sopenharmony_ciIf <code>dstImage</code> is non-sparse then the image or the specified
1454e5c31af7Sopenharmony_ci<em>disjoint</em> plane <strong class="purple">must</strong> be bound completely and contiguously to a single
1455e5c31af7Sopenharmony_ci<code>VkDeviceMemory</code> object</p>
1456e5c31af7Sopenharmony_ci</li>
1457e5c31af7Sopenharmony_ci<li>
1458e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-imageSubresource-97967" href="#VUID-VkCopyBufferToImageInfo2-imageSubresource-97967"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-imageSubresource-97967</span><br>
1459e5c31af7Sopenharmony_ci
1460e5c31af7Sopenharmony_ciThe <code>imageSubresource.mipLevel</code> member of each element of
1461e5c31af7Sopenharmony_ci<code>pRegions</code> <strong class="purple">must</strong> be less than the <code>mipLevels</code> specified in
1462e5c31af7Sopenharmony_ci<a href="#VkImageCreateInfo">VkImageCreateInfo</a> when <code>dstImage</code> was created</p>
1463e5c31af7Sopenharmony_ci</li>
1464e5c31af7Sopenharmony_ci<li>
1465e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-imageSubresource-97968" href="#VUID-VkCopyBufferToImageInfo2-imageSubresource-97968"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-imageSubresource-97968</span><br>
1466e5c31af7Sopenharmony_ci
1467e5c31af7Sopenharmony_ciThe <span class="eq"><code>imageSubresource.baseArrayLayer</code> + 
1468e5c31af7Sopenharmony_ci<code>imageSubresource.layerCount</code></span> of each element of <code>pRegions</code>
1469e5c31af7Sopenharmony_ci<strong class="purple">must</strong> be less than or equal to the <code>arrayLayers</code> specified in
1470e5c31af7Sopenharmony_ci<a href="#VkImageCreateInfo">VkImageCreateInfo</a> when <code>dstImage</code> was created</p>
1471e5c31af7Sopenharmony_ci</li>
1472e5c31af7Sopenharmony_ci</ul>
1473e5c31af7Sopenharmony_ci</div>
1474e5c31af7Sopenharmony_ci<div class="ulist">
1475e5c31af7Sopenharmony_ci<ul>
1476e5c31af7Sopenharmony_ci<li>
1477e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-bufferRowLength-99101" href="#VUID-VkCopyBufferToImageInfo2-bufferRowLength-99101"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-bufferRowLength-99101</span><br>
1478e5c31af7Sopenharmony_ci
1479e5c31af7Sopenharmony_ci<code>bufferRowLength</code> <strong class="purple">must</strong> be <code>0</code>, or greater than or equal to the
1480e5c31af7Sopenharmony_ci<code>width</code> member of <code>imageExtent</code></p>
1481e5c31af7Sopenharmony_ci</li>
1482e5c31af7Sopenharmony_ci<li>
1483e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-bufferImageHeight-99102" href="#VUID-VkCopyBufferToImageInfo2-bufferImageHeight-99102"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-bufferImageHeight-99102</span><br>
1484e5c31af7Sopenharmony_ci
1485e5c31af7Sopenharmony_ci<code>bufferImageHeight</code> <strong class="purple">must</strong> be <code>0</code>, or greater than or equal to the
1486e5c31af7Sopenharmony_ci<code>height</code> member of <code>imageExtent</code></p>
1487e5c31af7Sopenharmony_ci</li>
1488e5c31af7Sopenharmony_ci<li>
1489e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-aspectMask-99103" href="#VUID-VkCopyBufferToImageInfo2-aspectMask-99103"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-aspectMask-99103</span><br>
1490e5c31af7Sopenharmony_ci
1491e5c31af7Sopenharmony_ciThe <code>aspectMask</code> member of <code>imageSubresource</code> <strong class="purple">must</strong> only have a
1492e5c31af7Sopenharmony_cisingle bit set</p>
1493e5c31af7Sopenharmony_ci</li>
1494e5c31af7Sopenharmony_ci<li>
1495e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-imageExtent-96659" href="#VUID-VkCopyBufferToImageInfo2-imageExtent-96659"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-imageExtent-96659</span><br>
1496e5c31af7Sopenharmony_ci
1497e5c31af7Sopenharmony_ci<code>imageExtent.width</code> <strong class="purple">must</strong> not be 0</p>
1498e5c31af7Sopenharmony_ci</li>
1499e5c31af7Sopenharmony_ci<li>
1500e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-imageExtent-96660" href="#VUID-VkCopyBufferToImageInfo2-imageExtent-96660"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-imageExtent-96660</span><br>
1501e5c31af7Sopenharmony_ci
1502e5c31af7Sopenharmony_ci<code>imageExtent.height</code> <strong class="purple">must</strong> not be 0</p>
1503e5c31af7Sopenharmony_ci</li>
1504e5c31af7Sopenharmony_ci<li>
1505e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-imageExtent-96661" href="#VUID-VkCopyBufferToImageInfo2-imageExtent-96661"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-imageExtent-96661</span><br>
1506e5c31af7Sopenharmony_ci
1507e5c31af7Sopenharmony_ci<code>imageExtent.depth</code> <strong class="purple">must</strong> not be 0</p>
1508e5c31af7Sopenharmony_ci</li>
1509e5c31af7Sopenharmony_ci<li>
1510e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-pRegions-96223" href="#VUID-VkCopyBufferToImageInfo2-pRegions-96223"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-pRegions-96223</span><br>
1511e5c31af7Sopenharmony_ci
1512e5c31af7Sopenharmony_ciId leo in vitae turpis massa sed elementum
1513e5c31af7Sopenharmony_ci<code>imageOffset.x</code> and <span class="eq">(<code>imageExtent.width</code> + 
1514e5c31af7Sopenharmony_ci<code>imageOffset.x</code>)</span> <strong class="purple">must</strong> gravida dictum fusce ut placerat orci nulla
1515e5c31af7Sopenharmony_cipellentesque dignissim enim <code>imageSubresource</code> of <code>dstImage</code></p>
1516e5c31af7Sopenharmony_ci</li>
1517e5c31af7Sopenharmony_ci</ul>
1518e5c31af7Sopenharmony_ci</div>
1519e5c31af7Sopenharmony_ci</div>
1520e5c31af7Sopenharmony_ci</div>
1521e5c31af7Sopenharmony_ci<div class="sidebarblock">
1522e5c31af7Sopenharmony_ci<div class="content">
1523e5c31af7Sopenharmony_ci<div class="title">Valid Usage (Implicit)</div>
1524e5c31af7Sopenharmony_ci<div class="ulist">
1525e5c31af7Sopenharmony_ci<ul>
1526e5c31af7Sopenharmony_ci<li>
1527e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-sType-sType" href="#VUID-VkCopyBufferToImageInfo2-sType-sType"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-sType-sType</span><br>
1528e5c31af7Sopenharmony_ci <code>sType</code> <strong class="purple">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2</code></p>
1529e5c31af7Sopenharmony_ci</li>
1530e5c31af7Sopenharmony_ci<li>
1531e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-pNext-pNext" href="#VUID-VkCopyBufferToImageInfo2-pNext-pNext"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-pNext-pNext</span><br>
1532e5c31af7Sopenharmony_ci <code>pNext</code> <strong class="purple">must</strong> be <code>NULL</code></p>
1533e5c31af7Sopenharmony_ci</li>
1534e5c31af7Sopenharmony_ci<li>
1535e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-srcBuffer-parameter" href="#VUID-VkCopyBufferToImageInfo2-srcBuffer-parameter"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-srcBuffer-parameter</span><br>
1536e5c31af7Sopenharmony_ci <code>srcBuffer</code> <strong class="purple">must</strong> be a valid <a href="#VkBuffer">VkBuffer</a> handle</p>
1537e5c31af7Sopenharmony_ci</li>
1538e5c31af7Sopenharmony_ci<li>
1539e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-dstImage-parameter" href="#VUID-VkCopyBufferToImageInfo2-dstImage-parameter"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-dstImage-parameter</span><br>
1540e5c31af7Sopenharmony_ci <code>dstImage</code> <strong class="purple">must</strong> be a valid <a href="#VkImage">VkImage</a> handle</p>
1541e5c31af7Sopenharmony_ci</li>
1542e5c31af7Sopenharmony_ci<li>
1543e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-dstImageLayout-parameter" href="#VUID-VkCopyBufferToImageInfo2-dstImageLayout-parameter"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-dstImageLayout-parameter</span><br>
1544e5c31af7Sopenharmony_ci <code>dstImageLayout</code> <strong class="purple">must</strong> be a valid <a href="#VkImageLayout">VkImageLayout</a> value</p>
1545e5c31af7Sopenharmony_ci</li>
1546e5c31af7Sopenharmony_ci<li>
1547e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-pRegions-parameter" href="#VUID-VkCopyBufferToImageInfo2-pRegions-parameter"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-pRegions-parameter</span><br>
1548e5c31af7Sopenharmony_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>
1549e5c31af7Sopenharmony_ci</li>
1550e5c31af7Sopenharmony_ci<li>
1551e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-regionCount-arraylength" href="#VUID-VkCopyBufferToImageInfo2-regionCount-arraylength"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-regionCount-arraylength</span><br>
1552e5c31af7Sopenharmony_ci <code>regionCount</code> <strong class="purple">must</strong> be greater than <code>0</code></p>
1553e5c31af7Sopenharmony_ci</li>
1554e5c31af7Sopenharmony_ci<li>
1555e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyBufferToImageInfo2-commonparent" href="#VUID-VkCopyBufferToImageInfo2-commonparent"></a> <span class="vuid">VUID-VkCopyBufferToImageInfo2-commonparent</span><br>
1556e5c31af7Sopenharmony_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>
1557e5c31af7Sopenharmony_ci</li>
1558e5c31af7Sopenharmony_ci</ul>
1559e5c31af7Sopenharmony_ci</div>
1560e5c31af7Sopenharmony_ci</div>
1561e5c31af7Sopenharmony_ci</div>
1562e5c31af7Sopenharmony_ci</div>
1563e5c31af7Sopenharmony_ci</div>
1564e5c31af7Sopenharmony_ci<div class="openblock">
1565e5c31af7Sopenharmony_ci<div class="content">
1566e5c31af7Sopenharmony_ci<div class="paragraph">
1567e5c31af7Sopenharmony_ci<p>Gravida dictum fusce ut placerat orci nulla pellentesque dignissim enim <a href="#vkCmdCopyBufferToImage2">vkCmdCopyBufferToImage2</a>:</p>
1568e5c31af7Sopenharmony_ci</div>
1569e5c31af7Sopenharmony_ci<div id="VkBufferImageCopy2" class="listingblock">
1570e5c31af7Sopenharmony_ci<div class="content">
1571e5c31af7Sopenharmony_ci<pre class="rouge highlight"><code data-lang="c++"><span class="c1">// Provided by VK_VERSION_1_3</span>
1572e5c31af7Sopenharmony_ci<span class="k">typedef</span> <span class="k">struct</span> <span class="nc">VkBufferImageCopy2</span> <span class="p">{</span>
1573e5c31af7Sopenharmony_ci    <span class="n">VkStructureType</span>             <span class="n">sType</span><span class="p">;</span>
1574e5c31af7Sopenharmony_ci    <span class="k">const</span> <span class="kt">void</span><span class="o">*</span>                 <span class="n">pNext</span><span class="p">;</span>
1575e5c31af7Sopenharmony_ci    <span class="n">VkDeviceSize</span>                <span class="n">bufferOffset</span><span class="p">;</span>
1576e5c31af7Sopenharmony_ci    <span class="kt">uint32_t</span>                    <span class="n">bufferRowLength</span><span class="p">;</span>
1577e5c31af7Sopenharmony_ci    <span class="kt">uint32_t</span>                    <span class="n">bufferImageHeight</span><span class="p">;</span>
1578e5c31af7Sopenharmony_ci    <span class="n">VkImageSubresourceLayers</span>    <span class="n">imageSubresource</span><span class="p">;</span>
1579e5c31af7Sopenharmony_ci    <span class="n">VkOffset3D</span>                  <span class="n">imageOffset</span><span class="p">;</span>
1580e5c31af7Sopenharmony_ci    <span class="n">VkExtent3D</span>                  <span class="n">imageExtent</span><span class="p">;</span>
1581e5c31af7Sopenharmony_ci<span class="p">}</span> <span class="n">VkBufferImageCopy2</span><span class="p">;</span></code></pre>
1582e5c31af7Sopenharmony_ci</div>
1583e5c31af7Sopenharmony_ci</div>
1584e5c31af7Sopenharmony_ci<div class="paragraph">
1585e5c31af7Sopenharmony_ci<p>or the equivalent</p>
1586e5c31af7Sopenharmony_ci</div>
1587e5c31af7Sopenharmony_ci<div id="VkBufferImageCopy2KHR" class="listingblock">
1588e5c31af7Sopenharmony_ci<div class="content">
1589e5c31af7Sopenharmony_ci<pre class="rouge highlight"><code data-lang="c++"><span class="c1">// Provided by VK_KHR_copy_commands2</span>
1590e5c31af7Sopenharmony_ci<span class="k">typedef</span> <span class="n">VkBufferImageCopy2</span> <span class="n">VkBufferImageCopy2KHR</span><span class="p">;</span></code></pre>
1591e5c31af7Sopenharmony_ci</div>
1592e5c31af7Sopenharmony_ci</div>
1593e5c31af7Sopenharmony_ci<div class="ulist">
1594e5c31af7Sopenharmony_ci<ul>
1595e5c31af7Sopenharmony_ci<li>
1596e5c31af7Sopenharmony_ci<p><code>sType</code> Tristique senectus et netus et malesuada.</p>
1597e5c31af7Sopenharmony_ci</li>
1598e5c31af7Sopenharmony_ci<li>
1599e5c31af7Sopenharmony_ci<p><code>pNext</code> Tempor commodo ullamcorper a lacus vestibulum sed arcu.</p>
1600e5c31af7Sopenharmony_ci</li>
1601e5c31af7Sopenharmony_ci<li>
1602e5c31af7Sopenharmony_ci<p><code>bufferOffset</code> Tellus in metus vulputate eu scelerisque. Lectus sit amet est placerat in.</p>
1603e5c31af7Sopenharmony_ci</li>
1604e5c31af7Sopenharmony_ci<li>
1605e5c31af7Sopenharmony_ci<p><code>bufferRowLength</code> and <code>bufferImageHeight</code> Quam adipiscing vitae
1606e5c31af7Sopenharmony_ciproin sagittis. Mattis pellentesque id nibh tortor id aliquet lectus proin
1607e5c31af7Sopenharmony_cinibh <code>imageExtent</code>.</p>
1608e5c31af7Sopenharmony_ci</li>
1609e5c31af7Sopenharmony_ci<li>
1610e5c31af7Sopenharmony_ci<p><code>imageSubresource</code> Sociis natoque penatibus et magnis dis parturient montes nascetur.</p>
1611e5c31af7Sopenharmony_ci</li>
1612e5c31af7Sopenharmony_ci<li>
1613e5c31af7Sopenharmony_ci<p><code>imageOffset</code> Lobortis mattis aliquam faucibus purus in massa tempor nec.</p>
1614e5c31af7Sopenharmony_ci</li>
1615e5c31af7Sopenharmony_ci<li>
1616e5c31af7Sopenharmony_ci<p><code>imageExtent</code> Ut ornare lectus sit amet est placerat in.</p>
1617e5c31af7Sopenharmony_ci</li>
1618e5c31af7Sopenharmony_ci</ul>
1619e5c31af7Sopenharmony_ci</div>
1620e5c31af7Sopenharmony_ci<div class="paragraph">
1621e5c31af7Sopenharmony_ci<p>Integer quis auctor elit sed vulputate mi sit amet mauris. Ultrices sagittis
1622e5c31af7Sopenharmony_ciorci a scelerisque purus semper eget duis.</p>
1623e5c31af7Sopenharmony_ci</div>
1624e5c31af7Sopenharmony_ci<div class="sidebarblock">
1625e5c31af7Sopenharmony_ci<div class="content">
1626e5c31af7Sopenharmony_ci<div class="title">Valid Usage</div>
1627e5c31af7Sopenharmony_ci<div class="ulist">
1628e5c31af7Sopenharmony_ci<ul>
1629e5c31af7Sopenharmony_ci<li>
1630e5c31af7Sopenharmony_ci<p><a id="VUID-VkBufferImageCopy2-bufferRowLength-99101" href="#VUID-VkBufferImageCopy2-bufferRowLength-99101"></a> <span class="vuid">VUID-VkBufferImageCopy2-bufferRowLength-99101</span><br>
1631e5c31af7Sopenharmony_ci
1632e5c31af7Sopenharmony_ci<code>bufferRowLength</code> <strong class="purple">must</strong> be <code>0</code>, or greater than or equal to the
1633e5c31af7Sopenharmony_ci<code>width</code> member of <code>imageExtent</code></p>
1634e5c31af7Sopenharmony_ci</li>
1635e5c31af7Sopenharmony_ci<li>
1636e5c31af7Sopenharmony_ci<p><a id="VUID-VkBufferImageCopy2-bufferImageHeight-99102" href="#VUID-VkBufferImageCopy2-bufferImageHeight-99102"></a> <span class="vuid">VUID-VkBufferImageCopy2-bufferImageHeight-99102</span><br>
1637e5c31af7Sopenharmony_ci
1638e5c31af7Sopenharmony_ci<code>bufferImageHeight</code> <strong class="purple">must</strong> be <code>0</code>, or greater than or equal to the
1639e5c31af7Sopenharmony_ci<code>height</code> member of <code>imageExtent</code></p>
1640e5c31af7Sopenharmony_ci</li>
1641e5c31af7Sopenharmony_ci<li>
1642e5c31af7Sopenharmony_ci<p><a id="VUID-VkBufferImageCopy2-aspectMask-99103" href="#VUID-VkBufferImageCopy2-aspectMask-99103"></a> <span class="vuid">VUID-VkBufferImageCopy2-aspectMask-99103</span><br>
1643e5c31af7Sopenharmony_ci
1644e5c31af7Sopenharmony_ciThe <code>aspectMask</code> member of <code>imageSubresource</code> <strong class="purple">must</strong> only have a
1645e5c31af7Sopenharmony_cisingle bit set</p>
1646e5c31af7Sopenharmony_ci</li>
1647e5c31af7Sopenharmony_ci<li>
1648e5c31af7Sopenharmony_ci<p><a id="VUID-VkBufferImageCopy2-imageExtent-96659" href="#VUID-VkBufferImageCopy2-imageExtent-96659"></a> <span class="vuid">VUID-VkBufferImageCopy2-imageExtent-96659</span><br>
1649e5c31af7Sopenharmony_ci
1650e5c31af7Sopenharmony_ci<code>imageExtent.width</code> <strong class="purple">must</strong> not be 0</p>
1651e5c31af7Sopenharmony_ci</li>
1652e5c31af7Sopenharmony_ci<li>
1653e5c31af7Sopenharmony_ci<p><a id="VUID-VkBufferImageCopy2-imageExtent-96660" href="#VUID-VkBufferImageCopy2-imageExtent-96660"></a> <span class="vuid">VUID-VkBufferImageCopy2-imageExtent-96660</span><br>
1654e5c31af7Sopenharmony_ci
1655e5c31af7Sopenharmony_ci<code>imageExtent.height</code> <strong class="purple">must</strong> not be 0</p>
1656e5c31af7Sopenharmony_ci</li>
1657e5c31af7Sopenharmony_ci<li>
1658e5c31af7Sopenharmony_ci<p><a id="VUID-VkBufferImageCopy2-imageExtent-96661" href="#VUID-VkBufferImageCopy2-imageExtent-96661"></a> <span class="vuid">VUID-VkBufferImageCopy2-imageExtent-96661</span><br>
1659e5c31af7Sopenharmony_ci
1660e5c31af7Sopenharmony_ci<code>imageExtent.depth</code> <strong class="purple">must</strong> not be 0</p>
1661e5c31af7Sopenharmony_ci</li>
1662e5c31af7Sopenharmony_ci</ul>
1663e5c31af7Sopenharmony_ci</div>
1664e5c31af7Sopenharmony_ci</div>
1665e5c31af7Sopenharmony_ci</div>
1666e5c31af7Sopenharmony_ci<div class="sidebarblock">
1667e5c31af7Sopenharmony_ci<div class="content">
1668e5c31af7Sopenharmony_ci<div class="title">Valid Usage (Implicit)</div>
1669e5c31af7Sopenharmony_ci<div class="ulist">
1670e5c31af7Sopenharmony_ci<ul>
1671e5c31af7Sopenharmony_ci<li>
1672e5c31af7Sopenharmony_ci<p><a id="VUID-VkBufferImageCopy2-sType-sType" href="#VUID-VkBufferImageCopy2-sType-sType"></a> <span class="vuid">VUID-VkBufferImageCopy2-sType-sType</span><br>
1673e5c31af7Sopenharmony_ci <code>sType</code> <strong class="purple">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2</code></p>
1674e5c31af7Sopenharmony_ci</li>
1675e5c31af7Sopenharmony_ci<li>
1676e5c31af7Sopenharmony_ci<p><a id="VUID-VkBufferImageCopy2-pNext-pNext" href="#VUID-VkBufferImageCopy2-pNext-pNext"></a> <span class="vuid">VUID-VkBufferImageCopy2-pNext-pNext</span><br>
1677e5c31af7Sopenharmony_ci <code>pNext</code> <strong class="purple">must</strong> be <code>NULL</code></p>
1678e5c31af7Sopenharmony_ci</li>
1679e5c31af7Sopenharmony_ci<li>
1680e5c31af7Sopenharmony_ci<p><a id="VUID-VkBufferImageCopy2-imageSubresource-parameter" href="#VUID-VkBufferImageCopy2-imageSubresource-parameter"></a> <span class="vuid">VUID-VkBufferImageCopy2-imageSubresource-parameter</span><br>
1681e5c31af7Sopenharmony_ci <code>imageSubresource</code> <strong class="purple">must</strong> be a valid <a href="#VkImageSubresourceLayers">VkImageSubresourceLayers</a> structure</p>
1682e5c31af7Sopenharmony_ci</li>
1683e5c31af7Sopenharmony_ci</ul>
1684e5c31af7Sopenharmony_ci</div>
1685e5c31af7Sopenharmony_ci</div>
1686e5c31af7Sopenharmony_ci</div>
1687e5c31af7Sopenharmony_ci</div>
1688e5c31af7Sopenharmony_ci</div>
1689e5c31af7Sopenharmony_ci</div>
1690e5c31af7Sopenharmony_ci</div>
1691e5c31af7Sopenharmony_ci</div>
1692e5c31af7Sopenharmony_ci<div class="sect1">
1693e5c31af7Sopenharmony_ci<h2 id="hic"><a class="anchor" href="#hic"></a>3. Host Image Copy</h2>
1694e5c31af7Sopenharmony_ci<div class="sectionbody">
1695e5c31af7Sopenharmony_ci<div class="paragraph">
1696e5c31af7Sopenharmony_ci<p>Tristique senectus et netus et malesuada. Tempor commodo ullamcorper a lacus
1697e5c31af7Sopenharmony_civestibulum sed arcu. Tellus in metus vulputate eu scelerisque. Lectus sit amet
1698e5c31af7Sopenharmony_ciest placerat in. Quam adipiscing vitae proin sagittis. Mattis pellentesque id
1699e5c31af7Sopenharmony_cinibh tortor id aliquet lectus proin nibh. Sociis natoque penatibus et magnis
1700e5c31af7Sopenharmony_cidis parturient montes nascetur. Lobortis mattis aliquam faucibus purus in massa
1701e5c31af7Sopenharmony_citempor nec. Ut ornare lectus sit amet est placerat in. Integer quis auctor elit
1702e5c31af7Sopenharmony_cised vulputate mi sit amet mauris. Ultrices sagittis orci a scelerisque purus
1703e5c31af7Sopenharmony_cisemper eget duis. Sit amet consectetur adipiscing elit duis tristique. Semper
1704e5c31af7Sopenharmony_cirisus in hendrerit gravida rutrum. Lorem ipsum dolor sit amet consectetur
1705e5c31af7Sopenharmony_ciadipiscing elit duis. Varius morbi enim nunc faucibus a pellentesque sit amet.
1706e5c31af7Sopenharmony_ciPraesent semper feugiat nibh sed pulvinar proin. Porttitor leo a diam
1707e5c31af7Sopenharmony_cisollicitudin tempor id. In massa tempor nec feugiat nisl pretium fusce id. Amet
1708e5c31af7Sopenharmony_civenenatis urna cursus eget nunc scelerisque.</p>
1709e5c31af7Sopenharmony_ci</div>
1710e5c31af7Sopenharmony_ci<div class="openblock">
1711e5c31af7Sopenharmony_ci<div class="content">
1712e5c31af7Sopenharmony_ci<div class="paragraph">
1713e5c31af7Sopenharmony_ci<p>Cursus sit amet dictum sit amet justo:</p>
1714e5c31af7Sopenharmony_ci</div>
1715e5c31af7Sopenharmony_ci<div id="vkCopyMemoryToImageEXT" class="listingblock">
1716e5c31af7Sopenharmony_ci<div class="content">
1717e5c31af7Sopenharmony_ci<pre class="rouge highlight"><code data-lang="c++"><span class="c1">// Provided by VK_EXT_host_image_copy</span>
1718e5c31af7Sopenharmony_ci<span class="n">VkResult</span> <span class="nf">vkCopyMemoryToImageEXT</span><span class="p">(</span>
1719e5c31af7Sopenharmony_ci    <span class="n">VkDevice</span>                                    <span class="n">device</span><span class="p">,</span>
1720e5c31af7Sopenharmony_ci    <span class="k">const</span> <span class="n">VkCopyMemoryToImageInfoEXT</span><span class="o">*</span>           <span class="n">pCopyMemoryToImageInfo</span><span class="p">);</span></code></pre>
1721e5c31af7Sopenharmony_ci</div>
1722e5c31af7Sopenharmony_ci</div>
1723e5c31af7Sopenharmony_ci<div class="ulist">
1724e5c31af7Sopenharmony_ci<ul>
1725e5c31af7Sopenharmony_ci<li>
1726e5c31af7Sopenharmony_ci<p><code>device</code> Quis viverra nibh cras pulvinar mattis nunc
1727e5c31af7Sopenharmony_ci<code>pCopyMemoryToImageInfo-&gt;dstImage</code>.</p>
1728e5c31af7Sopenharmony_ci</li>
1729e5c31af7Sopenharmony_ci<li>
1730e5c31af7Sopenharmony_ci<p><code>pCopyMemoryToImageInfo</code> Est velit egestas dui id ornare. Tristique nulla aliquet enim tortor at
1731e5c31af7Sopenharmony_ci<a href="#VkCopyMemoryToImageInfoEXT">VkCopyMemoryToImageInfoEXT</a> structure.</p>
1732e5c31af7Sopenharmony_ci</li>
1733e5c31af7Sopenharmony_ci</ul>
1734e5c31af7Sopenharmony_ci</div>
1735e5c31af7Sopenharmony_ci<div class="paragraph">
1736e5c31af7Sopenharmony_ci<p>Turpis egestas pretium aenean pharetra <a href="#vkCmdCopyBufferToImage2">vkCmdCopyBufferToImage2</a>, magna ac placerat vestibulum lectus.</p>
1737e5c31af7Sopenharmony_ci</div>
1738e5c31af7Sopenharmony_ci<div class="sidebarblock">
1739e5c31af7Sopenharmony_ci<div class="content">
1740e5c31af7Sopenharmony_ci<div class="title">Valid Usage</div>
1741e5c31af7Sopenharmony_ci<div class="ulist">
1742e5c31af7Sopenharmony_ci<ul>
1743e5c31af7Sopenharmony_ci<li>
1744e5c31af7Sopenharmony_ci<p><a id="VUID-vkCopyMemoryToImageEXT-hostImageCopy-99058" href="#VUID-vkCopyMemoryToImageEXT-hostImageCopy-99058"></a> <span class="vuid">VUID-vkCopyMemoryToImageEXT-hostImageCopy-99058</span><br>
1745e5c31af7Sopenharmony_ci
1746e5c31af7Sopenharmony_ciRisus quis varius <a href="#features-hostImageCopy"><code>hostImageCopy</code></a> quam
1747e5c31af7Sopenharmony_ciquisque id diam vel</p>
1748e5c31af7Sopenharmony_ci</li>
1749e5c31af7Sopenharmony_ci</ul>
1750e5c31af7Sopenharmony_ci</div>
1751e5c31af7Sopenharmony_ci</div>
1752e5c31af7Sopenharmony_ci</div>
1753e5c31af7Sopenharmony_ci<div class="sidebarblock">
1754e5c31af7Sopenharmony_ci<div class="content">
1755e5c31af7Sopenharmony_ci<div class="title">Valid Usage (Implicit)</div>
1756e5c31af7Sopenharmony_ci<div class="ulist">
1757e5c31af7Sopenharmony_ci<ul>
1758e5c31af7Sopenharmony_ci<li>
1759e5c31af7Sopenharmony_ci<p><a id="VUID-vkCopyMemoryToImageEXT-device-parameter" href="#VUID-vkCopyMemoryToImageEXT-device-parameter"></a> <span class="vuid">VUID-vkCopyMemoryToImageEXT-device-parameter</span><br>
1760e5c31af7Sopenharmony_ci <code>device</code> <strong class="purple">must</strong> be a valid <a href="#VkDevice">VkDevice</a> handle</p>
1761e5c31af7Sopenharmony_ci</li>
1762e5c31af7Sopenharmony_ci<li>
1763e5c31af7Sopenharmony_ci<p><a id="VUID-vkCopyMemoryToImageEXT-pCopyMemoryToImageInfo-parameter" href="#VUID-vkCopyMemoryToImageEXT-pCopyMemoryToImageInfo-parameter"></a> <span class="vuid">VUID-vkCopyMemoryToImageEXT-pCopyMemoryToImageInfo-parameter</span><br>
1764e5c31af7Sopenharmony_ci <code>pCopyMemoryToImageInfo</code> <strong class="purple">must</strong> be a valid pointer to a valid <a href="#VkCopyMemoryToImageInfoEXT">VkCopyMemoryToImageInfoEXT</a> structure</p>
1765e5c31af7Sopenharmony_ci</li>
1766e5c31af7Sopenharmony_ci</ul>
1767e5c31af7Sopenharmony_ci</div>
1768e5c31af7Sopenharmony_ci</div>
1769e5c31af7Sopenharmony_ci</div>
1770e5c31af7Sopenharmony_ci<div class="sidebarblock">
1771e5c31af7Sopenharmony_ci<div class="content">
1772e5c31af7Sopenharmony_ci<div class="title">Return Codes</div>
1773e5c31af7Sopenharmony_ci<div class="dlist">
1774e5c31af7Sopenharmony_ci<dl>
1775e5c31af7Sopenharmony_ci<dt class="hdlist1"><a href="#fundamentals-successcodes">Success</a></dt>
1776e5c31af7Sopenharmony_ci<dd>
1777e5c31af7Sopenharmony_ci<div class="ulist">
1778e5c31af7Sopenharmony_ci<ul>
1779e5c31af7Sopenharmony_ci<li>
1780e5c31af7Sopenharmony_ci<p><code>VK_SUCCESS</code></p>
1781e5c31af7Sopenharmony_ci</li>
1782e5c31af7Sopenharmony_ci</ul>
1783e5c31af7Sopenharmony_ci</div>
1784e5c31af7Sopenharmony_ci</dd>
1785e5c31af7Sopenharmony_ci<dt class="hdlist1"><a href="#fundamentals-errorcodes">Failure</a></dt>
1786e5c31af7Sopenharmony_ci<dd>
1787e5c31af7Sopenharmony_ci<div class="ulist">
1788e5c31af7Sopenharmony_ci<ul>
1789e5c31af7Sopenharmony_ci<li>
1790e5c31af7Sopenharmony_ci<p><code>VK_ERROR_INITIALIZATION_FAILED</code></p>
1791e5c31af7Sopenharmony_ci</li>
1792e5c31af7Sopenharmony_ci<li>
1793e5c31af7Sopenharmony_ci<p><code>VK_ERROR_OUT_OF_HOST_MEMORY</code></p>
1794e5c31af7Sopenharmony_ci</li>
1795e5c31af7Sopenharmony_ci<li>
1796e5c31af7Sopenharmony_ci<p><code>VK_ERROR_OUT_OF_DEVICE_MEMORY</code></p>
1797e5c31af7Sopenharmony_ci</li>
1798e5c31af7Sopenharmony_ci<li>
1799e5c31af7Sopenharmony_ci<p><code>VK_ERROR_MEMORY_MAP_FAILED</code></p>
1800e5c31af7Sopenharmony_ci</li>
1801e5c31af7Sopenharmony_ci</ul>
1802e5c31af7Sopenharmony_ci</div>
1803e5c31af7Sopenharmony_ci</dd>
1804e5c31af7Sopenharmony_ci</dl>
1805e5c31af7Sopenharmony_ci</div>
1806e5c31af7Sopenharmony_ci</div>
1807e5c31af7Sopenharmony_ci</div>
1808e5c31af7Sopenharmony_ci</div>
1809e5c31af7Sopenharmony_ci</div>
1810e5c31af7Sopenharmony_ci<div class="openblock">
1811e5c31af7Sopenharmony_ci<div class="content">
1812e5c31af7Sopenharmony_ci<div class="paragraph">
1813e5c31af7Sopenharmony_ci<p>Morbi tincidunt augue interdum velit euismod in pellentesque massa <code>VkCopyMemoryToImageInfoEXT</code> structure:</p>
1814e5c31af7Sopenharmony_ci</div>
1815e5c31af7Sopenharmony_ci<div id="VkCopyMemoryToImageInfoEXT" class="listingblock">
1816e5c31af7Sopenharmony_ci<div class="content">
1817e5c31af7Sopenharmony_ci<pre class="rouge highlight"><code data-lang="c++"><span class="c1">// Provided by VK_EXT_host_image_copy</span>
1818e5c31af7Sopenharmony_ci<span class="k">typedef</span> <span class="k">struct</span> <span class="nc">VkCopyMemoryToImageInfoEXT</span> <span class="p">{</span>
1819e5c31af7Sopenharmony_ci    <span class="n">VkStructureType</span>                  <span class="n">sType</span><span class="p">;</span>
1820e5c31af7Sopenharmony_ci    <span class="k">const</span> <span class="kt">void</span><span class="o">*</span>                      <span class="n">pNext</span><span class="p">;</span>
1821e5c31af7Sopenharmony_ci    <span class="n">VkHostImageCopyFlagsEXT</span>          <span class="n">flags</span><span class="p">;</span>
1822e5c31af7Sopenharmony_ci    <span class="n">VkImage</span>                          <span class="n">dstImage</span><span class="p">;</span>
1823e5c31af7Sopenharmony_ci    <span class="n">VkImageLayout</span>                    <span class="n">dstImageLayout</span><span class="p">;</span>
1824e5c31af7Sopenharmony_ci    <span class="kt">uint32_t</span>                         <span class="n">regionCount</span><span class="p">;</span>
1825e5c31af7Sopenharmony_ci    <span class="k">const</span> <span class="n">VkMemoryToImageCopyEXT</span><span class="o">*</span>    <span class="n">pRegions</span><span class="p">;</span>
1826e5c31af7Sopenharmony_ci<span class="p">}</span> <span class="n">VkCopyMemoryToImageInfoEXT</span><span class="p">;</span></code></pre>
1827e5c31af7Sopenharmony_ci</div>
1828e5c31af7Sopenharmony_ci</div>
1829e5c31af7Sopenharmony_ci<div class="ulist">
1830e5c31af7Sopenharmony_ci<ul>
1831e5c31af7Sopenharmony_ci<li>
1832e5c31af7Sopenharmony_ci<p><code>sType</code> on enim praesent elementum facilisis.</p>
1833e5c31af7Sopenharmony_ci</li>
1834e5c31af7Sopenharmony_ci<li>
1835e5c31af7Sopenharmony_ci<p><code>pNext</code> Ultricies tristique <code>NULL</code> nulla aliquet enim tortor.</p>
1836e5c31af7Sopenharmony_ci</li>
1837e5c31af7Sopenharmony_ci<li>
1838e5c31af7Sopenharmony_ci<p><code>flags</code> Volutpat ac tincidunt vitae semper.</p>
1839e5c31af7Sopenharmony_ci</li>
1840e5c31af7Sopenharmony_ci<li>
1841e5c31af7Sopenharmony_ci<p><code>dstImage</code> Orci eu lobortis elementum nibh.</p>
1842e5c31af7Sopenharmony_ci</li>
1843e5c31af7Sopenharmony_ci<li>
1844e5c31af7Sopenharmony_ci<p><code>dstImageLayout</code> Euismod elementum nisi quis eleifend quam adipiscing vitae proin.</p>
1845e5c31af7Sopenharmony_ci</li>
1846e5c31af7Sopenharmony_ci<li>
1847e5c31af7Sopenharmony_ci<p><code>regionCount</code> Et netus et malesuada fames ac turpis egestas.</p>
1848e5c31af7Sopenharmony_ci</li>
1849e5c31af7Sopenharmony_ci<li>
1850e5c31af7Sopenharmony_ci<p><code>pRegions</code> Lorem ipsum dolor sitr <a href="#VkMemoryToImageCopyEXT">VkMemoryToImageCopyEXT</a> amet consectetu.</p>
1851e5c31af7Sopenharmony_ci</li>
1852e5c31af7Sopenharmony_ci</ul>
1853e5c31af7Sopenharmony_ci</div>
1854e5c31af7Sopenharmony_ci<div class="paragraph">
1855e5c31af7Sopenharmony_ci<p><code>vkCopyMemoryToImageEXT</code> pulvinar neque laoreet suspendisse interdum
1856e5c31af7Sopenharmony_ciconsectetur libero. Id porta nibh venenatis cras sed felis. Massa vitae tortor
1857e5c31af7Sopenharmony_cicondimentum lacinia quis.</p>
1858e5c31af7Sopenharmony_ci</div>
1859e5c31af7Sopenharmony_ci<div class="sidebarblock">
1860e5c31af7Sopenharmony_ci<div class="content">
1861e5c31af7Sopenharmony_ci<div class="title">Valid Usage</div>
1862e5c31af7Sopenharmony_ci<div class="ulist">
1863e5c31af7Sopenharmony_ci<ul>
1864e5c31af7Sopenharmony_ci<li>
1865e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyMemoryToImageInfoEXT-dstImage-97966" href="#VUID-VkCopyMemoryToImageInfoEXT-dstImage-97966"></a> <span class="vuid">VUID-VkCopyMemoryToImageInfoEXT-dstImage-97966</span><br>
1866e5c31af7Sopenharmony_ci
1867e5c31af7Sopenharmony_ciIf <code>dstImage</code> is non-sparse then the image or the specified
1868e5c31af7Sopenharmony_ci<em>disjoint</em> plane <strong class="purple">must</strong> be bound completely and contiguously to a single
1869e5c31af7Sopenharmony_ci<code>VkDeviceMemory</code> object</p>
1870e5c31af7Sopenharmony_ci</li>
1871e5c31af7Sopenharmony_ci<li>
1872e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyMemoryToImageInfoEXT-imageSubresource-97967" href="#VUID-VkCopyMemoryToImageInfoEXT-imageSubresource-97967"></a> <span class="vuid">VUID-VkCopyMemoryToImageInfoEXT-imageSubresource-97967</span><br>
1873e5c31af7Sopenharmony_ci
1874e5c31af7Sopenharmony_ciThe <code>imageSubresource.mipLevel</code> member of each element of
1875e5c31af7Sopenharmony_ci<code>pRegions</code> <strong class="purple">must</strong> be less than the <code>mipLevels</code> specified in
1876e5c31af7Sopenharmony_ci<a href="#VkImageCreateInfo">VkImageCreateInfo</a> when <code>dstImage</code> was created</p>
1877e5c31af7Sopenharmony_ci</li>
1878e5c31af7Sopenharmony_ci<li>
1879e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyMemoryToImageInfoEXT-imageSubresource-97968" href="#VUID-VkCopyMemoryToImageInfoEXT-imageSubresource-97968"></a> <span class="vuid">VUID-VkCopyMemoryToImageInfoEXT-imageSubresource-97968</span><br>
1880e5c31af7Sopenharmony_ci
1881e5c31af7Sopenharmony_ciThe <span class="eq"><code>imageSubresource.baseArrayLayer</code> + 
1882e5c31af7Sopenharmony_ci<code>imageSubresource.layerCount</code></span> of each element of <code>pRegions</code>
1883e5c31af7Sopenharmony_ci<strong class="purple">must</strong> be less than or equal to the <code>arrayLayers</code> specified in
1884e5c31af7Sopenharmony_ci<a href="#VkImageCreateInfo">VkImageCreateInfo</a> when <code>dstImage</code> was created</p>
1885e5c31af7Sopenharmony_ci</li>
1886e5c31af7Sopenharmony_ci<li>
1887e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyMemoryToImageInfoEXT-dstImageLayout-99059" href="#VUID-VkCopyMemoryToImageInfoEXT-dstImageLayout-99059"></a> <span class="vuid">VUID-VkCopyMemoryToImageInfoEXT-dstImageLayout-99059</span><br>
1888e5c31af7Sopenharmony_ci
1889e5c31af7Sopenharmony_ci<code>dstImageLayout</code> <strong class="purple">must</strong> Lorem ipsum dolor sit amet, <code>dstImage</code>
1890e5c31af7Sopenharmony_ciconsectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore
1891e5c31af7Sopenharmony_ci<code>pRegions</code> et dolore magna aliqua</p>
1892e5c31af7Sopenharmony_ci</li>
1893e5c31af7Sopenharmony_ci</ul>
1894e5c31af7Sopenharmony_ci</div>
1895e5c31af7Sopenharmony_ci</div>
1896e5c31af7Sopenharmony_ci</div>
1897e5c31af7Sopenharmony_ci<div class="sidebarblock">
1898e5c31af7Sopenharmony_ci<div class="content">
1899e5c31af7Sopenharmony_ci<div class="title">Valid Usage (Implicit)</div>
1900e5c31af7Sopenharmony_ci<div class="ulist">
1901e5c31af7Sopenharmony_ci<ul>
1902e5c31af7Sopenharmony_ci<li>
1903e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyMemoryToImageInfoEXT-sType-sType" href="#VUID-VkCopyMemoryToImageInfoEXT-sType-sType"></a> <span class="vuid">VUID-VkCopyMemoryToImageInfoEXT-sType-sType</span><br>
1904e5c31af7Sopenharmony_ci <code>sType</code> <strong class="purple">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT</code></p>
1905e5c31af7Sopenharmony_ci</li>
1906e5c31af7Sopenharmony_ci<li>
1907e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyMemoryToImageInfoEXT-pNext-pNext" href="#VUID-VkCopyMemoryToImageInfoEXT-pNext-pNext"></a> <span class="vuid">VUID-VkCopyMemoryToImageInfoEXT-pNext-pNext</span><br>
1908e5c31af7Sopenharmony_ci <code>pNext</code> <strong class="purple">must</strong> be <code>NULL</code></p>
1909e5c31af7Sopenharmony_ci</li>
1910e5c31af7Sopenharmony_ci<li>
1911e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyMemoryToImageInfoEXT-flags-parameter" href="#VUID-VkCopyMemoryToImageInfoEXT-flags-parameter"></a> <span class="vuid">VUID-VkCopyMemoryToImageInfoEXT-flags-parameter</span><br>
1912e5c31af7Sopenharmony_ci <code>flags</code> <strong class="purple">must</strong> be a valid combination of <a href="#VkHostImageCopyFlagBitsEXT">VkHostImageCopyFlagBitsEXT</a> values</p>
1913e5c31af7Sopenharmony_ci</li>
1914e5c31af7Sopenharmony_ci<li>
1915e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyMemoryToImageInfoEXT-dstImage-parameter" href="#VUID-VkCopyMemoryToImageInfoEXT-dstImage-parameter"></a> <span class="vuid">VUID-VkCopyMemoryToImageInfoEXT-dstImage-parameter</span><br>
1916e5c31af7Sopenharmony_ci <code>dstImage</code> <strong class="purple">must</strong> be a valid <a href="#VkImage">VkImage</a> handle</p>
1917e5c31af7Sopenharmony_ci</li>
1918e5c31af7Sopenharmony_ci<li>
1919e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyMemoryToImageInfoEXT-dstImageLayout-parameter" href="#VUID-VkCopyMemoryToImageInfoEXT-dstImageLayout-parameter"></a> <span class="vuid">VUID-VkCopyMemoryToImageInfoEXT-dstImageLayout-parameter</span><br>
1920e5c31af7Sopenharmony_ci <code>dstImageLayout</code> <strong class="purple">must</strong> be a valid <a href="#VkImageLayout">VkImageLayout</a> value</p>
1921e5c31af7Sopenharmony_ci</li>
1922e5c31af7Sopenharmony_ci<li>
1923e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyMemoryToImageInfoEXT-pRegions-parameter" href="#VUID-VkCopyMemoryToImageInfoEXT-pRegions-parameter"></a> <span class="vuid">VUID-VkCopyMemoryToImageInfoEXT-pRegions-parameter</span><br>
1924e5c31af7Sopenharmony_ci <code>pRegions</code> <strong class="purple">must</strong> be a valid pointer to an array of <code>regionCount</code> valid <a href="#VkMemoryToImageCopyEXT">VkMemoryToImageCopyEXT</a> structures</p>
1925e5c31af7Sopenharmony_ci</li>
1926e5c31af7Sopenharmony_ci<li>
1927e5c31af7Sopenharmony_ci<p><a id="VUID-VkCopyMemoryToImageInfoEXT-regionCount-arraylength" href="#VUID-VkCopyMemoryToImageInfoEXT-regionCount-arraylength"></a> <span class="vuid">VUID-VkCopyMemoryToImageInfoEXT-regionCount-arraylength</span><br>
1928e5c31af7Sopenharmony_ci <code>regionCount</code> <strong class="purple">must</strong> be greater than <code>0</code></p>
1929e5c31af7Sopenharmony_ci</li>
1930e5c31af7Sopenharmony_ci</ul>
1931e5c31af7Sopenharmony_ci</div>
1932e5c31af7Sopenharmony_ci</div>
1933e5c31af7Sopenharmony_ci</div>
1934e5c31af7Sopenharmony_ci</div>
1935e5c31af7Sopenharmony_ci</div>
1936e5c31af7Sopenharmony_ci<div class="openblock">
1937e5c31af7Sopenharmony_ci<div class="content">
1938e5c31af7Sopenharmony_ci<div class="paragraph">
1939e5c31af7Sopenharmony_ci<p>Congue eu consequat ac felis donec et odio. Enim nec
1940e5c31af7Sopenharmony_ci<a href="#VkCopyMemoryToImageInfoEXT">VkCopyMemoryToImageInfoEXT</a>::<code>pRegions</code> dui nunc mattis enim:</p>
1941e5c31af7Sopenharmony_ci</div>
1942e5c31af7Sopenharmony_ci<div id="VkMemoryToImageCopyEXT" class="listingblock">
1943e5c31af7Sopenharmony_ci<div class="content">
1944e5c31af7Sopenharmony_ci<pre class="rouge highlight"><code data-lang="c++"><span class="c1">// Provided by VK_EXT_host_image_copy</span>
1945e5c31af7Sopenharmony_ci<span class="k">typedef</span> <span class="k">struct</span> <span class="nc">VkMemoryToImageCopyEXT</span> <span class="p">{</span>
1946e5c31af7Sopenharmony_ci    <span class="n">VkStructureType</span>             <span class="n">sType</span><span class="p">;</span>
1947e5c31af7Sopenharmony_ci    <span class="k">const</span> <span class="kt">void</span><span class="o">*</span>                 <span class="n">pNext</span><span class="p">;</span>
1948e5c31af7Sopenharmony_ci    <span class="k">const</span> <span class="kt">void</span><span class="o">*</span>                 <span class="n">pHostPointer</span><span class="p">;</span>
1949e5c31af7Sopenharmony_ci    <span class="kt">uint32_t</span>                    <span class="n">memoryRowLength</span><span class="p">;</span>
1950e5c31af7Sopenharmony_ci    <span class="kt">uint32_t</span>                    <span class="n">memoryImageHeight</span><span class="p">;</span>
1951e5c31af7Sopenharmony_ci    <span class="n">VkImageSubresourceLayers</span>    <span class="n">imageSubresource</span><span class="p">;</span>
1952e5c31af7Sopenharmony_ci    <span class="n">VkOffset3D</span>                  <span class="n">imageOffset</span><span class="p">;</span>
1953e5c31af7Sopenharmony_ci    <span class="n">VkExtent3D</span>                  <span class="n">imageExtent</span><span class="p">;</span>
1954e5c31af7Sopenharmony_ci<span class="p">}</span> <span class="n">VkMemoryToImageCopyEXT</span><span class="p">;</span></code></pre>
1955e5c31af7Sopenharmony_ci</div>
1956e5c31af7Sopenharmony_ci</div>
1957e5c31af7Sopenharmony_ci<div class="ulist">
1958e5c31af7Sopenharmony_ci<ul>
1959e5c31af7Sopenharmony_ci<li>
1960e5c31af7Sopenharmony_ci<p><code>sType</code> Nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum.</p>
1961e5c31af7Sopenharmony_ci</li>
1962e5c31af7Sopenharmony_ci<li>
1963e5c31af7Sopenharmony_ci<p><code>pNext</code> Nam libero justo laoreet sit amet.</p>
1964e5c31af7Sopenharmony_ci</li>
1965e5c31af7Sopenharmony_ci<li>
1966e5c31af7Sopenharmony_ci<p><code>pHostPointer</code> Lacus luctus accumsan tortor posuere.</p>
1967e5c31af7Sopenharmony_ci</li>
1968e5c31af7Sopenharmony_ci<li>
1969e5c31af7Sopenharmony_ci<p><code>memoryRowLength</code> and <code>memoryImageHeight</code> Ultrices tincidunt arcu
1970e5c31af7Sopenharmony_cinon sodales. Ut enim blandit volutpat maecenas volutpat blandit aliquam
1971e5c31af7Sopenharmony_cietiam <code>imageExtent</code>.</p>
1972e5c31af7Sopenharmony_ci</li>
1973e5c31af7Sopenharmony_ci<li>
1974e5c31af7Sopenharmony_ci<p><code>imageSubresource</code> Sed id semper risus in. Natoque penatibus et magnis dis parturient montes.</p>
1975e5c31af7Sopenharmony_ci</li>
1976e5c31af7Sopenharmony_ci<li>
1977e5c31af7Sopenharmony_ci<p><code>imageOffset</code> Vestibulum morbi blandit cursus <code>x</code>, <code>y</code>, <code>z</code>
1978e5c31af7Sopenharmony_cirisus at ultrices mi tempus imperdiet.</p>
1979e5c31af7Sopenharmony_ci</li>
1980e5c31af7Sopenharmony_ci<li>
1981e5c31af7Sopenharmony_ci<p><code>imageExtent</code> Dignissim cras tincidunt lobortis feugiat vivamus at
1982e5c31af7Sopenharmony_ci<code>width</code>, <code>height</code> and <code>depth</code> augue eget arcu.</p>
1983e5c31af7Sopenharmony_ci</li>
1984e5c31af7Sopenharmony_ci</ul>
1985e5c31af7Sopenharmony_ci</div>
1986e5c31af7Sopenharmony_ci<div class="paragraph">
1987e5c31af7Sopenharmony_ci<p>Ultricies mi eget mauris pharetra. Ac turpis <a href="#VkBufferImageCopy2">VkBufferImageCopy2</a> egestas
1988e5c31af7Sopenharmony_cimaecenas pharetra convallis posuere morbi leo urna. Cras sed felis eget velit
1989e5c31af7Sopenharmony_cialiquet. Sit amet mauris commodo quis imperdiet. Malesuada pellentesque elit
1990e5c31af7Sopenharmony_cieget gravida cum sociis natoque. Faucibus pulvinar elementum integer enim neque
1991e5c31af7Sopenharmony_civolutpat ac tincidunt vitae</p>
1992e5c31af7Sopenharmony_ci</div>
1993e5c31af7Sopenharmony_ci<div class="sidebarblock">
1994e5c31af7Sopenharmony_ci<div class="content">
1995e5c31af7Sopenharmony_ci<div class="title">Valid Usage</div>
1996e5c31af7Sopenharmony_ci<div class="ulist">
1997e5c31af7Sopenharmony_ci<ul>
1998e5c31af7Sopenharmony_ci<li>
1999e5c31af7Sopenharmony_ci<p><a id="VUID-VkMemoryToImageCopyEXT-pHostPointer-99061" href="#VUID-VkMemoryToImageCopyEXT-pHostPointer-99061"></a> <span class="vuid">VUID-VkMemoryToImageCopyEXT-pHostPointer-99061</span><br>
2000e5c31af7Sopenharmony_ci
2001e5c31af7Sopenharmony_ci<code>pHostPointer</code> <strong class="purple">must</strong> Nisl condimentum id venenatis a condimentum vitae</p>
2002e5c31af7Sopenharmony_ci</li>
2003e5c31af7Sopenharmony_ci</ul>
2004e5c31af7Sopenharmony_ci</div>
2005e5c31af7Sopenharmony_ci<div class="ulist">
2006e5c31af7Sopenharmony_ci<ul>
2007e5c31af7Sopenharmony_ci<li>
2008e5c31af7Sopenharmony_ci<p><a id="VUID-VkMemoryToImageCopyEXT-memoryRowLength-99101" href="#VUID-VkMemoryToImageCopyEXT-memoryRowLength-99101"></a> <span class="vuid">VUID-VkMemoryToImageCopyEXT-memoryRowLength-99101</span><br>
2009e5c31af7Sopenharmony_ci
2010e5c31af7Sopenharmony_ci<code>memoryRowLength</code> <strong class="purple">must</strong> be <code>0</code>, or greater than or equal to the
2011e5c31af7Sopenharmony_ci<code>width</code> member of <code>imageExtent</code></p>
2012e5c31af7Sopenharmony_ci</li>
2013e5c31af7Sopenharmony_ci<li>
2014e5c31af7Sopenharmony_ci<p><a id="VUID-VkMemoryToImageCopyEXT-memoryImageHeight-99102" href="#VUID-VkMemoryToImageCopyEXT-memoryImageHeight-99102"></a> <span class="vuid">VUID-VkMemoryToImageCopyEXT-memoryImageHeight-99102</span><br>
2015e5c31af7Sopenharmony_ci
2016e5c31af7Sopenharmony_ci<code>memoryImageHeight</code> <strong class="purple">must</strong> be <code>0</code>, or greater than or equal to the
2017e5c31af7Sopenharmony_ci<code>height</code> member of <code>imageExtent</code></p>
2018e5c31af7Sopenharmony_ci</li>
2019e5c31af7Sopenharmony_ci<li>
2020e5c31af7Sopenharmony_ci<p><a id="VUID-VkMemoryToImageCopyEXT-aspectMask-99103" href="#VUID-VkMemoryToImageCopyEXT-aspectMask-99103"></a> <span class="vuid">VUID-VkMemoryToImageCopyEXT-aspectMask-99103</span><br>
2021e5c31af7Sopenharmony_ci
2022e5c31af7Sopenharmony_ciThe <code>aspectMask</code> member of <code>imageSubresource</code> <strong class="purple">must</strong> only have a
2023e5c31af7Sopenharmony_cisingle bit set</p>
2024e5c31af7Sopenharmony_ci</li>
2025e5c31af7Sopenharmony_ci<li>
2026e5c31af7Sopenharmony_ci<p><a id="VUID-VkMemoryToImageCopyEXT-imageExtent-96659" href="#VUID-VkMemoryToImageCopyEXT-imageExtent-96659"></a> <span class="vuid">VUID-VkMemoryToImageCopyEXT-imageExtent-96659</span><br>
2027e5c31af7Sopenharmony_ci
2028e5c31af7Sopenharmony_ci<code>imageExtent.width</code> <strong class="purple">must</strong> not be 0</p>
2029e5c31af7Sopenharmony_ci</li>
2030e5c31af7Sopenharmony_ci<li>
2031e5c31af7Sopenharmony_ci<p><a id="VUID-VkMemoryToImageCopyEXT-imageExtent-96660" href="#VUID-VkMemoryToImageCopyEXT-imageExtent-96660"></a> <span class="vuid">VUID-VkMemoryToImageCopyEXT-imageExtent-96660</span><br>
2032e5c31af7Sopenharmony_ci
2033e5c31af7Sopenharmony_ci<code>imageExtent.height</code> <strong class="purple">must</strong> not be 0</p>
2034e5c31af7Sopenharmony_ci</li>
2035e5c31af7Sopenharmony_ci<li>
2036e5c31af7Sopenharmony_ci<p><a id="VUID-VkMemoryToImageCopyEXT-imageExtent-96661" href="#VUID-VkMemoryToImageCopyEXT-imageExtent-96661"></a> <span class="vuid">VUID-VkMemoryToImageCopyEXT-imageExtent-96661</span><br>
2037e5c31af7Sopenharmony_ci
2038e5c31af7Sopenharmony_ci<code>imageExtent.depth</code> <strong class="purple">must</strong> not be 0</p>
2039e5c31af7Sopenharmony_ci</li>
2040e5c31af7Sopenharmony_ci</ul>
2041e5c31af7Sopenharmony_ci</div>
2042e5c31af7Sopenharmony_ci</div>
2043e5c31af7Sopenharmony_ci</div>
2044e5c31af7Sopenharmony_ci<div class="sidebarblock">
2045e5c31af7Sopenharmony_ci<div class="content">
2046e5c31af7Sopenharmony_ci<div class="title">Valid Usage (Implicit)</div>
2047e5c31af7Sopenharmony_ci<div class="ulist">
2048e5c31af7Sopenharmony_ci<ul>
2049e5c31af7Sopenharmony_ci<li>
2050e5c31af7Sopenharmony_ci<p><a id="VUID-VkMemoryToImageCopyEXT-sType-sType" href="#VUID-VkMemoryToImageCopyEXT-sType-sType"></a> <span class="vuid">VUID-VkMemoryToImageCopyEXT-sType-sType</span><br>
2051e5c31af7Sopenharmony_ci <code>sType</code> <strong class="purple">must</strong> be <code>VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT</code></p>
2052e5c31af7Sopenharmony_ci</li>
2053e5c31af7Sopenharmony_ci<li>
2054e5c31af7Sopenharmony_ci<p><a id="VUID-VkMemoryToImageCopyEXT-pNext-pNext" href="#VUID-VkMemoryToImageCopyEXT-pNext-pNext"></a> <span class="vuid">VUID-VkMemoryToImageCopyEXT-pNext-pNext</span><br>
2055e5c31af7Sopenharmony_ci <code>pNext</code> <strong class="purple">must</strong> be <code>NULL</code></p>
2056e5c31af7Sopenharmony_ci</li>
2057e5c31af7Sopenharmony_ci<li>
2058e5c31af7Sopenharmony_ci<p><a id="VUID-VkMemoryToImageCopyEXT-pHostPointer-parameter" href="#VUID-VkMemoryToImageCopyEXT-pHostPointer-parameter"></a> <span class="vuid">VUID-VkMemoryToImageCopyEXT-pHostPointer-parameter</span><br>
2059e5c31af7Sopenharmony_ci <code>pHostPointer</code> <strong class="purple">must</strong> be a pointer value</p>
2060e5c31af7Sopenharmony_ci</li>
2061e5c31af7Sopenharmony_ci<li>
2062e5c31af7Sopenharmony_ci<p><a id="VUID-VkMemoryToImageCopyEXT-imageSubresource-parameter" href="#VUID-VkMemoryToImageCopyEXT-imageSubresource-parameter"></a> <span class="vuid">VUID-VkMemoryToImageCopyEXT-imageSubresource-parameter</span><br>
2063e5c31af7Sopenharmony_ci <code>imageSubresource</code> <strong class="purple">must</strong> be a valid <a href="#VkImageSubresourceLayers">VkImageSubresourceLayers</a> structure</p>
2064e5c31af7Sopenharmony_ci</li>
2065e5c31af7Sopenharmony_ci</ul>
2066e5c31af7Sopenharmony_ci</div>
2067e5c31af7Sopenharmony_ci</div>
2068e5c31af7Sopenharmony_ci</div>
2069e5c31af7Sopenharmony_ci</div>
2070e5c31af7Sopenharmony_ci</div>
2071e5c31af7Sopenharmony_ci</div>
2072e5c31af7Sopenharmony_ci</div>
2073e5c31af7Sopenharmony_ci<div class="sect1">
2074e5c31af7Sopenharmony_ci<h2 id="extensions"><a class="anchor" href="#extensions"></a>Layers &amp; Extensions (Informative)</h2>
2075e5c31af7Sopenharmony_ci<div class="sectionbody">
2076e5c31af7Sopenharmony_ci<div class="paragraph">
2077e5c31af7Sopenharmony_ci<p>Cursus euismod quis viverra nibh cras pulvinar.</p>
2078e5c31af7Sopenharmony_ci</div>
2079e5c31af7Sopenharmony_ci<div class="sect2">
2080e5c31af7Sopenharmony_ci<h3 id="_extension_dependencies"><a class="anchor" href="#_extension_dependencies"></a>Extension Dependencies</h3>
2081e5c31af7Sopenharmony_ci<div class="paragraph">
2082e5c31af7Sopenharmony_ci<p>Id diam vel quam elementum</p>
2083e5c31af7Sopenharmony_ci</div>
2084e5c31af7Sopenharmony_ci<div class="sect3">
2085e5c31af7Sopenharmony_ci<h4 id="VK_EXT_host_image_copy"><a class="anchor" href="#VK_EXT_host_image_copy"></a>VK_EXT_host_image_copy</h4>
2086e5c31af7Sopenharmony_ci<div class="dlist">
2087e5c31af7Sopenharmony_ci<dl>
2088e5c31af7Sopenharmony_ci<dt class="hdlist1"><strong>Name String</strong></dt>
2089e5c31af7Sopenharmony_ci<dd>
2090e5c31af7Sopenharmony_ci<p><code>VK_EXT_host_image_copy</code></p>
2091e5c31af7Sopenharmony_ci</dd>
2092e5c31af7Sopenharmony_ci<dt class="hdlist1"><strong>Extension Type</strong></dt>
2093e5c31af7Sopenharmony_ci<dd>
2094e5c31af7Sopenharmony_ci<p>Device extension</p>
2095e5c31af7Sopenharmony_ci</dd>
2096e5c31af7Sopenharmony_ci<dt class="hdlist1"><strong>Registered Extension Number</strong></dt>
2097e5c31af7Sopenharmony_ci<dd>
2098e5c31af7Sopenharmony_ci<p>271</p>
2099e5c31af7Sopenharmony_ci</dd>
2100e5c31af7Sopenharmony_ci<dt class="hdlist1"><strong>Revision</strong></dt>
2101e5c31af7Sopenharmony_ci<dd>
2102e5c31af7Sopenharmony_ci<p>1</p>
2103e5c31af7Sopenharmony_ci</dd>
2104e5c31af7Sopenharmony_ci<dt class="hdlist1"><strong>Ratification Status</strong></dt>
2105e5c31af7Sopenharmony_ci<dd>
2106e5c31af7Sopenharmony_ci<p>Ratified</p>
2107e5c31af7Sopenharmony_ci</dd>
2108e5c31af7Sopenharmony_ci<dt class="hdlist1"><strong>Extension and Version Dependencies</strong></dt>
2109e5c31af7Sopenharmony_ci<dd>
2110e5c31af7Sopenharmony_ci<div class="openblock">
2111e5c31af7Sopenharmony_ci<div class="content">
2112e5c31af7Sopenharmony_ci<div class="paragraph">
2113e5c31af7Sopenharmony_ci<p><a href="#VK_KHR_get_physical_device_properties2">VK_KHR_get_physical_device_properties2</a><br>
2114e5c31af7Sopenharmony_ciand<br>
2115e5c31af7Sopenharmony_ci<a href="#VK_KHR_copy_commands2">VK_KHR_copy_commands2</a><br>
2116e5c31af7Sopenharmony_ciand<br>
2117e5c31af7Sopenharmony_ci<a href="#VK_KHR_format_feature_flags2">VK_KHR_format_feature_flags2</a><br></p>
2118e5c31af7Sopenharmony_ci</div>
2119e5c31af7Sopenharmony_ci</div>
2120e5c31af7Sopenharmony_ci</div>
2121e5c31af7Sopenharmony_ci</dd>
2122e5c31af7Sopenharmony_ci<dt class="hdlist1"><strong>Contact</strong></dt>
2123e5c31af7Sopenharmony_ci<dd>
2124e5c31af7Sopenharmony_ci<div class="ulist">
2125e5c31af7Sopenharmony_ci<ul>
2126e5c31af7Sopenharmony_ci<li>
2127e5c31af7Sopenharmony_ci<p>Shahbaz Youssefi <a href="https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_host_image_copy] @syoussefi%0A*Here describe the issue or question you have about the VK_EXT_host_image_copy extension*" target="_blank" rel="nofollow noopener"><span class="icon black"><i class="fa fa-github"></i></span>syoussefi</a></p>
2128e5c31af7Sopenharmony_ci</li>
2129e5c31af7Sopenharmony_ci</ul>
2130e5c31af7Sopenharmony_ci</div>
2131e5c31af7Sopenharmony_ci</dd>
2132e5c31af7Sopenharmony_ci<dt class="hdlist1"><strong>Extension Proposal</strong></dt>
2133e5c31af7Sopenharmony_ci<dd>
2134e5c31af7Sopenharmony_ci<p><a href="https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_EXT_host_image_copy.adoc">VK_EXT_host_image_copy</a></p>
2135e5c31af7Sopenharmony_ci</dd>
2136e5c31af7Sopenharmony_ci</dl>
2137e5c31af7Sopenharmony_ci</div>
2138e5c31af7Sopenharmony_ci</div>
2139e5c31af7Sopenharmony_ci<div class="sect3">
2140e5c31af7Sopenharmony_ci<h4 id="_other_extension_metadata"><a class="anchor" href="#_other_extension_metadata"></a>Other Extension Metadata</h4>
2141e5c31af7Sopenharmony_ci<div class="dlist">
2142e5c31af7Sopenharmony_ci<dl>
2143e5c31af7Sopenharmony_ci<dt class="hdlist1"><strong>Last Modified Date</strong></dt>
2144e5c31af7Sopenharmony_ci<dd>
2145e5c31af7Sopenharmony_ci<p>2186-02-28</p>
2146e5c31af7Sopenharmony_ci</dd>
2147e5c31af7Sopenharmony_ci<dt class="hdlist1"><strong>Contributors</strong></dt>
2148e5c31af7Sopenharmony_ci<dd>
2149e5c31af7Sopenharmony_ci<div class="ulist">
2150e5c31af7Sopenharmony_ci<ul>
2151e5c31af7Sopenharmony_ci<li>
2152e5c31af7Sopenharmony_ci<p>Zabhash Ifessouy, Elgoog</p>
2153e5c31af7Sopenharmony_ci</li>
2154e5c31af7Sopenharmony_ci<li>
2155e5c31af7Sopenharmony_ci<p>Htiaf Dnartske, Aroballoc</p>
2156e5c31af7Sopenharmony_ci</li>
2157e5c31af7Sopenharmony_ci<li>
2158e5c31af7Sopenharmony_ci<p>Sreip Lleinad, AIDIVN</p>
2159e5c31af7Sopenharmony_ci</li>
2160e5c31af7Sopenharmony_ci</ul>
2161e5c31af7Sopenharmony_ci</div>
2162e5c31af7Sopenharmony_ci</dd>
2163e5c31af7Sopenharmony_ci</dl>
2164e5c31af7Sopenharmony_ci</div>
2165e5c31af7Sopenharmony_ci</div>
2166e5c31af7Sopenharmony_ci<div class="sect3">
2167e5c31af7Sopenharmony_ci<h4 id="_description"><a class="anchor" href="#_description"></a>Description</h4>
2168e5c31af7Sopenharmony_ci<div class="paragraph">
2169e5c31af7Sopenharmony_ci<p>Sed risus pretium quam vulputate dignissim suspendisse in est ante. Mauris
2170e5c31af7Sopenharmony_cicommodo quis imperdiet massa tincidunt nunc pulvinar. Odio morbi quis commodo
2171e5c31af7Sopenharmony_ciodio aenean sed. Quam adipiscing vitae proin sagittis nisl rhoncus. Vel
2172e5c31af7Sopenharmony_cifacilisis volutpat est velit egestas dui. Consequat id porta nibh venenatis
2173e5c31af7Sopenharmony_cicras sed felis. Ac tortor dignissim convallis aenean et tortor. Amet porttitor
2174e5c31af7Sopenharmony_cieget dolor morbi non arcu. Consequat interdum varius sit amet. Tempus egestas
2175e5c31af7Sopenharmony_cised sed risus pretium quam. Gravida in fermentum et sollicitudin ac orci
2176e5c31af7Sopenharmony_ciphasellus egestas. Nulla facilisi etiam dignissim diam quis enim lobortis
2177e5c31af7Sopenharmony_ciscelerisque fermentum. Tempus quam pellentesque nec nam aliquam. A pellentesque
2178e5c31af7Sopenharmony_cisit amet porttitor eget. Viverra justo nec ultrices dui sapien eget mi. Nullam
2179e5c31af7Sopenharmony_civehicula ipsum a arcu. Amet volutpat consequat mauris nunc congue nisi.
2180e5c31af7Sopenharmony_ciTincidunt arcu non sodales neque.</p>
2181e5c31af7Sopenharmony_ci</div>
2182e5c31af7Sopenharmony_ci</div>
2183e5c31af7Sopenharmony_ci<div class="sect3">
2184e5c31af7Sopenharmony_ci<h4 id="_new_commands"><a class="anchor" href="#_new_commands"></a>New Commands</h4>
2185e5c31af7Sopenharmony_ci<div class="ulist">
2186e5c31af7Sopenharmony_ci<ul>
2187e5c31af7Sopenharmony_ci<li>
2188e5c31af7Sopenharmony_ci<p><a href="#vkCopyImageToImageEXT">vkCopyImageToImageEXT</a></p>
2189e5c31af7Sopenharmony_ci</li>
2190e5c31af7Sopenharmony_ci<li>
2191e5c31af7Sopenharmony_ci<p><a href="#vkCopyImageToMemoryEXT">vkCopyImageToMemoryEXT</a></p>
2192e5c31af7Sopenharmony_ci</li>
2193e5c31af7Sopenharmony_ci<li>
2194e5c31af7Sopenharmony_ci<p><a href="#vkCopyMemoryToImageEXT">vkCopyMemoryToImageEXT</a></p>
2195e5c31af7Sopenharmony_ci</li>
2196e5c31af7Sopenharmony_ci<li>
2197e5c31af7Sopenharmony_ci<p><a href="#vkGetImageSubresourceLayout2EXT">vkGetImageSubresourceLayout2EXT</a></p>
2198e5c31af7Sopenharmony_ci</li>
2199e5c31af7Sopenharmony_ci<li>
2200e5c31af7Sopenharmony_ci<p><a href="#vkTransitionImageLayoutEXT">vkTransitionImageLayoutEXT</a></p>
2201e5c31af7Sopenharmony_ci</li>
2202e5c31af7Sopenharmony_ci</ul>
2203e5c31af7Sopenharmony_ci</div>
2204e5c31af7Sopenharmony_ci</div>
2205e5c31af7Sopenharmony_ci<div class="sect3">
2206e5c31af7Sopenharmony_ci<h4 id="_new_structures"><a class="anchor" href="#_new_structures"></a>New Structures</h4>
2207e5c31af7Sopenharmony_ci<div class="ulist">
2208e5c31af7Sopenharmony_ci<ul>
2209e5c31af7Sopenharmony_ci<li>
2210e5c31af7Sopenharmony_ci<p><a href="#VkCopyImageToImageInfoEXT">VkCopyImageToImageInfoEXT</a></p>
2211e5c31af7Sopenharmony_ci</li>
2212e5c31af7Sopenharmony_ci<li>
2213e5c31af7Sopenharmony_ci<p><a href="#VkCopyImageToMemoryInfoEXT">VkCopyImageToMemoryInfoEXT</a></p>
2214e5c31af7Sopenharmony_ci</li>
2215e5c31af7Sopenharmony_ci<li>
2216e5c31af7Sopenharmony_ci<p><a href="#VkCopyMemoryToImageInfoEXT">VkCopyMemoryToImageInfoEXT</a></p>
2217e5c31af7Sopenharmony_ci</li>
2218e5c31af7Sopenharmony_ci<li>
2219e5c31af7Sopenharmony_ci<p><a href="#VkHostImageLayoutTransitionInfoEXT">VkHostImageLayoutTransitionInfoEXT</a></p>
2220e5c31af7Sopenharmony_ci</li>
2221e5c31af7Sopenharmony_ci<li>
2222e5c31af7Sopenharmony_ci<p><a href="#VkImageSubresource2EXT">VkImageSubresource2EXT</a></p>
2223e5c31af7Sopenharmony_ci</li>
2224e5c31af7Sopenharmony_ci<li>
2225e5c31af7Sopenharmony_ci<p><a href="#VkImageToMemoryCopyEXT">VkImageToMemoryCopyEXT</a></p>
2226e5c31af7Sopenharmony_ci</li>
2227e5c31af7Sopenharmony_ci<li>
2228e5c31af7Sopenharmony_ci<p><a href="#VkMemoryToImageCopyEXT">VkMemoryToImageCopyEXT</a></p>
2229e5c31af7Sopenharmony_ci</li>
2230e5c31af7Sopenharmony_ci<li>
2231e5c31af7Sopenharmony_ci<p><a href="#VkSubresourceLayout2EXT">VkSubresourceLayout2EXT</a></p>
2232e5c31af7Sopenharmony_ci</li>
2233e5c31af7Sopenharmony_ci<li>
2234e5c31af7Sopenharmony_ci<p>Extending <a href="#VkImageFormatProperties2">VkImageFormatProperties2</a>:</p>
2235e5c31af7Sopenharmony_ci<div class="ulist">
2236e5c31af7Sopenharmony_ci<ul>
2237e5c31af7Sopenharmony_ci<li>
2238e5c31af7Sopenharmony_ci<p><a href="#VkHostImageCopyDevicePerformanceQueryEXT">VkHostImageCopyDevicePerformanceQueryEXT</a></p>
2239e5c31af7Sopenharmony_ci</li>
2240e5c31af7Sopenharmony_ci</ul>
2241e5c31af7Sopenharmony_ci</div>
2242e5c31af7Sopenharmony_ci</li>
2243e5c31af7Sopenharmony_ci<li>
2244e5c31af7Sopenharmony_ci<p>Extending <a href="#VkPhysicalDeviceFeatures2">VkPhysicalDeviceFeatures2</a>, <a href="#VkDeviceCreateInfo">VkDeviceCreateInfo</a>:</p>
2245e5c31af7Sopenharmony_ci<div class="ulist">
2246e5c31af7Sopenharmony_ci<ul>
2247e5c31af7Sopenharmony_ci<li>
2248e5c31af7Sopenharmony_ci<p><a href="#VkPhysicalDeviceHostImageCopyFeaturesEXT">VkPhysicalDeviceHostImageCopyFeaturesEXT</a></p>
2249e5c31af7Sopenharmony_ci</li>
2250e5c31af7Sopenharmony_ci</ul>
2251e5c31af7Sopenharmony_ci</div>
2252e5c31af7Sopenharmony_ci</li>
2253e5c31af7Sopenharmony_ci<li>
2254e5c31af7Sopenharmony_ci<p>Extending <a href="#VkPhysicalDeviceProperties2">VkPhysicalDeviceProperties2</a>:</p>
2255e5c31af7Sopenharmony_ci<div class="ulist">
2256e5c31af7Sopenharmony_ci<ul>
2257e5c31af7Sopenharmony_ci<li>
2258e5c31af7Sopenharmony_ci<p><a href="#VkPhysicalDeviceHostImageCopyPropertiesEXT">VkPhysicalDeviceHostImageCopyPropertiesEXT</a></p>
2259e5c31af7Sopenharmony_ci</li>
2260e5c31af7Sopenharmony_ci</ul>
2261e5c31af7Sopenharmony_ci</div>
2262e5c31af7Sopenharmony_ci</li>
2263e5c31af7Sopenharmony_ci<li>
2264e5c31af7Sopenharmony_ci<p>Extending <a href="#VkSubresourceLayout2KHR">VkSubresourceLayout2KHR</a>:</p>
2265e5c31af7Sopenharmony_ci<div class="ulist">
2266e5c31af7Sopenharmony_ci<ul>
2267e5c31af7Sopenharmony_ci<li>
2268e5c31af7Sopenharmony_ci<p><a href="#VkSubresourceHostMemcpySizeEXT">VkSubresourceHostMemcpySizeEXT</a></p>
2269e5c31af7Sopenharmony_ci</li>
2270e5c31af7Sopenharmony_ci</ul>
2271e5c31af7Sopenharmony_ci</div>
2272e5c31af7Sopenharmony_ci</li>
2273e5c31af7Sopenharmony_ci</ul>
2274e5c31af7Sopenharmony_ci</div>
2275e5c31af7Sopenharmony_ci</div>
2276e5c31af7Sopenharmony_ci<div class="sect3">
2277e5c31af7Sopenharmony_ci<h4 id="_new_enums"><a class="anchor" href="#_new_enums"></a>New Enums</h4>
2278e5c31af7Sopenharmony_ci<div class="ulist">
2279e5c31af7Sopenharmony_ci<ul>
2280e5c31af7Sopenharmony_ci<li>
2281e5c31af7Sopenharmony_ci<p><a href="#VkHostImageCopyFlagBitsEXT">VkHostImageCopyFlagBitsEXT</a></p>
2282e5c31af7Sopenharmony_ci</li>
2283e5c31af7Sopenharmony_ci</ul>
2284e5c31af7Sopenharmony_ci</div>
2285e5c31af7Sopenharmony_ci</div>
2286e5c31af7Sopenharmony_ci<div class="sect3">
2287e5c31af7Sopenharmony_ci<h4 id="_new_bitmasks"><a class="anchor" href="#_new_bitmasks"></a>New Bitmasks</h4>
2288e5c31af7Sopenharmony_ci<div class="ulist">
2289e5c31af7Sopenharmony_ci<ul>
2290e5c31af7Sopenharmony_ci<li>
2291e5c31af7Sopenharmony_ci<p><a href="#VkHostImageCopyFlagsEXT">VkHostImageCopyFlagsEXT</a></p>
2292e5c31af7Sopenharmony_ci</li>
2293e5c31af7Sopenharmony_ci</ul>
2294e5c31af7Sopenharmony_ci</div>
2295e5c31af7Sopenharmony_ci</div>
2296e5c31af7Sopenharmony_ci<div class="sect3">
2297e5c31af7Sopenharmony_ci<h4 id="_new_enum_constants"><a class="anchor" href="#_new_enum_constants"></a>New Enum Constants</h4>
2298e5c31af7Sopenharmony_ci<div class="ulist">
2299e5c31af7Sopenharmony_ci<ul>
2300e5c31af7Sopenharmony_ci<li>
2301e5c31af7Sopenharmony_ci<p><code>VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME</code></p>
2302e5c31af7Sopenharmony_ci</li>
2303e5c31af7Sopenharmony_ci<li>
2304e5c31af7Sopenharmony_ci<p><code>VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION</code></p>
2305e5c31af7Sopenharmony_ci</li>
2306e5c31af7Sopenharmony_ci<li>
2307e5c31af7Sopenharmony_ci<p>Extending <a href="#VkFormatFeatureFlagBits2">VkFormatFeatureFlagBits2</a>:</p>
2308e5c31af7Sopenharmony_ci<div class="ulist">
2309e5c31af7Sopenharmony_ci<ul>
2310e5c31af7Sopenharmony_ci<li>
2311e5c31af7Sopenharmony_ci<p><code>VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT_EXT</code></p>
2312e5c31af7Sopenharmony_ci</li>
2313e5c31af7Sopenharmony_ci</ul>
2314e5c31af7Sopenharmony_ci</div>
2315e5c31af7Sopenharmony_ci</li>
2316e5c31af7Sopenharmony_ci<li>
2317e5c31af7Sopenharmony_ci<p>Extending <a href="#VkImageUsageFlagBits">VkImageUsageFlagBits</a>:</p>
2318e5c31af7Sopenharmony_ci<div class="ulist">
2319e5c31af7Sopenharmony_ci<ul>
2320e5c31af7Sopenharmony_ci<li>
2321e5c31af7Sopenharmony_ci<p><code>VK_IMAGE_USAGE_HOST_TRANSFER_BIT_EXT</code></p>
2322e5c31af7Sopenharmony_ci</li>
2323e5c31af7Sopenharmony_ci</ul>
2324e5c31af7Sopenharmony_ci</div>
2325e5c31af7Sopenharmony_ci</li>
2326e5c31af7Sopenharmony_ci<li>
2327e5c31af7Sopenharmony_ci<p>Extending <a href="#VkStructureType">VkStructureType</a>:</p>
2328e5c31af7Sopenharmony_ci<div class="ulist">
2329e5c31af7Sopenharmony_ci<ul>
2330e5c31af7Sopenharmony_ci<li>
2331e5c31af7Sopenharmony_ci<p><code>VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO_EXT</code></p>
2332e5c31af7Sopenharmony_ci</li>
2333e5c31af7Sopenharmony_ci<li>
2334e5c31af7Sopenharmony_ci<p><code>VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO_EXT</code></p>
2335e5c31af7Sopenharmony_ci</li>
2336e5c31af7Sopenharmony_ci<li>
2337e5c31af7Sopenharmony_ci<p><code>VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT</code></p>
2338e5c31af7Sopenharmony_ci</li>
2339e5c31af7Sopenharmony_ci<li>
2340e5c31af7Sopenharmony_ci<p><code>VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY_EXT</code></p>
2341e5c31af7Sopenharmony_ci</li>
2342e5c31af7Sopenharmony_ci<li>
2343e5c31af7Sopenharmony_ci<p><code>VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO_EXT</code></p>
2344e5c31af7Sopenharmony_ci</li>
2345e5c31af7Sopenharmony_ci<li>
2346e5c31af7Sopenharmony_ci<p><code>VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY_EXT</code></p>
2347e5c31af7Sopenharmony_ci</li>
2348e5c31af7Sopenharmony_ci<li>
2349e5c31af7Sopenharmony_ci<p><code>VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT</code></p>
2350e5c31af7Sopenharmony_ci</li>
2351e5c31af7Sopenharmony_ci<li>
2352e5c31af7Sopenharmony_ci<p><code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES_EXT</code></p>
2353e5c31af7Sopenharmony_ci</li>
2354e5c31af7Sopenharmony_ci<li>
2355e5c31af7Sopenharmony_ci<p><code>VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES_EXT</code></p>
2356e5c31af7Sopenharmony_ci</li>
2357e5c31af7Sopenharmony_ci<li>
2358e5c31af7Sopenharmony_ci<p><code>VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE_EXT</code></p>
2359e5c31af7Sopenharmony_ci</li>
2360e5c31af7Sopenharmony_ci</ul>
2361e5c31af7Sopenharmony_ci</div>
2362e5c31af7Sopenharmony_ci</li>
2363e5c31af7Sopenharmony_ci</ul>
2364e5c31af7Sopenharmony_ci</div>
2365e5c31af7Sopenharmony_ci</div>
2366e5c31af7Sopenharmony_ci<div class="sect3">
2367e5c31af7Sopenharmony_ci<h4 id="_issues"><a class="anchor" href="#_issues"></a>Issues</h4>
2368e5c31af7Sopenharmony_ci<div class="paragraph">
2369e5c31af7Sopenharmony_ci<p>1) Natoque penatibus et magnis dis parturient montes nascetur.</p>
2370e5c31af7Sopenharmony_ci</div>
2371e5c31af7Sopenharmony_ci<div class="paragraph">
2372e5c31af7Sopenharmony_ci<p><strong>RESOLVED</strong>: Iaculis eu non diam phasellus vestibulum. Consequat nisl vel
2373e5c31af7Sopenharmony_cipretium lectus quam. Euismod in pellentesque massa placerat duis ultricies
2374e5c31af7Sopenharmony_cilacus sed turpis. Ullamcorper eget nulla facilisi etiam dignissim diam quis
2375e5c31af7Sopenharmony_cienim. Id velit ut tortor pretium viverra suspendisse potenti.</p>
2376e5c31af7Sopenharmony_ci</div>
2377e5c31af7Sopenharmony_ci<div class="paragraph">
2378e5c31af7Sopenharmony_ci<p>2) Faucibus in ornare quam viverra orci sagittis eu volutpat?</p>
2379e5c31af7Sopenharmony_ci</div>
2380e5c31af7Sopenharmony_ci<div class="paragraph">
2381e5c31af7Sopenharmony_ci<p><strong>RESOLVED</strong>: Eu facilisis sed odio morbi quis commodo. Pharetra magna ac
2382e5c31af7Sopenharmony_ciplacerat vestibulum lectus mauris. Ac felis donec et odio pellentesque diam
2383e5c31af7Sopenharmony_civolutpat commodo sed.</p>
2384e5c31af7Sopenharmony_ci</div>
2385e5c31af7Sopenharmony_ci</div>
2386e5c31af7Sopenharmony_ci<div class="sect3">
2387e5c31af7Sopenharmony_ci<h4 id="_version_history"><a class="anchor" href="#_version_history"></a>Version History</h4>
2388e5c31af7Sopenharmony_ci<div class="ulist">
2389e5c31af7Sopenharmony_ci<ul>
2390e5c31af7Sopenharmony_ci<li>
2391e5c31af7Sopenharmony_ci<p>Revision 0, 2173-05-30 (Htiaf Dnartske)</p>
2392e5c31af7Sopenharmony_ci<div class="ulist">
2393e5c31af7Sopenharmony_ci<ul>
2394e5c31af7Sopenharmony_ci<li>
2395e5c31af7Sopenharmony_ci<p>Malesuada pellentesque elit eget gravida cum sociis natoque</p>
2396e5c31af7Sopenharmony_ci</li>
2397e5c31af7Sopenharmony_ci</ul>
2398e5c31af7Sopenharmony_ci</div>
2399e5c31af7Sopenharmony_ci</li>
2400e5c31af7Sopenharmony_ci<li>
2401e5c31af7Sopenharmony_ci<p>Revision 1, 2185-12-01 (Zabhash Ifessouy)</p>
2402e5c31af7Sopenharmony_ci<div class="ulist">
2403e5c31af7Sopenharmony_ci<ul>
2404e5c31af7Sopenharmony_ci<li>
2405e5c31af7Sopenharmony_ci<p>Id leo in vitae turpis massa sed elementum</p>
2406e5c31af7Sopenharmony_ci</li>
2407e5c31af7Sopenharmony_ci</ul>
2408e5c31af7Sopenharmony_ci</div>
2409e5c31af7Sopenharmony_ci</li>
2410e5c31af7Sopenharmony_ci</ul>
2411e5c31af7Sopenharmony_ci</div>
2412e5c31af7Sopenharmony_ci</div>
2413e5c31af7Sopenharmony_ci</div>
2414e5c31af7Sopenharmony_ci</div>
2415e5c31af7Sopenharmony_ci</div>
2416e5c31af7Sopenharmony_ci</div>
2417e5c31af7Sopenharmony_ci<div id="footer">
2418e5c31af7Sopenharmony_ci<div id="footer-text">
2419e5c31af7Sopenharmony_ciVersion 1.2.3<br>
2420e5c31af7Sopenharmony_ci</div>
2421e5c31af7Sopenharmony_ci</div>
2422e5c31af7Sopenharmony_ci
2423e5c31af7Sopenharmony_ci
2424e5c31af7Sopenharmony_ci</body>
2425e5c31af7Sopenharmony_ci</html>