• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2  "version info": {
3    "schema version": 2,
4    "api version": "1.2.3",
5    "comment": "\"test build\"",
6    "date": "\"2100-11-22 00:33:44Z\""
7  },
8  "validation": {
9    "vkCmdCopyBufferToImage2": {
10      "core": [
11        {
12          "vuid": "VUID-vkCmdCopyBufferToImage2-commandBuffer-91828",
13          "text": "If <code>commandBuffer</code> is an unprotected command buffer and <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, <code>srcBuffer</code> <strong class=\"purple\">must</strong> not be a protected buffer",
14          "page": "vkspec"
15        },
16        {
17          "vuid": "VUID-vkCmdCopyBufferToImage2-commandBuffer-91829",
18          "text": "If <code>commandBuffer</code> is an unprotected command buffer and <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, <code>dstImage</code> <strong class=\"purple\">must</strong> not be a protected image",
19          "page": "vkspec"
20        },
21        {
22          "vuid": "VUID-vkCmdCopyBufferToImage2-commandBuffer-91830",
23          "text": "If <code>commandBuffer</code> is a protected command buffer and <a href=\"#limits-protectedNoFault\"><code>protectedNoFault</code></a> is not supported, <code>dstImage</code> <strong class=\"purple\">must</strong> not be an unprotected image",
24          "page": "vkspec"
25        },
26        {
27          "vuid": "VUID-vkCmdCopyBufferToImage2-commandBuffer-97737",
28          "text": "If the queue family used to create the <a href=\"#VkCommandPool\">VkCommandPool</a> which <code>commandBuffer</code> was allocated from does not support <code>VK_QUEUE_GRAPHICS_BIT</code> or <code>VK_QUEUE_COMPUTE_BIT</code>, the <code>bufferOffset</code> member of any element of <code>pCopyBufferToImageInfo-&gt;pRegions</code> <strong class=\"purple\">must</strong> be a multiple of <code>4</code>",
29          "page": "vkspec"
30        },
31        {
32          "vuid": "VUID-vkCmdCopyBufferToImage2-imageOffset-97738",
33          "text": "The <code>imageOffset</code> and <code>imageExtent</code> members of each element of <code>pCopyBufferToImageInfo-&gt;pRegions</code> <strong class=\"purple\">must</strong> respect the image transfer granularity requirements of <code>commandBuffer</code>&#8217;s command pool&#8217;s queue family, as described in <a href=\"#VkQueueFamilyProperties\">VkQueueFamilyProperties</a>",
34          "page": "vkspec"
35        },
36        {
37          "vuid": "VUID-vkCmdCopyBufferToImage2-commandBuffer-97739",
38          "text": "If the queue family used to create the <a href=\"#VkCommandPool\">VkCommandPool</a> which <code>commandBuffer</code> was allocated from does not support <code>VK_QUEUE_GRAPHICS_BIT</code>, for each element of <code>pCopyBufferToImageInfo-&gt;pRegions</code>, the <code>aspectMask</code> member of <code>imageSubresource</code> <strong class=\"purple\">must</strong> not be <code>VK_IMAGE_ASPECT_DEPTH_BIT</code> or <code>VK_IMAGE_ASPECT_STENCIL_BIT</code>",
39          "page": "vkspec"
40        },
41        {
42          "vuid": "VUID-vkCmdCopyBufferToImage2-commandBuffer-parameter",
43          "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkCommandBuffer\">VkCommandBuffer</a> handle",
44          "page": "vkspec"
45        },
46        {
47          "vuid": "VUID-vkCmdCopyBufferToImage2-pCopyBufferToImageInfo-parameter",
48          "text": "<code>pCopyBufferToImageInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyBufferToImageInfo2\">VkCopyBufferToImageInfo2</a> structure",
49          "page": "vkspec"
50        },
51        {
52          "vuid": "VUID-vkCmdCopyBufferToImage2-commandBuffer-recording",
53          "text": "<code>commandBuffer</code> <strong class=\"purple\">must</strong> be in the <a href=\"#commandbuffers-lifecycle\">recording state</a>",
54          "page": "vkspec"
55        },
56        {
57          "vuid": "VUID-vkCmdCopyBufferToImage2-commandBuffer-cmdpool",
58          "text": "The <code>VkCommandPool</code> that <code>commandBuffer</code> was allocated from <strong class=\"purple\">must</strong> support transfer, graphics, or compute operations",
59          "page": "vkspec"
60        },
61        {
62          "vuid": "VUID-vkCmdCopyBufferToImage2-renderpass",
63          "text": "This command <strong class=\"purple\">must</strong> only be called outside of a render pass instance",
64          "page": "vkspec"
65        },
66        {
67          "vuid": "VUID-vkCmdCopyBufferToImage2-videocoding",
68          "text": "This command <strong class=\"purple\">must</strong> only be called outside of a video coding scope",
69          "page": "vkspec"
70        }
71      ]
72    },
73    "VkCopyBufferToImageInfo2": {
74      "core": [
75        {
76          "vuid": "VUID-VkCopyBufferToImageInfo2-pRegions-94565",
77          "text": "Id velit ut tortor pretium viverra suspendisse potenti <code>pRegions</code> faucibus in ornare quam viverra orci sagittis eu volutpat <code>pNext</code> chain <code>imageSubresource</code> eu facilisis sed <strong class=\"purple\">must</strong> odio morbi quis commodo <code>dstImage</code>",
78          "page": "vkspec"
79        },
80        {
81          "vuid": "VUID-VkCopyBufferToImageInfo2KHR-pRegions-94554",
82          "text": "Pharetra magna ac placerat vestibulum lectus mauris <code>pRegions</code> ac felis donec et odio pellentesque diam volutpat commodo sed <code>pNext</code> chain <strong class=\"purple\">must</strong> malesuada pellentesque elit <a href=\"#lorem-subchapter\">Lorem Subchapter</a> eget gravida cum sociis natoque <code>dstImage</code>",
83          "page": "vkspec"
84        },
85        {
86          "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-97966",
87          "text": "If <code>dstImage</code> is non-sparse then the image or the specified <em>disjoint</em> plane <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object",
88          "page": "vkspec"
89        },
90        {
91          "vuid": "VUID-VkCopyBufferToImageInfo2-imageSubresource-97967",
92          "text": "The <code>imageSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created",
93          "page": "vkspec"
94        },
95        {
96          "vuid": "VUID-VkCopyBufferToImageInfo2-imageSubresource-97968",
97          "text": "The <span class=\"eq\"><code>imageSubresource.baseArrayLayer</code> +  <code>imageSubresource.layerCount</code></span> of each element of <code>pRegions</code> , if <code>imageSubresource.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code> and <a href=\"#features-maintenance5\"><code>maintenance5</code></a> is not enabled, <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created",
98          "page": "vkspec"
99        },
100        {
101          "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-97969",
102          "text": "<code>dstImage</code> <strong class=\"purple\">must</strong> not have been created with <code>flags</code> containing <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code>",
103          "page": "vkspec"
104        },
105        {
106          "vuid": "VUID-VkCopyBufferToImageInfo2-bufferRowLength-99101",
107          "text": "<code>bufferRowLength</code> <strong class=\"purple\">must</strong> be <code>0</code>, or greater than or equal to the <code>width</code> member of <code>imageExtent</code>",
108          "page": "vkspec"
109        },
110        {
111          "vuid": "VUID-VkCopyBufferToImageInfo2-bufferImageHeight-99102",
112          "text": "<code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be <code>0</code>, or greater than or equal to the <code>height</code> member of <code>imageExtent</code>",
113          "page": "vkspec"
114        },
115        {
116          "vuid": "VUID-VkCopyBufferToImageInfo2-aspectMask-99103",
117          "text": "The <code>aspectMask</code> member of <code>imageSubresource</code> <strong class=\"purple\">must</strong> only have a single bit set",
118          "page": "vkspec"
119        },
120        {
121          "vuid": "VUID-VkCopyBufferToImageInfo2-imageExtent-96659",
122          "text": "<code>imageExtent.width</code> <strong class=\"purple\">must</strong> not be 0",
123          "page": "vkspec"
124        },
125        {
126          "vuid": "VUID-VkCopyBufferToImageInfo2-imageExtent-96660",
127          "text": "<code>imageExtent.height</code> <strong class=\"purple\">must</strong> not be 0",
128          "page": "vkspec"
129        },
130        {
131          "vuid": "VUID-VkCopyBufferToImageInfo2-imageExtent-96661",
132          "text": "<code>imageExtent.depth</code> <strong class=\"purple\">must</strong> not be 0",
133          "page": "vkspec"
134        },
135        {
136          "vuid": "VUID-VkCopyBufferToImageInfo2-pRegions-96223",
137          "text": "Id leo in vitae turpis massa sed elementum <code>imageOffset.x</code> and <span class=\"eq\">(<code>imageExtent.width</code> +  <code>imageOffset.x</code>)</span> <strong class=\"purple\">must</strong> gravida dictum fusce ut placerat orci nulla pellentesque dignissim enim <code>imageSubresource</code> of <code>dstImage</code>",
138          "page": "vkspec"
139        },
140        {
141          "vuid": "VUID-VkCopyBufferToImageInfo2-sType-sType",
142          "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2</code>",
143          "page": "vkspec"
144        },
145        {
146          "vuid": "VUID-VkCopyBufferToImageInfo2-pNext-pNext",
147          "text": "<code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>",
148          "page": "vkspec"
149        },
150        {
151          "vuid": "VUID-VkCopyBufferToImageInfo2-srcBuffer-parameter",
152          "text": "<code>srcBuffer</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkBuffer\">VkBuffer</a> handle",
153          "page": "vkspec"
154        },
155        {
156          "vuid": "VUID-VkCopyBufferToImageInfo2-dstImage-parameter",
157          "text": "<code>dstImage</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImage\">VkImage</a> handle",
158          "page": "vkspec"
159        },
160        {
161          "vuid": "VUID-VkCopyBufferToImageInfo2-dstImageLayout-parameter",
162          "text": "<code>dstImageLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageLayout\">VkImageLayout</a> value",
163          "page": "vkspec"
164        },
165        {
166          "vuid": "VUID-VkCopyBufferToImageInfo2-pRegions-parameter",
167          "text": "<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",
168          "page": "vkspec"
169        },
170        {
171          "vuid": "VUID-VkCopyBufferToImageInfo2-regionCount-arraylength",
172          "text": "<code>regionCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>",
173          "page": "vkspec"
174        },
175        {
176          "vuid": "VUID-VkCopyBufferToImageInfo2-commonparent",
177          "text": "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>",
178          "page": "vkspec"
179        }
180      ]
181    },
182    "VkBufferImageCopy2": {
183      "core": [
184        {
185          "vuid": "VUID-VkBufferImageCopy2-bufferRowLength-99101",
186          "text": "<code>bufferRowLength</code> <strong class=\"purple\">must</strong> be <code>0</code>, or greater than or equal to the <code>width</code> member of <code>imageExtent</code>",
187          "page": "vkspec"
188        },
189        {
190          "vuid": "VUID-VkBufferImageCopy2-bufferImageHeight-99102",
191          "text": "<code>bufferImageHeight</code> <strong class=\"purple\">must</strong> be <code>0</code>, or greater than or equal to the <code>height</code> member of <code>imageExtent</code>",
192          "page": "vkspec"
193        },
194        {
195          "vuid": "VUID-VkBufferImageCopy2-aspectMask-99103",
196          "text": "The <code>aspectMask</code> member of <code>imageSubresource</code> <strong class=\"purple\">must</strong> only have a single bit set",
197          "page": "vkspec"
198        },
199        {
200          "vuid": "VUID-VkBufferImageCopy2-imageExtent-96659",
201          "text": "<code>imageExtent.width</code> <strong class=\"purple\">must</strong> not be 0",
202          "page": "vkspec"
203        },
204        {
205          "vuid": "VUID-VkBufferImageCopy2-imageExtent-96660",
206          "text": "<code>imageExtent.height</code> <strong class=\"purple\">must</strong> not be 0",
207          "page": "vkspec"
208        },
209        {
210          "vuid": "VUID-VkBufferImageCopy2-imageExtent-96661",
211          "text": "<code>imageExtent.depth</code> <strong class=\"purple\">must</strong> not be 0",
212          "page": "vkspec"
213        },
214        {
215          "vuid": "VUID-VkBufferImageCopy2-sType-sType",
216          "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2</code>",
217          "page": "vkspec"
218        },
219        {
220          "vuid": "VUID-VkBufferImageCopy2-pNext-pNext",
221          "text": "<code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code> or a pointer to a valid instance of <a href=\"#VkCopyCommandTransformInfoQCOM\">VkCopyCommandTransformInfoQCOM</a>",
222          "page": "vkspec"
223        },
224        {
225          "vuid": "VUID-VkBufferImageCopy2-sType-unique",
226          "text": "The <code>sType</code> value of each struct in the <code>pNext</code> chain <strong class=\"purple\">must</strong> be unique",
227          "page": "vkspec"
228        },
229        {
230          "vuid": "VUID-VkBufferImageCopy2-imageSubresource-parameter",
231          "text": "<code>imageSubresource</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresourceLayers\">VkImageSubresourceLayers</a> structure",
232          "page": "vkspec"
233        }
234      ]
235    },
236    "vkCopyMemoryToImageEXT": {
237      "core": [
238        {
239          "vuid": "VUID-vkCopyMemoryToImageEXT-hostImageCopy-99058",
240          "text": "Risus quis varius <a href=\"#features-hostImageCopy\"><code>hostImageCopy</code></a> quam quisque id diam vel",
241          "page": "vkspec"
242        },
243        {
244          "vuid": "VUID-vkCopyMemoryToImageEXT-device-parameter",
245          "text": "<code>device</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkDevice\">VkDevice</a> handle",
246          "page": "vkspec"
247        },
248        {
249          "vuid": "VUID-vkCopyMemoryToImageEXT-pCopyMemoryToImageInfo-parameter",
250          "text": "<code>pCopyMemoryToImageInfo</code> <strong class=\"purple\">must</strong> be a valid pointer to a valid <a href=\"#VkCopyMemoryToImageInfoEXT\">VkCopyMemoryToImageInfoEXT</a> structure",
251          "page": "vkspec"
252        }
253      ]
254    },
255    "VkCopyMemoryToImageInfoEXT": {
256      "core": [
257        {
258          "vuid": "VUID-VkCopyMemoryToImageInfoEXT-dstImage-97966",
259          "text": "If <code>dstImage</code> is non-sparse then the image or the specified <em>disjoint</em> plane <strong class=\"purple\">must</strong> be bound completely and contiguously to a single <code>VkDeviceMemory</code> object",
260          "page": "vkspec"
261        },
262        {
263          "vuid": "VUID-VkCopyMemoryToImageInfoEXT-imageSubresource-97967",
264          "text": "The <code>imageSubresource.mipLevel</code> member of each element of <code>pRegions</code> <strong class=\"purple\">must</strong> be less than the <code>mipLevels</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created",
265          "page": "vkspec"
266        },
267        {
268          "vuid": "VUID-VkCopyMemoryToImageInfoEXT-imageSubresource-97968",
269          "text": "The <span class=\"eq\"><code>imageSubresource.baseArrayLayer</code> +  <code>imageSubresource.layerCount</code></span> of each element of <code>pRegions</code> , if <code>imageSubresource.layerCount</code> is not <code>VK_REMAINING_ARRAY_LAYERS</code> and <a href=\"#features-maintenance5\"><code>maintenance5</code></a> is not enabled, <strong class=\"purple\">must</strong> be less than or equal to the <code>arrayLayers</code> specified in <a href=\"#VkImageCreateInfo\">VkImageCreateInfo</a> when <code>dstImage</code> was created",
270          "page": "vkspec"
271        },
272        {
273          "vuid": "VUID-VkCopyMemoryToImageInfoEXT-dstImage-97969",
274          "text": "<code>dstImage</code> <strong class=\"purple\">must</strong> not have been created with <code>flags</code> containing <code>VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT</code>",
275          "page": "vkspec"
276        },
277        {
278          "vuid": "VUID-VkCopyMemoryToImageInfoEXT-dstImageLayout-99059",
279          "text": "<code>dstImageLayout</code> <strong class=\"purple\">must</strong> Lorem ipsum dolor sit amet, <code>dstImage</code> consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore <code>pRegions</code> et dolore magna aliqua",
280          "page": "vkspec"
281        },
282        {
283          "vuid": "VUID-VkCopyMemoryToImageInfoEXT-sType-sType",
284          "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO_EXT</code>",
285          "page": "vkspec"
286        },
287        {
288          "vuid": "VUID-VkCopyMemoryToImageInfoEXT-pNext-pNext",
289          "text": "<code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>",
290          "page": "vkspec"
291        },
292        {
293          "vuid": "VUID-VkCopyMemoryToImageInfoEXT-flags-parameter",
294          "text": "<code>flags</code> <strong class=\"purple\">must</strong> be a valid combination of <a href=\"#VkHostImageCopyFlagBitsEXT\">VkHostImageCopyFlagBitsEXT</a> values",
295          "page": "vkspec"
296        },
297        {
298          "vuid": "VUID-VkCopyMemoryToImageInfoEXT-dstImage-parameter",
299          "text": "<code>dstImage</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImage\">VkImage</a> handle",
300          "page": "vkspec"
301        },
302        {
303          "vuid": "VUID-VkCopyMemoryToImageInfoEXT-dstImageLayout-parameter",
304          "text": "<code>dstImageLayout</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageLayout\">VkImageLayout</a> value",
305          "page": "vkspec"
306        },
307        {
308          "vuid": "VUID-VkCopyMemoryToImageInfoEXT-pRegions-parameter",
309          "text": "<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",
310          "page": "vkspec"
311        },
312        {
313          "vuid": "VUID-VkCopyMemoryToImageInfoEXT-regionCount-arraylength",
314          "text": "<code>regionCount</code> <strong class=\"purple\">must</strong> be greater than <code>0</code>",
315          "page": "vkspec"
316        }
317      ]
318    },
319    "VkMemoryToImageCopyEXT": {
320      "core": [
321        {
322          "vuid": "VUID-VkMemoryToImageCopyEXT-pHostPointer-99061",
323          "text": "<code>pHostPointer</code> <strong class=\"purple\">must</strong> Nisl condimentum id venenatis a condimentum vitae",
324          "page": "vkspec"
325        },
326        {
327          "vuid": "VUID-VkMemoryToImageCopyEXT-memoryRowLength-99101",
328          "text": "<code>memoryRowLength</code> <strong class=\"purple\">must</strong> be <code>0</code>, or greater than or equal to the <code>width</code> member of <code>imageExtent</code>",
329          "page": "vkspec"
330        },
331        {
332          "vuid": "VUID-VkMemoryToImageCopyEXT-memoryImageHeight-99102",
333          "text": "<code>memoryImageHeight</code> <strong class=\"purple\">must</strong> be <code>0</code>, or greater than or equal to the <code>height</code> member of <code>imageExtent</code>",
334          "page": "vkspec"
335        },
336        {
337          "vuid": "VUID-VkMemoryToImageCopyEXT-aspectMask-99103",
338          "text": "The <code>aspectMask</code> member of <code>imageSubresource</code> <strong class=\"purple\">must</strong> only have a single bit set",
339          "page": "vkspec"
340        },
341        {
342          "vuid": "VUID-VkMemoryToImageCopyEXT-imageExtent-96659",
343          "text": "<code>imageExtent.width</code> <strong class=\"purple\">must</strong> not be 0",
344          "page": "vkspec"
345        },
346        {
347          "vuid": "VUID-VkMemoryToImageCopyEXT-imageExtent-96660",
348          "text": "<code>imageExtent.height</code> <strong class=\"purple\">must</strong> not be 0",
349          "page": "vkspec"
350        },
351        {
352          "vuid": "VUID-VkMemoryToImageCopyEXT-imageExtent-96661",
353          "text": "<code>imageExtent.depth</code> <strong class=\"purple\">must</strong> not be 0",
354          "page": "vkspec"
355        },
356        {
357          "vuid": "VUID-VkMemoryToImageCopyEXT-sType-sType",
358          "text": "<code>sType</code> <strong class=\"purple\">must</strong> be <code>VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY_EXT</code>",
359          "page": "vkspec"
360        },
361        {
362          "vuid": "VUID-VkMemoryToImageCopyEXT-pNext-pNext",
363          "text": "<code>pNext</code> <strong class=\"purple\">must</strong> be <code>NULL</code>",
364          "page": "vkspec"
365        },
366        {
367          "vuid": "VUID-VkMemoryToImageCopyEXT-pHostPointer-parameter",
368          "text": "<code>pHostPointer</code> <strong class=\"purple\">must</strong> be a pointer value",
369          "page": "vkspec"
370        },
371        {
372          "vuid": "VUID-VkMemoryToImageCopyEXT-imageSubresource-parameter",
373          "text": "<code>imageSubresource</code> <strong class=\"purple\">must</strong> be a valid <a href=\"#VkImageSubresourceLayers\">VkImageSubresourceLayers</a> structure",
374          "page": "vkspec"
375        }
376      ]
377    }
378  }
379}