summaryrefslogtreecommitdiff
path: root/scripts/reflow-tests/expect-new-vuid-attribute-default.adoc
blob: 78d53c9668ce40f0818cbb013a106fde7aea1e14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
// Copyright 2023 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

:imageparam: srcImage
:imagesubresource: imageSubresource

// Common Valid Usage

  * [[VUID-{refpage}-{imageparam}-10000]]
    If pname:{imageparam} is of type ename:VK_IMAGE_TYPE_1D, then for each
    element of pname:pRegions, pname:imageOffset.y must: be `0` and
    pname:imageExtent.height must: be `1`
  * [[VUID-{refpage}-{imagesubresource}-10001]]
    For each element of pname:pRegions, pname:imageOffset.z and
    [eq]#(pname:imageExtent.depth {plus} pname:imageOffset.z)# must: both be
    greater than or equal to `0` and less than or equal to the depth of the
    specified pname:{imagesubresource} of pname:{imageparam}
  * [[VUID-{refpage}-{imageparam}-10002]]
    If pname:{imageparam} is of type ename:VK_IMAGE_TYPE_1D or
    ename:VK_IMAGE_TYPE_2D, then for each element of pname:pRegions,
    pname:imageOffset.z must: be `0` and pname:imageExtent.depth must: be
    `1`
  * [[VUID-{refpage}-{imageparam}-10003]]
    For each element of pname:pRegions, pname:bufferRowLength must: be a
    multiple of the <<formats-compatibility-classes,texel block extent
    width>> of the elink:VkFormat of pname:{imageparam}
  * [[VUID-{refpage}-{imageparam}-10004]]
    For each element of pname:pRegions, pname:bufferImageHeight must: be a
    multiple of the <<formats-compatibility-classes,texel block extent
    height>> of the elink:VkFormat of pname:{imageparam}
  * [[VUID-{refpage}-{imageparam}-10005]]
    For each element of pname:pRegions, pname:imageOffset.x must: be a
    multiple of the <<formats-compatibility-classes,texel block extent
    width>> of the elink:VkFormat of pname:{imageparam}
  * [[VUID-{refpage}-{imageparam}-10006]]
    For each element of pname:pRegions, pname:imageOffset.y must: be a
    multiple of the <<formats-compatibility-classes,texel block extent
    height>> of the elink:VkFormat of pname:{imageparam}
  * [[VUID-{refpage}-{imageparam}-10007]]
    For each element of pname:pRegions, pname:imageOffset.z must: be a
    multiple of the <<formats-compatibility-classes,texel block extent
    depth>> of the elink:VkFormat of pname:{imageparam}
  * [[VUID-{refpage}-{imageparam}-10008]]
    For each element of pname:pRegions, if the sum of pname:imageOffset.x
    and pname:extent.width does not equal the width of the subresource
    specified by pname:srcSubresource, pname:extent.width must: be a
    multiple of the <<formats-compatibility-classes,texel block extent
    width>> of the elink:VkFormat of pname:{imageparam}
  * [[VUID-{refpage}-{imageparam}-10009]]
    For each element of pname:pRegions, if the sum of pname:imageOffset.y
    and pname:extent.height does not equal the height of the subresource
    specified by pname:srcSubresource, pname:extent.height must: be a
    multiple of the <<formats-compatibility-classes,texel block extent
    height>> of the elink:VkFormat of pname:{imageparam}
  * [[VUID-{refpage}-{imageparam}-10010]]
    For each element of pname:pRegions, if the sum of pname:imageOffset.z
    and pname:extent.depth does not equal the depth of the subresource
    specified by pname:srcSubresource, pname:extent.depth must: be a
    multiple of the <<formats-compatibility-classes,texel block extent
    depth>> of the elink:VkFormat of pname:{imageparam}
  * [[VUID-{refpage}-{imagesubresource}-10011]]
    For each element of pname:pRegions, pname:{imagesubresource}.aspectMask
    must: specify aspects present in pname:{imageparam}
ifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
  * [[VUID-{refpage}-{imageparam}-10012]]
    If pname:{imageparam} has a elink:VkFormat with
    <<formats-requiring-sampler-ycbcr-conversion,two planes>> then for each
    element of pname:pRegions, pname:{imagesubresource}.aspectMask must: be
    ename:VK_IMAGE_ASPECT_PLANE_0_BIT or ename:VK_IMAGE_ASPECT_PLANE_1_BIT
  * [[VUID-{refpage}-{imageparam}-10013]]
    If pname:{imageparam} has a elink:VkFormat with
    <<formats-requiring-sampler-ycbcr-conversion,three planes>> then for
    each element of pname:pRegions, pname:{imagesubresource}.aspectMask
    must: be ename:VK_IMAGE_ASPECT_PLANE_0_BIT,
    ename:VK_IMAGE_ASPECT_PLANE_1_BIT, or ename:VK_IMAGE_ASPECT_PLANE_2_BIT
endif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
  * [[VUID-{refpage}-{imageparam}-10014]]
    If pname:{imageparam} is of type ename:VK_IMAGE_TYPE_3D, for each
    element of pname:pRegions, pname:{imagesubresource}.baseArrayLayer must:
    be `0` and pname:{imagesubresource}.layerCount must: be `1`
  * [[VUID-{refpage}-{imageparam}-10015]]
    For each element of pname:pRegions, pname:bufferRowLength divided by the
    <<formats-compatibility-classes,texel block extent width>> and then
    multiplied by the texel block size of pname:{imageparam} must: be less
    than or equal to [eq]#2^31^-1#
// Common Valid Usage