1e5c31af7Sopenharmony_ci// Copyright 2015-2024 The Khronos Group Inc.
2e5c31af7Sopenharmony_ci//
3e5c31af7Sopenharmony_ci// SPDX-License-Identifier: CC-BY-4.0
4e5c31af7Sopenharmony_ci
5e5c31af7Sopenharmony_ci// The asciidoc [glossary] template cannot contain subsections.
6e5c31af7Sopenharmony_ci// The abbreviations and prefixes probably belong in the upcoming
7e5c31af7Sopenharmony_ci// API/extension-writing-guidelines appendix, anyway.
8e5c31af7Sopenharmony_ci
9e5c31af7Sopenharmony_ci[appendix]
10e5c31af7Sopenharmony_ci[[lexicon]]
11e5c31af7Sopenharmony_ci= Lexicon
12e5c31af7Sopenharmony_ci
13e5c31af7Sopenharmony_ciThis appendix defines terms, abbreviations, and API prefixes used in the
14e5c31af7Sopenharmony_ciSpecification.
15e5c31af7Sopenharmony_ci
16e5c31af7Sopenharmony_ci
17e5c31af7Sopenharmony_ci[[glossary]]
18e5c31af7Sopenharmony_ci== Glossary
19e5c31af7Sopenharmony_ci
20e5c31af7Sopenharmony_ciThe terms defined in this section are used consistently throughout the
21e5c31af7Sopenharmony_ciSpecification and may be used with or without capitalization.
22e5c31af7Sopenharmony_ci
23e5c31af7Sopenharmony_ciAccessible (Descriptor Binding)::
24e5c31af7Sopenharmony_ci    A descriptor binding is accessible to a shader stage if that stage is
25e5c31af7Sopenharmony_ci    included in the pname:stageFlags of the descriptor binding.
26e5c31af7Sopenharmony_ci    Descriptors using that binding can: only be used by stages in which they
27e5c31af7Sopenharmony_ci    are accessible.
28e5c31af7Sopenharmony_ci
29e5c31af7Sopenharmony_ciAcquire Operation (Resource)::
30e5c31af7Sopenharmony_ci    An operation that acquires ownership of an image subresource or buffer
31e5c31af7Sopenharmony_ci    range.
32e5c31af7Sopenharmony_ci
33e5c31af7Sopenharmony_ciifdef::VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type[]
34e5c31af7Sopenharmony_ciActive (Descriptor Type)::
35e5c31af7Sopenharmony_ci    When a descriptor with _mutable_ type is updated with
36e5c31af7Sopenharmony_ci    flink:vkUpdateDescriptorSets, the active descriptor type changes.
37e5c31af7Sopenharmony_ci    When the descriptor is consumed by shaders, it is the active descriptor
38e5c31af7Sopenharmony_ci    type which determines validity, i.e.
39e5c31af7Sopenharmony_ci    sname:VkDescriptorSetLayoutBinding::pname:descriptorType is replaced
40e5c31af7Sopenharmony_ci    with the active descriptor type.
41e5c31af7Sopenharmony_ci    A mismatch in active descriptor type and consumption by shader is
42e5c31af7Sopenharmony_ci    considered an undefined: descriptor.
43e5c31af7Sopenharmony_ciendif::VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type[]
44e5c31af7Sopenharmony_ci
45e5c31af7Sopenharmony_ciifdef::VK_EXT_transform_feedback[]
46e5c31af7Sopenharmony_ciActive (Transform Feedback)::
47e5c31af7Sopenharmony_ci    Transform feedback is made active after
48e5c31af7Sopenharmony_ci    flink:vkCmdBeginTransformFeedbackEXT executes and remains active until
49e5c31af7Sopenharmony_ci    flink:vkCmdEndTransformFeedbackEXT executes.
50e5c31af7Sopenharmony_ci    While transform feedback is active, data written to variables in the
51e5c31af7Sopenharmony_ci    output interface of the last
52e5c31af7Sopenharmony_ci    <<pipelines-graphics-subsets-pre-rasterization,pre-rasterization shader
53e5c31af7Sopenharmony_ci    stage>> of the graphics pipeline are captured to the bound transform
54e5c31af7Sopenharmony_ci    feedback buffers if those variables are decorated for transform
55e5c31af7Sopenharmony_ci    feedback.
56e5c31af7Sopenharmony_ciendif::VK_EXT_transform_feedback[]
57e5c31af7Sopenharmony_ci
58e5c31af7Sopenharmony_ciAdjacent Vertex::
59e5c31af7Sopenharmony_ci    A vertex in an adjacency primitive topology that is not part of a given
60e5c31af7Sopenharmony_ci    primitive, but is accessible in geometry shaders.
61e5c31af7Sopenharmony_ci
62e5c31af7Sopenharmony_ciifdef::VK_NV_ray_tracing,VK_KHR_acceleration_structure[]
63e5c31af7Sopenharmony_ciActive Object (Ray Tracing)::
64e5c31af7Sopenharmony_ci    A primitive or instance in a ray tracing acceleration structure which
65e5c31af7Sopenharmony_ci    has a corresponding ID, and is not _inactive_ (meaning that it is
66e5c31af7Sopenharmony_ci    visible to rays).
67e5c31af7Sopenharmony_ciendif::VK_NV_ray_tracing,VK_KHR_acceleration_structure[]
68e5c31af7Sopenharmony_ci
69e5c31af7Sopenharmony_ciifdef::VK_EXT_blend_operation_advanced[]
70e5c31af7Sopenharmony_ciAdvanced Blend Operation::
71e5c31af7Sopenharmony_ci    Blending performed using one of the blend operation enums introduced by
72e5c31af7Sopenharmony_ci    the `apiext:VK_EXT_blend_operation_advanced` extension.
73e5c31af7Sopenharmony_ci    See <<framebuffer-blend-advanced, Advanced Blending Operations>>.
74e5c31af7Sopenharmony_ciendif::VK_EXT_blend_operation_advanced[]
75e5c31af7Sopenharmony_ci
76e5c31af7Sopenharmony_ciAlias (API type/command)::
77e5c31af7Sopenharmony_ci    An identical definition of another API type/command with the same
78e5c31af7Sopenharmony_ci    behavior but a different name.
79e5c31af7Sopenharmony_ci
80e5c31af7Sopenharmony_ciAliased Range (Memory)::
81e5c31af7Sopenharmony_ci    A range of a device memory allocation that is bound to multiple
82e5c31af7Sopenharmony_ci    resources simultaneously.
83e5c31af7Sopenharmony_ci
84e5c31af7Sopenharmony_ciAllocation Scope::
85e5c31af7Sopenharmony_ci    An association of a host memory allocation to a parent object or
86e5c31af7Sopenharmony_ci    command, where the allocation's lifetime ends before or at the same time
87e5c31af7Sopenharmony_ci    as the parent object is freed or destroyed, or during the parent
88e5c31af7Sopenharmony_ci    command.
89e5c31af7Sopenharmony_ci
90e5c31af7Sopenharmony_ciAspect (Image)::
91e5c31af7Sopenharmony_ci    Some image types contain multiple kinds (called "`aspects`") of data for
92e5c31af7Sopenharmony_ci    each pixel, where each aspect is used in a particular way by the
93e5c31af7Sopenharmony_ci    pipeline and may: be stored differently or separately from other
94e5c31af7Sopenharmony_ci    aspects.
95e5c31af7Sopenharmony_ci    For example, the color components of an image format make up the color
96e5c31af7Sopenharmony_ci    aspect of the image, and can: be used as a framebuffer color attachment.
97e5c31af7Sopenharmony_ci    Some operations, like depth testing, operate only on specific aspects of
98e5c31af7Sopenharmony_ci    an image.
99e5c31af7Sopenharmony_ci
100e5c31af7Sopenharmony_ciAttachment (Render Pass)::
101e5c31af7Sopenharmony_ci    A zero-based integer index name used in render pass creation to refer to
102e5c31af7Sopenharmony_ci    a framebuffer attachment that is accessed by one or more subpasses.
103e5c31af7Sopenharmony_ci    The index also refers to an attachment description which includes
104e5c31af7Sopenharmony_ci    information about the properties of the image view that will later be
105e5c31af7Sopenharmony_ci    attached.
106e5c31af7Sopenharmony_ci
107e5c31af7Sopenharmony_ciAvailability Operation::
108e5c31af7Sopenharmony_ci    An operation that causes the values generated by specified memory write
109e5c31af7Sopenharmony_ci    accesses to become available for future access.
110e5c31af7Sopenharmony_ci
111e5c31af7Sopenharmony_ciAvailable::
112e5c31af7Sopenharmony_ci    A state of values written to memory that allows them to be made visible.
113e5c31af7Sopenharmony_ci
114e5c31af7Sopenharmony_ciifdef::VK_NV_ray_tracing,VK_KHR_acceleration_structure[]
115e5c31af7Sopenharmony_ciAxis-aligned Bounding Box::
116e5c31af7Sopenharmony_ci    A box bounding a region in space defined by extents along each axis and
117e5c31af7Sopenharmony_ci    thus representing a box where each edge is aligned to one of the major
118e5c31af7Sopenharmony_ci    axes.
119e5c31af7Sopenharmony_ciendif::VK_NV_ray_tracing,VK_KHR_acceleration_structure[]
120e5c31af7Sopenharmony_ci
121e5c31af7Sopenharmony_ciBack-Facing::
122e5c31af7Sopenharmony_ci    See Facingness.
123e5c31af7Sopenharmony_ci
124e5c31af7Sopenharmony_ciBatch::
125e5c31af7Sopenharmony_ci    A single structure submitted to a queue as part of a
126e5c31af7Sopenharmony_ci    <<devsandqueues-submission, queue submission command>>, describing a set
127e5c31af7Sopenharmony_ci    of queue operations to execute.
128e5c31af7Sopenharmony_ci
129e5c31af7Sopenharmony_ciBackwards Compatibility::
130e5c31af7Sopenharmony_ci    A given version of the API is backwards compatible with an earlier
131e5c31af7Sopenharmony_ci    version if an application, relying only on valid behavior and
132e5c31af7Sopenharmony_ci    functionality defined by the earlier specification, is able to correctly
133e5c31af7Sopenharmony_ci    run against each version without any modification.
134e5c31af7Sopenharmony_ci    This assumes no active attempt by that application to not run when it
135e5c31af7Sopenharmony_ci    detects a different version.
136e5c31af7Sopenharmony_ci
137e5c31af7Sopenharmony_ciBinary Semaphore::
138e5c31af7Sopenharmony_ci    A semaphore with a boolean payload indicating whether the semaphore is
139e5c31af7Sopenharmony_ci    signaled or unsignaled.
140e5c31af7Sopenharmony_ci    Represented by a slink:VkSemaphore object
141e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2,VK_KHR_timeline_semaphore[]
142e5c31af7Sopenharmony_ci    created with a semaphore type of ename:VK_SEMAPHORE_TYPE_BINARY
143e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2,VK_KHR_timeline_semaphore[]
144e5c31af7Sopenharmony_ci    .
145e5c31af7Sopenharmony_ci
146e5c31af7Sopenharmony_ciBinding (Memory)::
147e5c31af7Sopenharmony_ci    An association established between a range of a resource object and a
148e5c31af7Sopenharmony_ci    range of a memory object.
149e5c31af7Sopenharmony_ci    These associations determine the memory locations affected by operations
150e5c31af7Sopenharmony_ci    performed on elements of a resource object.
151e5c31af7Sopenharmony_ci    Memory bindings are established using the flink:vkBindBufferMemory
152e5c31af7Sopenharmony_ci    command for non-sparse buffer objects,
153e5c31af7Sopenharmony_ciifdef::VKSC_VERSION_1_0[and]
154e5c31af7Sopenharmony_ci    using the flink:vkBindImageMemory command for non-sparse image objects
155e5c31af7Sopenharmony_ciifndef::VKSC_VERSION_1_0[, and using the flink:vkQueueBindSparse command for sparse resources]
156e5c31af7Sopenharmony_ci    .
157e5c31af7Sopenharmony_ci
158e5c31af7Sopenharmony_ciBlend Constant::
159e5c31af7Sopenharmony_ci    Four floating point (RGBA) values used as an input to blending.
160e5c31af7Sopenharmony_ci
161e5c31af7Sopenharmony_ciBlending::
162e5c31af7Sopenharmony_ci    Arithmetic operations between a fragment color value and a value in a
163e5c31af7Sopenharmony_ci    color attachment that produce a final color value to be written to the
164e5c31af7Sopenharmony_ci    attachment.
165e5c31af7Sopenharmony_ci
166e5c31af7Sopenharmony_ciBuffer::
167e5c31af7Sopenharmony_ci    A resource that represents a linear array of data in device memory.
168e5c31af7Sopenharmony_ci    Represented by a slink:VkBuffer object.
169e5c31af7Sopenharmony_ci
170e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2,VK_EXT_buffer_device_address,VK_KHR_buffer_device_address[]
171e5c31af7Sopenharmony_ciBuffer Device Address::
172e5c31af7Sopenharmony_ci    A 64-bit value used in a shader to access buffer memory through the
173e5c31af7Sopenharmony_ci    code:PhysicalStorageBuffer storage class.
174e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2,VK_EXT_buffer_device_address,VK_KHR_buffer_device_address[]
175e5c31af7Sopenharmony_ci
176e5c31af7Sopenharmony_ciBuffer View::
177e5c31af7Sopenharmony_ci    An object that represents a range of a specific buffer, and state
178e5c31af7Sopenharmony_ci    controlling how the contents are interpreted.
179e5c31af7Sopenharmony_ci    Represented by a slink:VkBufferView object.
180e5c31af7Sopenharmony_ci
181e5c31af7Sopenharmony_ciBuilt-In Variable::
182e5c31af7Sopenharmony_ci    A variable decorated in a shader, where the decoration makes the
183e5c31af7Sopenharmony_ci    variable take values provided by the execution environment or values
184e5c31af7Sopenharmony_ci    that are generated by fixed-function pipeline stages.
185e5c31af7Sopenharmony_ci
186e5c31af7Sopenharmony_ciBuilt-In Interface Block::
187e5c31af7Sopenharmony_ci    A block defined in a shader containing only variables decorated with
188e5c31af7Sopenharmony_ci    built-in decorations, and is used to match against other shader stages.
189e5c31af7Sopenharmony_ci
190e5c31af7Sopenharmony_ciClip Coordinates::
191e5c31af7Sopenharmony_ci    The homogeneous coordinate space in which vertex positions
192e5c31af7Sopenharmony_ci    (code:Position decoration) are written by
193e5c31af7Sopenharmony_ci    <<pipelines-graphics-subsets-pre-rasterization, pre-rasterization shader
194e5c31af7Sopenharmony_ci    stages>>.
195e5c31af7Sopenharmony_ci
196e5c31af7Sopenharmony_ciClip Distance::
197e5c31af7Sopenharmony_ci    A built-in output from
198e5c31af7Sopenharmony_ci    <<pipelines-graphics-subsets-pre-rasterization,pre-rasterization shader
199e5c31af7Sopenharmony_ci    stages>> defining a clip half-space against which the primitive is
200e5c31af7Sopenharmony_ci    clipped.
201e5c31af7Sopenharmony_ci
202e5c31af7Sopenharmony_ciClip Volume::
203e5c31af7Sopenharmony_ci    The intersection of the view volume with all clip half-spaces.
204e5c31af7Sopenharmony_ci
205e5c31af7Sopenharmony_ciColor Attachment::
206e5c31af7Sopenharmony_ci    A subpass attachment point, or image view, that is the target of
207e5c31af7Sopenharmony_ci    fragment color outputs and blending.
208e5c31af7Sopenharmony_ci
209e5c31af7Sopenharmony_ciifdef::VK_AMD_shader_fragment_mask[]
210e5c31af7Sopenharmony_ciColor Fragment::
211e5c31af7Sopenharmony_ci    A unique color value within a pixel of a multisampled color image.
212e5c31af7Sopenharmony_ci    The _fragment mask_ will contain indices to the _color fragment_.
213e5c31af7Sopenharmony_ciendif::VK_AMD_shader_fragment_mask[]
214e5c31af7Sopenharmony_ci
215e5c31af7Sopenharmony_ciColor Renderable Format::
216e5c31af7Sopenharmony_ci    A elink:VkFormat where ename:VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT is
217e5c31af7Sopenharmony_ci    set in one of the following, depending on the image's tiling:
218e5c31af7Sopenharmony_ci  * slink:VkFormatProperties::pname:linearTilingFeatures
219e5c31af7Sopenharmony_ci  * slink:VkFormatProperties::pname:optimalTilingFeatures
220e5c31af7Sopenharmony_ciifdef::VK_NV_linear_color_attachment[]
221e5c31af7Sopenharmony_ci    or a elink:VkFormat where
222e5c31af7Sopenharmony_ci    ename:VK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV is set in
223e5c31af7Sopenharmony_ci    slink:VkFormatProperties::pname:linearTilingFeatures
224e5c31af7Sopenharmony_ciendif::VK_NV_linear_color_attachment[]
225e5c31af7Sopenharmony_ciifdef::VK_EXT_image_drm_format_modifier[]
226e5c31af7Sopenharmony_ci  * slink:VkDrmFormatModifierPropertiesEXT::pname:drmFormatModifierTilingFeatures
227e5c31af7Sopenharmony_ciendif::VK_EXT_image_drm_format_modifier[]
228e5c31af7Sopenharmony_ci
229e5c31af7Sopenharmony_ciCombined Image Sampler::
230e5c31af7Sopenharmony_ci    A descriptor type that includes both a sampled image and a sampler.
231e5c31af7Sopenharmony_ci
232e5c31af7Sopenharmony_ciCommand Buffer::
233e5c31af7Sopenharmony_ci    An object that records commands to be submitted to a queue.
234e5c31af7Sopenharmony_ci    Represented by a slink:VkCommandBuffer object.
235e5c31af7Sopenharmony_ci
236e5c31af7Sopenharmony_ciifdef::VK_EXT_nested_command_buffer[]
237e5c31af7Sopenharmony_ciCommand Buffer Nesting Level::
238e5c31af7Sopenharmony_ci    The Command Buffer Nesting Level of a secondary command buffer is equal
239e5c31af7Sopenharmony_ci    to the maximum nesting level of all secondary command buffers executed
240e5c31af7Sopenharmony_ci    by that command buffer plus one, where a secondary command buffer that
241e5c31af7Sopenharmony_ci    executes no other secondary command buffers has a nesting level of zero.
242e5c31af7Sopenharmony_ciendif::VK_EXT_nested_command_buffer[]
243e5c31af7Sopenharmony_ci
244e5c31af7Sopenharmony_ciCommand Pool::
245e5c31af7Sopenharmony_ci    An object that command buffer memory is allocated from, and that owns
246e5c31af7Sopenharmony_ci    that memory.
247e5c31af7Sopenharmony_ci    Command pools aid multithreaded performance by enabling different
248e5c31af7Sopenharmony_ci    threads to use different allocators, without internal synchronization on
249e5c31af7Sopenharmony_ci    each use.
250e5c31af7Sopenharmony_ci    Represented by a slink:VkCommandPool object.
251e5c31af7Sopenharmony_ci
252e5c31af7Sopenharmony_ciCompatible Allocator::
253e5c31af7Sopenharmony_ci    When allocators are compatible, allocations from each allocator can: be
254e5c31af7Sopenharmony_ci    freed by the other allocator.
255e5c31af7Sopenharmony_ci
256e5c31af7Sopenharmony_ciCompatible Image Formats::
257e5c31af7Sopenharmony_ci    When formats are compatible, images created with one of the formats can:
258e5c31af7Sopenharmony_ci    have image views created from it using any of the compatible formats.
259e5c31af7Sopenharmony_ci    Also see _Size-Compatible Image Formats_.
260e5c31af7Sopenharmony_ci
261e5c31af7Sopenharmony_ciCompatible Queues::
262e5c31af7Sopenharmony_ci    Queues within a queue family.
263e5c31af7Sopenharmony_ci    Compatible queues have identical properties.
264e5c31af7Sopenharmony_ci
265e5c31af7Sopenharmony_ciComplete Mipmap Chain::
266e5c31af7Sopenharmony_ci    The entire set of mip levels that can be provided for an image, from the
267e5c31af7Sopenharmony_ci    largest application specified mip level size down to the _minimum mip
268e5c31af7Sopenharmony_ci    level size_.
269e5c31af7Sopenharmony_ci    See <<resources-image-mip-level-sizing, Image Mip Level Sizing>>.
270e5c31af7Sopenharmony_ci
271e5c31af7Sopenharmony_ciifdef::VK_KHR_deferred_host_operations[]
272e5c31af7Sopenharmony_ciCompleted Operation::
273e5c31af7Sopenharmony_ci    A deferred operation whose corresponding command has been executed to
274e5c31af7Sopenharmony_ci    completion.
275e5c31af7Sopenharmony_ci    See <<deferred-host-operations, Deferred Host Operations>>
276e5c31af7Sopenharmony_ciendif::VK_KHR_deferred_host_operations[]
277e5c31af7Sopenharmony_ci
278e5c31af7Sopenharmony_ciComponent (Format)::
279e5c31af7Sopenharmony_ci    A distinct part of a format.
280e5c31af7Sopenharmony_ci    Color components are represented with `R`, `G`, `B`, and `A`.
281e5c31af7Sopenharmony_ci    Depth and stencil components are represented with `D` and `S`.
282e5c31af7Sopenharmony_ci    Formats can: have multiple instances of the same component.
283e5c31af7Sopenharmony_ci    Some formats have other notations such as `E` or `X` which are not
284e5c31af7Sopenharmony_ci    considered a component of the format.
285e5c31af7Sopenharmony_ci
286e5c31af7Sopenharmony_ciCompressed Texel Block::
287e5c31af7Sopenharmony_ci    An element of an image having a block-compressed format, comprising a
288e5c31af7Sopenharmony_ci    rectangular block of texel values that are encoded as a single value in
289e5c31af7Sopenharmony_ci    memory.
290e5c31af7Sopenharmony_ci    Compressed texel blocks of a particular block-compressed format have a
291e5c31af7Sopenharmony_ci    corresponding width, height, and depth defining the dimensions of these
292e5c31af7Sopenharmony_ci    elements in units of texels, and a size in bytes of the encoding in
293e5c31af7Sopenharmony_ci    memory.
294e5c31af7Sopenharmony_ci
295e5c31af7Sopenharmony_ciConstant Integral Expressions::
296e5c31af7Sopenharmony_ci    A SPIR-V constant instruction whose type is code:OpTypeInt.
297e5c31af7Sopenharmony_ci    See _Constant Instruction_ in section 2.2.1 "`Instructions`" of the
298e5c31af7Sopenharmony_ci    <<spirv-spec,Khronos SPIR-V Specification>>.
299e5c31af7Sopenharmony_ci
300e5c31af7Sopenharmony_ciifdef::VK_NV_cooperative_matrix,VK_KHR_cooperative_matrix[]
301e5c31af7Sopenharmony_ciCooperative Matrix::
302e5c31af7Sopenharmony_ci    A SPIR-V type where the storage for and computations performed on the
303e5c31af7Sopenharmony_ci    matrix are spread across a set of invocations such as a subgroup.
304e5c31af7Sopenharmony_ciendif::VK_NV_cooperative_matrix,VK_KHR_cooperative_matrix[]
305e5c31af7Sopenharmony_ci
306e5c31af7Sopenharmony_ciifdef::VK_NV_corner_sampled_image[]
307e5c31af7Sopenharmony_ciCorner-Sampled Image::
308e5c31af7Sopenharmony_ci    A slink:VkImage where unnormalized texel coordinates are centered on
309e5c31af7Sopenharmony_ci    integer values instead of half-integer values.
310e5c31af7Sopenharmony_ci    Specified by setting the ename:VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV bit
311e5c31af7Sopenharmony_ci    on slink:VkImageCreateInfo::pname:flags at image creation.
312e5c31af7Sopenharmony_ciendif::VK_NV_corner_sampled_image[]
313e5c31af7Sopenharmony_ci
314e5c31af7Sopenharmony_ciCoverage Index::
315e5c31af7Sopenharmony_ci    The index of a sample in the coverage mask.
316e5c31af7Sopenharmony_ci
317e5c31af7Sopenharmony_ciCoverage Mask::
318e5c31af7Sopenharmony_ci    A bitfield associated with a fragment representing the samples that were
319e5c31af7Sopenharmony_ci    determined to be covered based on the result of rasterization, and then
320e5c31af7Sopenharmony_ci    subsequently modified by fragment operations or the fragment shader.
321e5c31af7Sopenharmony_ci
322e5c31af7Sopenharmony_ciCull Distance::
323e5c31af7Sopenharmony_ci    A built-in output from
324e5c31af7Sopenharmony_ci    <<pipelines-graphics-subsets-pre-rasterization,pre-rasterization shader
325e5c31af7Sopenharmony_ci    stages>> defining a cull half-space where the primitive is rejected if
326e5c31af7Sopenharmony_ci    all vertices have a negative value for the same cull distance.
327e5c31af7Sopenharmony_ci
328e5c31af7Sopenharmony_ciCull Volume::
329e5c31af7Sopenharmony_ci    The intersection of the view volume with all cull half-spaces.
330e5c31af7Sopenharmony_ci
331e5c31af7Sopenharmony_ciifdef::VK_KHR_video_queue[]
332e5c31af7Sopenharmony_ciDecode Output Picture::
333e5c31af7Sopenharmony_ci    A video picture resource used to store the result of a video decode
334e5c31af7Sopenharmony_ci    operation.
335e5c31af7Sopenharmony_ci
336e5c31af7Sopenharmony_ciDecoded Picture Buffer::
337e5c31af7Sopenharmony_ci    An indexed set of reference pictures used by a video session.
338e5c31af7Sopenharmony_ci    Abbreviated as DPB.
339e5c31af7Sopenharmony_ci
340e5c31af7Sopenharmony_ciDecoded Picture Buffer Slot::
341e5c31af7Sopenharmony_ci    An entry within a DPB that can: be associated with a particular
342e5c31af7Sopenharmony_ci    reference picture.
343e5c31af7Sopenharmony_ci
344e5c31af7Sopenharmony_ciDecoded Picture Buffer Slot Index::
345e5c31af7Sopenharmony_ci    The index of a DPB slot within its encompassing DPB.
346e5c31af7Sopenharmony_ciendif::VK_KHR_video_queue[]
347e5c31af7Sopenharmony_ci
348e5c31af7Sopenharmony_ciDecoration (SPIR-V)::
349e5c31af7Sopenharmony_ci    Auxiliary information such as built-in variables, stream numbers,
350e5c31af7Sopenharmony_ci    invariance, interpolation type, relaxed precision, etc., added to
351e5c31af7Sopenharmony_ci    variables or structure-type members through decorations.
352e5c31af7Sopenharmony_ci
353e5c31af7Sopenharmony_ciifdef::VK_KHR_deferred_host_operations[]
354e5c31af7Sopenharmony_ciDeferrable Command::
355e5c31af7Sopenharmony_ci    A command which allows deferred execution of host-side work.
356e5c31af7Sopenharmony_ci    See <<deferred-host-operations,Deferred Host Operations>>.
357e5c31af7Sopenharmony_ci
358e5c31af7Sopenharmony_ciDeferrable Operation::
359e5c31af7Sopenharmony_ci    A single logical item of host-side work which can be deferred.
360e5c31af7Sopenharmony_ci    Represented by the slink:VkDeferredOperationKHR object.
361e5c31af7Sopenharmony_ci    See <<deferred-host-operations,Deferred Host Operations>>.
362e5c31af7Sopenharmony_ciendif::VK_KHR_deferred_host_operations[]
363e5c31af7Sopenharmony_ci
364e5c31af7Sopenharmony_ciDeprecated (feature)::
365e5c31af7Sopenharmony_ci    A feature is deprecated if it is no longer recommended as the correct or
366e5c31af7Sopenharmony_ci    best way to achieve its intended purpose.
367e5c31af7Sopenharmony_ci
368e5c31af7Sopenharmony_ciDepth/Stencil Attachment::
369e5c31af7Sopenharmony_ci    A subpass attachment point, or image view, that is the target of depth
370e5c31af7Sopenharmony_ci    and/or stencil test operations and writes.
371e5c31af7Sopenharmony_ci
372e5c31af7Sopenharmony_ciDepth/Stencil Format::
373e5c31af7Sopenharmony_ci    A elink:VkFormat that includes depth and/or stencil components.
374e5c31af7Sopenharmony_ci
375e5c31af7Sopenharmony_ciDepth/Stencil Image (or ImageView)::
376e5c31af7Sopenharmony_ci    A slink:VkImage (or slink:VkImageView) with a depth/stencil format.
377e5c31af7Sopenharmony_ci
378e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2,VK_KHR_depth_stencil_resolve[]
379e5c31af7Sopenharmony_ciDepth/Stencil Resolve Attachment::
380e5c31af7Sopenharmony_ci    A subpass attachment point, or image view, that is the target of a
381e5c31af7Sopenharmony_ci    multisample resolve operation from the corresponding depth/stencil
382e5c31af7Sopenharmony_ci    attachment at the end of the subpass.
383e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2,VK_KHR_depth_stencil_resolve[]
384e5c31af7Sopenharmony_ci
385e5c31af7Sopenharmony_ciDerivative Group::
386e5c31af7Sopenharmony_ci    A set of fragment
387e5c31af7Sopenharmony_ciifdef::VK_NV_compute_shader_derivatives[]
388e5c31af7Sopenharmony_ci    or compute
389e5c31af7Sopenharmony_ciendif::VK_NV_compute_shader_derivatives[]
390e5c31af7Sopenharmony_ci    shader invocations that cooperate to compute derivatives, including
391e5c31af7Sopenharmony_ci    implicit derivatives for sampled image operations.
392e5c31af7Sopenharmony_ci
393e5c31af7Sopenharmony_ciDescriptor::
394e5c31af7Sopenharmony_ci    Information about a resource or resource view written into a descriptor
395e5c31af7Sopenharmony_ci    set that is used to access the resource or view from a shader.
396e5c31af7Sopenharmony_ci
397e5c31af7Sopenharmony_ciDescriptor Binding::
398e5c31af7Sopenharmony_ci    An entry in a descriptor set layout corresponding to zero or more
399e5c31af7Sopenharmony_ci    descriptors of a single descriptor type in a set.
400e5c31af7Sopenharmony_ci    Defined by a slink:VkDescriptorSetLayoutBinding structure.
401e5c31af7Sopenharmony_ci
402e5c31af7Sopenharmony_ciDescriptor Pool::
403e5c31af7Sopenharmony_ci    An object that descriptor sets are allocated from, and that owns the
404e5c31af7Sopenharmony_ci    storage of those descriptor sets.
405e5c31af7Sopenharmony_ci    Descriptor pools aid multithreaded performance by enabling different
406e5c31af7Sopenharmony_ci    threads to use different allocators, without internal synchronization on
407e5c31af7Sopenharmony_ci    each use.
408e5c31af7Sopenharmony_ci    Represented by a slink:VkDescriptorPool object.
409e5c31af7Sopenharmony_ci
410e5c31af7Sopenharmony_ciDescriptor Set::
411e5c31af7Sopenharmony_ci    An object that resource descriptors are written into via the API, and
412e5c31af7Sopenharmony_ci    that can: be bound to a command buffer such that the descriptors
413e5c31af7Sopenharmony_ci    contained within it can: be accessed from shaders.
414e5c31af7Sopenharmony_ci    Represented by a slink:VkDescriptorSet object.
415e5c31af7Sopenharmony_ci
416e5c31af7Sopenharmony_ciDescriptor Set Layout::
417e5c31af7Sopenharmony_ci    An object defining the set of resources (types and counts) and their
418e5c31af7Sopenharmony_ci    relative arrangement (in the binding namespace) within a descriptor set.
419e5c31af7Sopenharmony_ci    Used when allocating descriptor sets and when creating pipeline layouts.
420e5c31af7Sopenharmony_ci    Represented by a slink:VkDescriptorSetLayout object.
421e5c31af7Sopenharmony_ci
422e5c31af7Sopenharmony_ciDevice::
423e5c31af7Sopenharmony_ci    The processor(s) and execution environment that perform tasks requested
424e5c31af7Sopenharmony_ci    by the application via the Vulkan API.
425e5c31af7Sopenharmony_ci
426e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_KHR_device_group_creation[]
427e5c31af7Sopenharmony_ciDevice Group::
428e5c31af7Sopenharmony_ci    A set of physical devices that support accessing each other's memory and
429e5c31af7Sopenharmony_ci    recording a single command buffer that can: be executed on all the
430e5c31af7Sopenharmony_ci    physical devices.
431e5c31af7Sopenharmony_ci
432e5c31af7Sopenharmony_ciDevice Index::
433e5c31af7Sopenharmony_ci    A zero-based integer that identifies one physical device from a logical
434e5c31af7Sopenharmony_ci    device.
435e5c31af7Sopenharmony_ci    A device index is valid if it is less than the number of physical
436e5c31af7Sopenharmony_ci    devices in the logical device.
437e5c31af7Sopenharmony_ci
438e5c31af7Sopenharmony_ciDevice Mask::
439e5c31af7Sopenharmony_ci    A bitmask where each bit represents one device index.
440e5c31af7Sopenharmony_ci    A device mask value is valid if every bit that is set in the mask is at
441e5c31af7Sopenharmony_ci    a bit position that is less than the number of physical devices in the
442e5c31af7Sopenharmony_ci    logical device.
443e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_KHR_device_group_creation[]
444e5c31af7Sopenharmony_ci
445e5c31af7Sopenharmony_ciDevice Memory::
446e5c31af7Sopenharmony_ci    Memory accessible to the device.
447e5c31af7Sopenharmony_ci    Represented by a slink:VkDeviceMemory object.
448e5c31af7Sopenharmony_ci
449e5c31af7Sopenharmony_ciDevice-Level Command::
450e5c31af7Sopenharmony_ci    Any command that is dispatched from a logical device, or from a child
451e5c31af7Sopenharmony_ci    object of a logical device.
452e5c31af7Sopenharmony_ci
453e5c31af7Sopenharmony_ciDevice-Level Functionality::
454e5c31af7Sopenharmony_ci    All device-level commands and objects, and their structures, enumerated
455e5c31af7Sopenharmony_ci    types, and enumerants.
456e5c31af7Sopenharmony_ci    Additionally, physical-device-level functionality defined by a
457e5c31af7Sopenharmony_ci    <<extendingvulkan-device-extensions,device extension>> is also
458e5c31af7Sopenharmony_ci    considered device-level functionality.
459e5c31af7Sopenharmony_ci
460e5c31af7Sopenharmony_ciDevice-Level Object::
461e5c31af7Sopenharmony_ci    Logical device objects and their child objects.
462e5c31af7Sopenharmony_ci    For example, slink:VkDevice, slink:VkQueue, and slink:VkCommandBuffer
463e5c31af7Sopenharmony_ci    objects are device-level objects.
464e5c31af7Sopenharmony_ci
465e5c31af7Sopenharmony_ciDevice-Local Memory::
466e5c31af7Sopenharmony_ci    Memory that is connected to the device, and may: be more performant for
467e5c31af7Sopenharmony_ci    device access than host-local memory.
468e5c31af7Sopenharmony_ci
469e5c31af7Sopenharmony_ciDirect Drawing Commands::
470e5c31af7Sopenharmony_ci    _Drawing commands_ that take all their parameters as direct arguments to
471e5c31af7Sopenharmony_ci    the command (and not sourced via structures in buffer memory as the
472e5c31af7Sopenharmony_ci    _indirect drawing commands_).
473e5c31af7Sopenharmony_ci    Includes
474e5c31af7Sopenharmony_ciifdef::VK_EXT_multi_draw[]
475e5c31af7Sopenharmony_ci    flink:vkCmdDrawMultiIndexedEXT, flink:vkCmdDrawMultiEXT,
476e5c31af7Sopenharmony_ciendif::VK_EXT_multi_draw[]
477e5c31af7Sopenharmony_ciifdef::VK_NV_mesh_shader[]
478e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksNV,
479e5c31af7Sopenharmony_ciendif::VK_NV_mesh_shader[]
480e5c31af7Sopenharmony_ciifdef::VK_EXT_mesh_shader[]
481e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksEXT,
482e5c31af7Sopenharmony_ciendif::VK_EXT_mesh_shader[]
483e5c31af7Sopenharmony_ci    flink:vkCmdDraw, and flink:vkCmdDrawIndexed.
484e5c31af7Sopenharmony_ci
485e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
486e5c31af7Sopenharmony_ciDisjoint::
487e5c31af7Sopenharmony_ci    _Disjoint planes_ are _image planes_ to which memory is bound
488e5c31af7Sopenharmony_ci    independently. +
489e5c31af7Sopenharmony_ci    A _disjoint image_ consists of multiple _disjoint planes_, and is
490e5c31af7Sopenharmony_ci    created with the ename:VK_IMAGE_CREATE_DISJOINT_BIT bit set.
491e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
492e5c31af7Sopenharmony_ci
493e5c31af7Sopenharmony_ciDispatchable Command::
494e5c31af7Sopenharmony_ci    A non-global command.
495e5c31af7Sopenharmony_ci    The first argument to each dispatchable command is a dispatchable handle
496e5c31af7Sopenharmony_ci    type.
497e5c31af7Sopenharmony_ci
498e5c31af7Sopenharmony_ciDispatchable Handle::
499e5c31af7Sopenharmony_ci    A handle of a pointer handle type which may: be used by layers as part
500e5c31af7Sopenharmony_ci    of intercepting API commands.
501e5c31af7Sopenharmony_ci
502e5c31af7Sopenharmony_ciDispatching Commands::
503e5c31af7Sopenharmony_ci    Commands that provoke work using a compute pipeline.
504e5c31af7Sopenharmony_ci    Includes flink:vkCmdDispatch and flink:vkCmdDispatchIndirect.
505e5c31af7Sopenharmony_ci
506e5c31af7Sopenharmony_ciDrawing Commands::
507e5c31af7Sopenharmony_ci    Commands that provoke work using a graphics pipeline.
508e5c31af7Sopenharmony_ci    Includes flink:vkCmdDraw, flink:vkCmdDrawIndexed,
509e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2[]
510e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndirectCount, flink:vkCmdDrawIndexedIndirectCount,
511e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2[]
512e5c31af7Sopenharmony_ciifdef::VK_KHR_draw_indirect_count[]
513e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndirectCountKHR, flink:vkCmdDrawIndexedIndirectCountKHR,
514e5c31af7Sopenharmony_ciendif::VK_KHR_draw_indirect_count[]
515e5c31af7Sopenharmony_ciifdef::VK_AMD_draw_indirect_count[]
516e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndirectCountAMD, flink:vkCmdDrawIndexedIndirectCountAMD,
517e5c31af7Sopenharmony_ciendif::VK_AMD_draw_indirect_count[]
518e5c31af7Sopenharmony_ciifdef::VK_EXT_multi_draw[]
519e5c31af7Sopenharmony_ci    flink:vkCmdDrawMultiIndexedEXT, flink:vkCmdDrawMultiEXT,
520e5c31af7Sopenharmony_ciendif::VK_EXT_multi_draw[]
521e5c31af7Sopenharmony_ciifdef::VK_NV_mesh_shader[]
522e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksNV, flink:vkCmdDrawMeshTasksIndirectNV,
523e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksIndirectCountNV,
524e5c31af7Sopenharmony_ciendif::VK_NV_mesh_shader[]
525e5c31af7Sopenharmony_ciifdef::VK_EXT_mesh_shader[]
526e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksEXT, flink:vkCmdDrawMeshTasksIndirectEXT,
527e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksIndirectCountEXT,
528e5c31af7Sopenharmony_ciendif::VK_EXT_mesh_shader[]
529e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndirect, and flink:vkCmdDrawIndexedIndirect.
530e5c31af7Sopenharmony_ci
531e5c31af7Sopenharmony_ciDuration (Command)::
532e5c31af7Sopenharmony_ci    The _duration_ of a Vulkan command refers to the interval between
533e5c31af7Sopenharmony_ci    calling the command and its return to the caller.
534e5c31af7Sopenharmony_ci
535e5c31af7Sopenharmony_ciDynamic Storage Buffer::
536e5c31af7Sopenharmony_ci    A storage buffer whose offset is specified each time the storage buffer
537e5c31af7Sopenharmony_ci    is bound to a command buffer via a descriptor set.
538e5c31af7Sopenharmony_ci
539e5c31af7Sopenharmony_ciDynamic Uniform Buffer::
540e5c31af7Sopenharmony_ci    A uniform buffer whose offset is specified each time the uniform buffer
541e5c31af7Sopenharmony_ci    is bound to a command buffer via a descriptor set.
542e5c31af7Sopenharmony_ci
543e5c31af7Sopenharmony_ciDynamically Uniform::
544e5c31af7Sopenharmony_ci    See _Dynamically Uniform_ in section 2.2 "`Terms`" of the
545e5c31af7Sopenharmony_ci    <<spirv-spec,Khronos SPIR-V Specification>>.
546e5c31af7Sopenharmony_ci
547e5c31af7Sopenharmony_ciifdef::VK_KHR_video_queue[]
548e5c31af7Sopenharmony_ciEncode Input Picture::
549e5c31af7Sopenharmony_ci    A video picture resource used as the input of a video encode operation.
550e5c31af7Sopenharmony_ciendif::VK_KHR_video_queue[]
551e5c31af7Sopenharmony_ci
552e5c31af7Sopenharmony_ciElement::
553e5c31af7Sopenharmony_ci    Arrays are composed of multiple elements, where each element exists at a
554e5c31af7Sopenharmony_ci    unique index within that array.
555e5c31af7Sopenharmony_ci    Used primarily to describe data passed to or returned from the Vulkan
556e5c31af7Sopenharmony_ci    API.
557e5c31af7Sopenharmony_ci
558e5c31af7Sopenharmony_ciExplicitly-Enabled Layer::
559e5c31af7Sopenharmony_ci    A layer enabled by the application by adding it to the enabled layer
560e5c31af7Sopenharmony_ci    list in flink:vkCreateInstance or flink:vkCreateDevice.
561e5c31af7Sopenharmony_ci
562e5c31af7Sopenharmony_ciEvent::
563e5c31af7Sopenharmony_ci    A synchronization primitive that is signaled when execution of previous
564e5c31af7Sopenharmony_ci    commands completes through a specified set of pipeline stages.
565e5c31af7Sopenharmony_ci    Events can be waited on by the device and polled by the host.
566e5c31af7Sopenharmony_ci    Represented by a slink:VkEvent object.
567e5c31af7Sopenharmony_ci
568e5c31af7Sopenharmony_ciExecutable State (Command Buffer)::
569e5c31af7Sopenharmony_ci    A command buffer that has ended recording commands and can: be executed.
570e5c31af7Sopenharmony_ci    See also Initial State and Recording State.
571e5c31af7Sopenharmony_ci
572e5c31af7Sopenharmony_ciExecution Dependency::
573e5c31af7Sopenharmony_ci    A dependency that guarantees that certain pipeline stages`' work for a
574e5c31af7Sopenharmony_ci    first set of commands has completed execution before certain pipeline
575e5c31af7Sopenharmony_ci    stages`' work for a second set of commands begins execution.
576e5c31af7Sopenharmony_ci    This is accomplished via pipeline barriers, subpass dependencies,
577e5c31af7Sopenharmony_ci    events, or implicit ordering operations.
578e5c31af7Sopenharmony_ci
579e5c31af7Sopenharmony_ciExecution Dependency Chain::
580e5c31af7Sopenharmony_ci    A sequence of execution dependencies that transitively act as a single
581e5c31af7Sopenharmony_ci    execution dependency.
582e5c31af7Sopenharmony_ci
583e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
584e5c31af7Sopenharmony_ciExplicit chroma reconstruction::
585e5c31af7Sopenharmony_ci    An implementation of sampler {YCbCr} conversion which reconstructs
586e5c31af7Sopenharmony_ci    reduced-resolution chroma samples to luma resolution and then separately
587e5c31af7Sopenharmony_ci    performs texture sample interpolation.
588e5c31af7Sopenharmony_ci    This is distinct from an implicit implementation, which incorporates
589e5c31af7Sopenharmony_ci    chroma sample reconstruction into texture sample interpolation.
590e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
591e5c31af7Sopenharmony_ci
592e5c31af7Sopenharmony_ciExtension Scope::
593e5c31af7Sopenharmony_ci    The set of objects and commands that can: be affected by an extension.
594e5c31af7Sopenharmony_ci    Extensions are either device scope or instance scope.
595e5c31af7Sopenharmony_ci
596e5c31af7Sopenharmony_ciExtending Structure::
597e5c31af7Sopenharmony_ci    A structure type which may appear in the _pname:pNext chain_ of another
598e5c31af7Sopenharmony_ci    structure, extending the functionality of the other structure.
599e5c31af7Sopenharmony_ci    Extending structures may be defined by either core API versions or
600e5c31af7Sopenharmony_ci    extensions.
601e5c31af7Sopenharmony_ci
602e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_KHR_external_memory_capabilities,VK_KHR_external_semaphore_capabilities,VK_KHR_external_fence_capabilities[]
603e5c31af7Sopenharmony_ciExternal Handle::
604e5c31af7Sopenharmony_ci    A resource handle which has meaning outside of a specific Vulkan device
605e5c31af7Sopenharmony_ci    or its parent instance.
606e5c31af7Sopenharmony_ci    External handles may: be used to share resources between multiple Vulkan
607e5c31af7Sopenharmony_ci    devices in different instances, or between Vulkan and other APIs.
608e5c31af7Sopenharmony_ci    Some external handle types correspond to platform-defined handles, in
609e5c31af7Sopenharmony_ci    which case the resource may: outlive any particular Vulkan device or
610e5c31af7Sopenharmony_ci    instance and may: be transferred between processes, or otherwise
611e5c31af7Sopenharmony_ci    manipulated via functionality defined by the platform for that handle
612e5c31af7Sopenharmony_ci    type.
613e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_KHR_external_memory_capabilities,VK_KHR_external_semaphore_capabilities,VK_KHR_external_fence_capabilities[]
614e5c31af7Sopenharmony_ci
615e5c31af7Sopenharmony_ciExternal synchronization::
616e5c31af7Sopenharmony_ci    A type of synchronization required: of the application, where parameters
617e5c31af7Sopenharmony_ci    defined to be externally synchronized must: not be used simultaneously
618e5c31af7Sopenharmony_ci    in multiple threads.
619e5c31af7Sopenharmony_ci
620e5c31af7Sopenharmony_ciFacingness (Polygon)::
621e5c31af7Sopenharmony_ci    A classification of a polygon as either front-facing or back-facing,
622e5c31af7Sopenharmony_ci    depending on the orientation (winding order) of its vertices.
623e5c31af7Sopenharmony_ci
624e5c31af7Sopenharmony_ciFacingness (Fragment)::
625e5c31af7Sopenharmony_ci    A fragment is either front-facing or back-facing, depending on the
626e5c31af7Sopenharmony_ci    primitive it was generated from.
627e5c31af7Sopenharmony_ci    If the primitive was a polygon (regardless of polygon mode), the
628e5c31af7Sopenharmony_ci    fragment inherits the facingness of the polygon.
629e5c31af7Sopenharmony_ci    All other fragments are front-facing.
630e5c31af7Sopenharmony_ci
631e5c31af7Sopenharmony_ciFence::
632e5c31af7Sopenharmony_ci    A synchronization primitive that is signaled when a set of batches or
633e5c31af7Sopenharmony_ci    sparse binding operations complete execution on a queue.
634e5c31af7Sopenharmony_ci    Fences can: be waited on by the host.
635e5c31af7Sopenharmony_ci    Represented by a slink:VkFence object.
636e5c31af7Sopenharmony_ci
637e5c31af7Sopenharmony_ciifdef::VK_KHR_video_coding[]
638e5c31af7Sopenharmony_ciField (Video)::
639e5c31af7Sopenharmony_ci    Possibly discontinuous subregions of a frame.
640e5c31af7Sopenharmony_ci    Frames may: consist of two fields, a top field and a bottom field.
641e5c31af7Sopenharmony_ciendif::VK_KHR_video_coding[]
642e5c31af7Sopenharmony_ci
643e5c31af7Sopenharmony_ciFlat Shading::
644e5c31af7Sopenharmony_ci    A property of a vertex attribute that causes the value from a single
645e5c31af7Sopenharmony_ci    vertex (the provoking vertex) to be used for all vertices in a
646e5c31af7Sopenharmony_ci    primitive, and for interpolation of that attribute to return that single
647e5c31af7Sopenharmony_ci    value unaltered.
648e5c31af7Sopenharmony_ci
649e5c31af7Sopenharmony_ciFormat Features::
650e5c31af7Sopenharmony_ci    A set of features from elink:VkFormatFeatureFlagBits that a
651e5c31af7Sopenharmony_ci    elink:VkFormat is capable of using for various commands.
652e5c31af7Sopenharmony_ci    The list is determined by factors such as elink:VkImageTiling.
653e5c31af7Sopenharmony_ci
654e5c31af7Sopenharmony_ciFragment::
655e5c31af7Sopenharmony_ci    A rectangular framebuffer region with associated data produced by
656e5c31af7Sopenharmony_ci    <<primsrast,rasterization>> and processed by <<fragops,fragment
657e5c31af7Sopenharmony_ci    operations>> including the fragment shader.
658e5c31af7Sopenharmony_ci
659e5c31af7Sopenharmony_ci[[glossary-fragment-area]]
660e5c31af7Sopenharmony_ciFragment Area::
661e5c31af7Sopenharmony_ci    The width and height, in pixels, of a fragment.
662e5c31af7Sopenharmony_ci
663e5c31af7Sopenharmony_ciifdef::VK_EXT_fragment_density_map[]
664e5c31af7Sopenharmony_ci[[glossary-fragment-density]]
665e5c31af7Sopenharmony_ciFragment Density::
666e5c31af7Sopenharmony_ci    The ratio of fragments per framebuffer area in the x and y direction.
667e5c31af7Sopenharmony_ci
668e5c31af7Sopenharmony_ci[[glossary-fragment-density-texel-size]]
669e5c31af7Sopenharmony_ciFragment Density Texel Size::
670e5c31af7Sopenharmony_ci    The [eq]#(w,h)# framebuffer region in pixels that each texel in a
671e5c31af7Sopenharmony_ci    fragment density map applies to.
672e5c31af7Sopenharmony_ciendif::VK_EXT_fragment_density_map[]
673e5c31af7Sopenharmony_ci
674e5c31af7Sopenharmony_ciFragment Input Attachment Interface::
675e5c31af7Sopenharmony_ci    Variables with code:UniformConstant storage class and a decoration of
676e5c31af7Sopenharmony_ci    code:InputAttachmentIndex that are statically used by a fragment
677e5c31af7Sopenharmony_ci    shader's entry point, which receive values from input attachments.
678e5c31af7Sopenharmony_ci
679e5c31af7Sopenharmony_ciifdef::VK_AMD_shader_fragment_mask[]
680e5c31af7Sopenharmony_ciFragment Mask::
681e5c31af7Sopenharmony_ci    A lookup table that associates color samples with color fragment values.
682e5c31af7Sopenharmony_ciendif::VK_AMD_shader_fragment_mask[]
683e5c31af7Sopenharmony_ci
684e5c31af7Sopenharmony_ciFragment Output Interface::
685e5c31af7Sopenharmony_ci    A fragment shader entry point's variables with code:Output storage
686e5c31af7Sopenharmony_ci    class, which output to color and/or depth/stencil attachments.
687e5c31af7Sopenharmony_ci
688e5c31af7Sopenharmony_ciifdef::VK_KHR_video_queue[]
689e5c31af7Sopenharmony_ciFrame (Video)::
690e5c31af7Sopenharmony_ci    A multi-dimensional array of luma samples and an optional
691e5c31af7Sopenharmony_ci    multi-dimensional array of chroma samples.
692e5c31af7Sopenharmony_ciendif::VK_KHR_video_queue[]
693e5c31af7Sopenharmony_ci
694e5c31af7Sopenharmony_ciifdef::VK_EXT_shader_tile_image[]
695e5c31af7Sopenharmony_ci[[glossary-fragment-tile-image-interface]]
696e5c31af7Sopenharmony_ciFragment Tile Image Interface::
697e5c31af7Sopenharmony_ci    A fragment shader entry point's variables with code:TileImageEXT storage
698e5c31af7Sopenharmony_ci    class and a decoration of code:Location, which are used to read values
699e5c31af7Sopenharmony_ci    from color attachments.
700e5c31af7Sopenharmony_ciendif::VK_EXT_shader_tile_image[]
701e5c31af7Sopenharmony_ci
702e5c31af7Sopenharmony_ciFramebuffer::
703e5c31af7Sopenharmony_ci    A collection of image views and a set of dimensions that, in conjunction
704e5c31af7Sopenharmony_ci    with a render pass, define the inputs and outputs used by drawing
705e5c31af7Sopenharmony_ci    commands.
706e5c31af7Sopenharmony_ci    Represented by a slink:VkFramebuffer object.
707e5c31af7Sopenharmony_ci
708e5c31af7Sopenharmony_ciFramebuffer Attachment::
709e5c31af7Sopenharmony_ci    One of the image views used in a framebuffer.
710e5c31af7Sopenharmony_ci
711e5c31af7Sopenharmony_ciFramebuffer Coordinates::
712e5c31af7Sopenharmony_ci    A coordinate system in which adjacent pixels`' coordinates differ by 1
713e5c31af7Sopenharmony_ci    in x and/or y, with [eq]#(0,0)# in the upper left corner and pixel
714e5c31af7Sopenharmony_ci    centers at half-integers.
715e5c31af7Sopenharmony_ci
716e5c31af7Sopenharmony_ciFramebuffer-Space::
717e5c31af7Sopenharmony_ci    Operating with respect to framebuffer coordinates.
718e5c31af7Sopenharmony_ci
719e5c31af7Sopenharmony_ciFramebuffer-Local::
720e5c31af7Sopenharmony_ci    A framebuffer-local dependency guarantees that only for a single
721e5c31af7Sopenharmony_ci    framebuffer region, the first set of operations happens-before the
722e5c31af7Sopenharmony_ci    second set of operations.
723e5c31af7Sopenharmony_ci
724e5c31af7Sopenharmony_ciFramebuffer-Global::
725e5c31af7Sopenharmony_ci    A framebuffer-global dependency guarantees that for all framebuffer
726e5c31af7Sopenharmony_ci    regions, the first set of operations happens-before the second set of
727e5c31af7Sopenharmony_ci    operations.
728e5c31af7Sopenharmony_ci
729e5c31af7Sopenharmony_ciFramebuffer Region::
730e5c31af7Sopenharmony_ci    A framebuffer region is a set of sample (x, y, layer, sample)
731e5c31af7Sopenharmony_ci    coordinates that is a subset of the entire framebuffer.
732e5c31af7Sopenharmony_ci
733e5c31af7Sopenharmony_ciFront-Facing::
734e5c31af7Sopenharmony_ci    See Facingness.
735e5c31af7Sopenharmony_ci
736e5c31af7Sopenharmony_ciFull Compatibility::
737e5c31af7Sopenharmony_ci    A given version of the API is fully compatible with another version if
738e5c31af7Sopenharmony_ci    an application, relying only on valid behavior and functionality defined
739e5c31af7Sopenharmony_ci    by either of those specifications, is able to correctly run against each
740e5c31af7Sopenharmony_ci    version without any modification.
741e5c31af7Sopenharmony_ci    This assumes no active attempt by that application to not run when it
742e5c31af7Sopenharmony_ci    detects a different version.
743e5c31af7Sopenharmony_ci
744e5c31af7Sopenharmony_ciGlobal Command::
745e5c31af7Sopenharmony_ci    A Vulkan command for which the first argument is not a dispatchable
746e5c31af7Sopenharmony_ci    handle type.
747e5c31af7Sopenharmony_ci
748e5c31af7Sopenharmony_ciGlobal Workgroup::
749e5c31af7Sopenharmony_ci    A collection of local workgroups dispatched by a single dispatching
750e5c31af7Sopenharmony_ciifdef::VK_NV_mesh_shader,VK_EXT_mesh_shader[or single mesh task drawing]
751e5c31af7Sopenharmony_ci    command.
752e5c31af7Sopenharmony_ci
753e5c31af7Sopenharmony_ciHandle::
754e5c31af7Sopenharmony_ci    An opaque integer or pointer value used to refer to a Vulkan object.
755e5c31af7Sopenharmony_ci    Each object type has a unique handle type.
756e5c31af7Sopenharmony_ci
757e5c31af7Sopenharmony_ciHappen-after, happens-after::
758e5c31af7Sopenharmony_ci    A transitive, irreflexive and antisymmetric ordering relation between
759e5c31af7Sopenharmony_ci    operations.
760e5c31af7Sopenharmony_ci    An execution dependency with a source of *A* and a destination of *B*
761e5c31af7Sopenharmony_ci    enforces that *B* happens-after *A*.
762e5c31af7Sopenharmony_ci    The inverse relation of happens-before.
763e5c31af7Sopenharmony_ci
764e5c31af7Sopenharmony_ciHappen-before, happens-before::
765e5c31af7Sopenharmony_ci    A transitive, irreflexive and antisymmetric ordering relation between
766e5c31af7Sopenharmony_ci    operations.
767e5c31af7Sopenharmony_ci    An execution dependency with a source of *A* and a destination of *B*
768e5c31af7Sopenharmony_ci    enforces that *A* happens-before *B*.
769e5c31af7Sopenharmony_ci    The inverse relation of happens-after.
770e5c31af7Sopenharmony_ci
771e5c31af7Sopenharmony_ciHelper Invocation::
772e5c31af7Sopenharmony_ci    A fragment shader invocation that is created solely for the purposes of
773e5c31af7Sopenharmony_ci    evaluating derivatives for use in non-helper fragment shader
774e5c31af7Sopenharmony_ci    invocations, and which does not have side effects.
775e5c31af7Sopenharmony_ci
776e5c31af7Sopenharmony_ciHost::
777e5c31af7Sopenharmony_ci    The processor(s) and execution environment that the application runs on,
778e5c31af7Sopenharmony_ci    and that the Vulkan API is exposed on.
779e5c31af7Sopenharmony_ci
780e5c31af7Sopenharmony_ciHost Mapped Device Memory::
781e5c31af7Sopenharmony_ci    Device memory that is mapped for host access using flink:vkMapMemory.
782e5c31af7Sopenharmony_ci
783e5c31af7Sopenharmony_ciifdef::VK_EXT_external_memory_host[]
784e5c31af7Sopenharmony_ciHost Mapped Foreign Memory::
785e5c31af7Sopenharmony_ci    Memory owned by a foreign device that is mapped for host access.
786e5c31af7Sopenharmony_ciendif::VK_EXT_external_memory_host[]
787e5c31af7Sopenharmony_ci
788e5c31af7Sopenharmony_ciHost Memory::
789e5c31af7Sopenharmony_ci    Memory not accessible to the device, used to store implementation data
790e5c31af7Sopenharmony_ci    structures.
791e5c31af7Sopenharmony_ci
792e5c31af7Sopenharmony_ciHost-Accessible Subresource::
793e5c31af7Sopenharmony_ci    A buffer, or a linear image subresource in either the
794e5c31af7Sopenharmony_ci    ename:VK_IMAGE_LAYOUT_PREINITIALIZED or ename:VK_IMAGE_LAYOUT_GENERAL
795e5c31af7Sopenharmony_ci    layout.
796e5c31af7Sopenharmony_ci    Host-accessible subresources have a well-defined addressing scheme which
797e5c31af7Sopenharmony_ci    can be used by the host.
798e5c31af7Sopenharmony_ci
799e5c31af7Sopenharmony_ciHost-Local Memory::
800e5c31af7Sopenharmony_ci    Memory that is not local to the device, and may: be less performant for
801e5c31af7Sopenharmony_ci    device access than device-local memory.
802e5c31af7Sopenharmony_ci
803e5c31af7Sopenharmony_ciHost-Visible Memory::
804e5c31af7Sopenharmony_ci    Device memory that can: be mapped on the host and can: be read and
805e5c31af7Sopenharmony_ci    written by the host.
806e5c31af7Sopenharmony_ci
807e5c31af7Sopenharmony_ciICD::
808e5c31af7Sopenharmony_ci    Installable Client Driver.
809e5c31af7Sopenharmony_ci    An ICD is represented as a slink:VkPhysicalDevice.
810e5c31af7Sopenharmony_ci
811e5c31af7Sopenharmony_ci[[glossary-identically-defined]]
812e5c31af7Sopenharmony_ciIdentically Defined Objects::
813e5c31af7Sopenharmony_ci    Objects of the same type where all arguments to their creation or
814e5c31af7Sopenharmony_ci    allocation functions, with the exception of pname:pAllocator, are +
815e5c31af7Sopenharmony_ci    . Vulkan handles which refer to the same object or
816e5c31af7Sopenharmony_ci    . identical scalar or enumeration values or
817e5c31af7Sopenharmony_ci    . Host pointers which point to an array of values or structures which
818e5c31af7Sopenharmony_ci      also satisfy these three constraints.
819e5c31af7Sopenharmony_ci
820e5c31af7Sopenharmony_ciImage::
821e5c31af7Sopenharmony_ci    A resource that represents a multi-dimensional formatted interpretation
822e5c31af7Sopenharmony_ci    of device memory.
823e5c31af7Sopenharmony_ci    Represented by a slink:VkImage object.
824e5c31af7Sopenharmony_ci
825e5c31af7Sopenharmony_ciImage Subresource::
826e5c31af7Sopenharmony_ci    A specific mipmap level, layer, and set of aspects of an image.
827e5c31af7Sopenharmony_ci
828e5c31af7Sopenharmony_ciImage Subresource Range::
829e5c31af7Sopenharmony_ci    A set of image subresources that are contiguous mipmap levels and
830e5c31af7Sopenharmony_ci    layers.
831e5c31af7Sopenharmony_ci
832e5c31af7Sopenharmony_ciImage View::
833e5c31af7Sopenharmony_ci    An object that represents an image subresource range of a specific
834e5c31af7Sopenharmony_ci    image, and state controlling how the contents are interpreted.
835e5c31af7Sopenharmony_ci    Represented by a slink:VkImageView object.
836e5c31af7Sopenharmony_ci
837e5c31af7Sopenharmony_ciImmutable Sampler::
838e5c31af7Sopenharmony_ci    A sampler descriptor provided at descriptor set layout creation time for
839e5c31af7Sopenharmony_ci    a specific binding.
840e5c31af7Sopenharmony_ci    This sampler is then used for that binding in all descriptor sets
841e5c31af7Sopenharmony_ci    allocated with the layout, and it cannot: be changed.
842e5c31af7Sopenharmony_ci
843e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
844e5c31af7Sopenharmony_ciImplicit chroma reconstruction::
845e5c31af7Sopenharmony_ci    An implementation of sampler {YCbCr} conversion which reconstructs the
846e5c31af7Sopenharmony_ci    reduced-resolution chroma samples directly at the sample point, as part
847e5c31af7Sopenharmony_ci    of the normal texture sampling operation.
848e5c31af7Sopenharmony_ci    This is distinct from an _explicit chroma reconstruction_
849e5c31af7Sopenharmony_ci    implementation, which reconstructs the reduced-resolution chroma samples
850e5c31af7Sopenharmony_ci    to the resolution of the luma samples, then filters the result as part
851e5c31af7Sopenharmony_ci    of texture sample interpolation.
852e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
853e5c31af7Sopenharmony_ci
854e5c31af7Sopenharmony_ciImplicitly-Enabled Layer::
855e5c31af7Sopenharmony_ci    A layer enabled by a loader-defined mechanism outside the Vulkan API,
856e5c31af7Sopenharmony_ci    rather than explicitly by the application during instance or device
857e5c31af7Sopenharmony_ci    creation.
858e5c31af7Sopenharmony_ci
859e5c31af7Sopenharmony_ciifdef::VK_NV_ray_tracing,VK_KHR_acceleration_structure[]
860e5c31af7Sopenharmony_ciInactive Object (Ray Tracing)::
861e5c31af7Sopenharmony_ci    A primitive or instance in a ray tracing acceleration structure which
862e5c31af7Sopenharmony_ci    has a corresponding ID, but which will never report an intersection with
863e5c31af7Sopenharmony_ci    any ray.
864e5c31af7Sopenharmony_ciendif::VK_NV_ray_tracing,VK_KHR_acceleration_structure[]
865e5c31af7Sopenharmony_ci
866e5c31af7Sopenharmony_ciIndex Buffer::
867e5c31af7Sopenharmony_ci    A buffer bound via flink:vkCmdBindIndexBuffer which is the source of
868e5c31af7Sopenharmony_ci    index values used to fetch vertex attributes for a
869e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndexed or flink:vkCmdDrawIndexedIndirect command.
870e5c31af7Sopenharmony_ci
871e5c31af7Sopenharmony_ciIndexed Drawing Commands::
872e5c31af7Sopenharmony_ci    _Drawing commands_ which use an _index buffer_ as the source of index
873e5c31af7Sopenharmony_ci    values used to fetch vertex attributes for a drawing command.
874e5c31af7Sopenharmony_ci    Includes flink:vkCmdDrawIndexed,
875e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2[]
876e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndexedIndirectCount,
877e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2[]
878e5c31af7Sopenharmony_ciifdef::VK_KHR_draw_indirect_count[]
879e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndexedIndirectCountKHR,
880e5c31af7Sopenharmony_ciendif::VK_KHR_draw_indirect_count[]
881e5c31af7Sopenharmony_ciifdef::VK_AMD_draw_indirect_count[]
882e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndexedIndirectCountAMD,
883e5c31af7Sopenharmony_ciendif::VK_AMD_draw_indirect_count[]
884e5c31af7Sopenharmony_ciifdef::VK_EXT_multi_draw[]
885e5c31af7Sopenharmony_ci    flink:vkCmdDrawMultiIndexedEXT,
886e5c31af7Sopenharmony_ciendif::VK_EXT_multi_draw[]
887e5c31af7Sopenharmony_ci    and flink:vkCmdDrawIndexedIndirect.
888e5c31af7Sopenharmony_ci
889e5c31af7Sopenharmony_ciIndirect Commands::
890e5c31af7Sopenharmony_ci    Drawing or dispatching commands that source some of their parameters
891e5c31af7Sopenharmony_ci    from structures in buffer memory.
892e5c31af7Sopenharmony_ci    Includes flink:vkCmdDrawIndirect, flink:vkCmdDrawIndexedIndirect,
893e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2[]
894e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndirectCount, flink:vkCmdDrawIndexedIndirectCount,
895e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2[]
896e5c31af7Sopenharmony_ciifdef::VK_KHR_draw_indirect_count[]
897e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndirectCountKHR, flink:vkCmdDrawIndexedIndirectCountKHR,
898e5c31af7Sopenharmony_ciendif::VK_KHR_draw_indirect_count[]
899e5c31af7Sopenharmony_ciifdef::VK_AMD_draw_indirect_count[]
900e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndirectCountAMD, flink:vkCmdDrawIndexedIndirectCountAMD,
901e5c31af7Sopenharmony_ciendif::VK_AMD_draw_indirect_count[]
902e5c31af7Sopenharmony_ciifdef::VK_NV_mesh_shader[]
903e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksIndirectNV,
904e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksIndirectCountNV,
905e5c31af7Sopenharmony_ciendif::VK_NV_mesh_shader[]
906e5c31af7Sopenharmony_ciifdef::VK_EXT_mesh_shader[]
907e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksIndirectEXT,
908e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksIndirectCountEXT,
909e5c31af7Sopenharmony_ciendif::VK_EXT_mesh_shader[]
910e5c31af7Sopenharmony_ci    and flink:vkCmdDispatchIndirect.
911e5c31af7Sopenharmony_ci
912e5c31af7Sopenharmony_ciifdef::VK_NV_device_generated_commands[]
913e5c31af7Sopenharmony_ciIndirect Commands Layout::
914e5c31af7Sopenharmony_ci    A definition of a sequence of commands, that are generated on the device
915e5c31af7Sopenharmony_ci    via flink:vkCmdPreprocessGeneratedCommandsNV and
916e5c31af7Sopenharmony_ci    flink:vkCmdExecuteGeneratedCommandsNV.
917e5c31af7Sopenharmony_ci    Each sequence is comprised of multiple
918e5c31af7Sopenharmony_ci    elink:VkIndirectCommandsTokenTypeNV, which represent a subset of
919e5c31af7Sopenharmony_ci    traditional command buffer commands.
920e5c31af7Sopenharmony_ci    Represented as slink:VkIndirectCommandsLayoutNV.
921e5c31af7Sopenharmony_ciendif::VK_NV_device_generated_commands[]
922e5c31af7Sopenharmony_ci
923e5c31af7Sopenharmony_ciIndirect Drawing Commands::
924e5c31af7Sopenharmony_ci    _Drawing commands_ that source some of their parameters from structures
925e5c31af7Sopenharmony_ci    in buffer memory.
926e5c31af7Sopenharmony_ci    Includes flink:vkCmdDrawIndirect,
927e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2[]
928e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndirectCount, flink:vkCmdDrawIndexedIndirectCount,
929e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2[]
930e5c31af7Sopenharmony_ciifdef::VK_KHR_draw_indirect_count[]
931e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndirectCountKHR, flink:vkCmdDrawIndexedIndirectCountKHR,
932e5c31af7Sopenharmony_ciendif::VK_KHR_draw_indirect_count[]
933e5c31af7Sopenharmony_ciifdef::VK_AMD_draw_indirect_count[]
934e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndirectCountAMD, flink:vkCmdDrawIndexedIndirectCountAMD,
935e5c31af7Sopenharmony_ciendif::VK_AMD_draw_indirect_count[]
936e5c31af7Sopenharmony_ciifdef::VK_NV_mesh_shader[]
937e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksIndirectNV,
938e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksIndirectCountNV,
939e5c31af7Sopenharmony_ciendif::VK_NV_mesh_shader[]
940e5c31af7Sopenharmony_ciifdef::VK_EXT_mesh_shader[]
941e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksIndirectEXT,
942e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksIndirectCountEXT,
943e5c31af7Sopenharmony_ciendif::VK_EXT_mesh_shader[]
944e5c31af7Sopenharmony_ci    and flink:vkCmdDrawIndexedIndirect.
945e5c31af7Sopenharmony_ci
946e5c31af7Sopenharmony_ciInitial State (Command Buffer)::
947e5c31af7Sopenharmony_ci    A command buffer that has not begun recording commands.
948e5c31af7Sopenharmony_ci    See also Recording State and Executable State.
949e5c31af7Sopenharmony_ci
950e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_3,VK_EXT_inline_uniform_block[]
951e5c31af7Sopenharmony_ciInline Uniform Block::
952e5c31af7Sopenharmony_ci    A descriptor type that represents uniform data stored directly in
953e5c31af7Sopenharmony_ci    descriptor sets, and supports read-only access in a shader.
954e5c31af7Sopenharmony_ciendif::VK_VERSION_1_3,VK_EXT_inline_uniform_block[]
955e5c31af7Sopenharmony_ci
956e5c31af7Sopenharmony_ciInput Attachment::
957e5c31af7Sopenharmony_ci    A descriptor type that represents an image view, and supports unfiltered
958e5c31af7Sopenharmony_ci    read-only access in a shader, only at the fragment's location in the
959e5c31af7Sopenharmony_ci    view.
960e5c31af7Sopenharmony_ci
961e5c31af7Sopenharmony_ciInstance::
962e5c31af7Sopenharmony_ci    The top-level Vulkan object, which represents the application's
963e5c31af7Sopenharmony_ci    connection to the implementation.
964e5c31af7Sopenharmony_ci    Represented by a slink:VkInstance object.
965e5c31af7Sopenharmony_ci
966e5c31af7Sopenharmony_ciInstance-Level Command::
967e5c31af7Sopenharmony_ci    Any command that is dispatched from an instance, or from a child object
968e5c31af7Sopenharmony_ci    of an instance, except for physical devices and their children.
969e5c31af7Sopenharmony_ci
970e5c31af7Sopenharmony_ciInstance-Level Functionality::
971e5c31af7Sopenharmony_ci    All instance-level commands and objects, and their structures,
972e5c31af7Sopenharmony_ci    enumerated types, and enumerants.
973e5c31af7Sopenharmony_ci
974e5c31af7Sopenharmony_ciInstance-Level Object::
975e5c31af7Sopenharmony_ci    High-level Vulkan objects, which are not physical devices, nor children
976e5c31af7Sopenharmony_ci    of physical devices.
977e5c31af7Sopenharmony_ci    For example, slink:VkInstance is an instance-level object.
978e5c31af7Sopenharmony_ci
979e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_KHR_device_group[]
980e5c31af7Sopenharmony_ciInstance (Memory)::
981e5c31af7Sopenharmony_ci    In a logical device representing more than one physical device, some
982e5c31af7Sopenharmony_ci    device memory allocations have the requested amount of memory allocated
983e5c31af7Sopenharmony_ci    multiple times, once for each physical device in a device mask.
984e5c31af7Sopenharmony_ci    Each such replicated allocation is an instance of the device memory.
985e5c31af7Sopenharmony_ci
986e5c31af7Sopenharmony_ciInstance (Resource)::
987e5c31af7Sopenharmony_ci    In a logical device representing more than one physical device, buffer
988e5c31af7Sopenharmony_ci    and image resources exist on all physical devices but can: be bound to
989e5c31af7Sopenharmony_ci    memory differently on each.
990e5c31af7Sopenharmony_ci    Each such replicated resource is an instance of the resource.
991e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_KHR_device_group[]
992e5c31af7Sopenharmony_ci
993e5c31af7Sopenharmony_ciInternal Synchronization::
994e5c31af7Sopenharmony_ci    A type of synchronization required: of the implementation, where
995e5c31af7Sopenharmony_ci    parameters not defined to be externally synchronized may: require
996e5c31af7Sopenharmony_ci    internal mutexing to avoid multithreaded race conditions.
997e5c31af7Sopenharmony_ci
998e5c31af7Sopenharmony_ciInvocation (Shader)::
999e5c31af7Sopenharmony_ci    A single execution of an entry point in a SPIR-V module.
1000e5c31af7Sopenharmony_ci    For example, a single vertex's execution of a vertex shader or a single
1001e5c31af7Sopenharmony_ci    fragment's execution of a fragment shader.
1002e5c31af7Sopenharmony_ci
1003e5c31af7Sopenharmony_ciInvocation Group::
1004e5c31af7Sopenharmony_ci    A set of shader invocations that are executed in parallel and that must:
1005e5c31af7Sopenharmony_ci    execute the same control flow path in order for control flow to be
1006e5c31af7Sopenharmony_ci    considered dynamically uniform.
1007e5c31af7Sopenharmony_ci
1008e5c31af7Sopenharmony_ciifdef::VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing[]
1009e5c31af7Sopenharmony_ciInvocation Repack Instruction::
1010e5c31af7Sopenharmony_ci    A ray tracing <<ray-tracing-repack,instruction>> where the
1011e5c31af7Sopenharmony_ci    implementation may: change the set of invocations that are executing.
1012e5c31af7Sopenharmony_ciendif::VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing[]
1013e5c31af7Sopenharmony_ci
1014e5c31af7Sopenharmony_ciifdef::VK_KHR_deferred_host_operations[]
1015e5c31af7Sopenharmony_ciJoin (Deferred Host Operations)::
1016e5c31af7Sopenharmony_ci    The act of instructing a thread to participate in the execution of a
1017e5c31af7Sopenharmony_ci    deferred operation.
1018e5c31af7Sopenharmony_ci    See <<deferred-host-operations, Deferred Host Operations>>.
1019e5c31af7Sopenharmony_ciendif::VK_KHR_deferred_host_operations[]
1020e5c31af7Sopenharmony_ci
1021e5c31af7Sopenharmony_ciifdef::VK_NV_linear_color_attachment[]
1022e5c31af7Sopenharmony_ci[[glossary-linear-color-attachment]]
1023e5c31af7Sopenharmony_ciLinear Color Attachment::
1024e5c31af7Sopenharmony_ci    A color attachment with linear tiling
1025e5c31af7Sopenharmony_ciendif::VK_NV_linear_color_attachment[]
1026e5c31af7Sopenharmony_ci
1027e5c31af7Sopenharmony_ci[[glossary-linear-resource]]
1028e5c31af7Sopenharmony_ciLinear Resource::
1029e5c31af7Sopenharmony_ci+
1030e5c31af7Sopenharmony_ci--
1031e5c31af7Sopenharmony_ciA resource is _linear_ if it is one of the following:
1032e5c31af7Sopenharmony_ci
1033e5c31af7Sopenharmony_ci  * a slink:VkBuffer
1034e5c31af7Sopenharmony_ci  * a slink:VkImage created with ename:VK_IMAGE_TILING_LINEAR
1035e5c31af7Sopenharmony_ciifdef::VK_EXT_image_drm_format_modifier[]
1036e5c31af7Sopenharmony_ci  * a slink:VkImage created with
1037e5c31af7Sopenharmony_ci    ename:VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT and whose
1038e5c31af7Sopenharmony_ci    <<glossary-drm-format-modifier,Linux DRM format modifier>> is
1039e5c31af7Sopenharmony_ci    code:DRM_FORMAT_MOD_LINEAR
1040e5c31af7Sopenharmony_ciendif::VK_EXT_image_drm_format_modifier[]
1041e5c31af7Sopenharmony_ciifdef::VK_NV_ray_tracing[]
1042e5c31af7Sopenharmony_ci  * a slink:VkAccelerationStructureNV
1043e5c31af7Sopenharmony_ciendif::VK_NV_ray_tracing[]
1044e5c31af7Sopenharmony_ciifdef::VK_KHR_acceleration_structure[]
1045e5c31af7Sopenharmony_ci
1046e5c31af7Sopenharmony_ciBecause a slink:VkAccelerationStructureKHR resource does not have memory
1047e5c31af7Sopenharmony_cibound to it directly, it is considered neither linear nor non-linear.
1048e5c31af7Sopenharmony_ciHowever, the slink:VkBuffer on which a slink:VkAccelerationStructureKHR
1049e5c31af7Sopenharmony_ciresource is placed is a linear resource.
1050e5c31af7Sopenharmony_ciendif::VK_KHR_acceleration_structure[]
1051e5c31af7Sopenharmony_ci
1052e5c31af7Sopenharmony_ciA resource is _non-linear_ if it is one of the following:
1053e5c31af7Sopenharmony_ci
1054e5c31af7Sopenharmony_ci  * a slink:VkImage created with ename:VK_IMAGE_TILING_OPTIMAL
1055e5c31af7Sopenharmony_ciifdef::VK_EXT_image_drm_format_modifier[]
1056e5c31af7Sopenharmony_ci  * a slink:VkImage created with
1057e5c31af7Sopenharmony_ci    ename:VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT and whose
1058e5c31af7Sopenharmony_ci    <<glossary-drm-format-modifier,Linux DRM format modifier>> is not
1059e5c31af7Sopenharmony_ci    code:DRM_FORMAT_MOD_LINEAR
1060e5c31af7Sopenharmony_ciendif::VK_EXT_image_drm_format_modifier[]
1061e5c31af7Sopenharmony_ci--
1062e5c31af7Sopenharmony_ci
1063e5c31af7Sopenharmony_ciifdef::VK_EXT_image_drm_format_modifier[]
1064e5c31af7Sopenharmony_ci[[glossary-drm-format-modifier,Linux DRM format modifier]]
1065e5c31af7Sopenharmony_ciLinux DRM Format Modifier::
1066e5c31af7Sopenharmony_ci    A 64-bit, vendor-prefixed, semi-opaque unsigned integer describing
1067e5c31af7Sopenharmony_ci    vendor-specific details of an image's memory layout.
1068e5c31af7Sopenharmony_ci    In Linux graphics APIs, _modifiers_ are commonly used to specify the
1069e5c31af7Sopenharmony_ci    memory layout of externally shared images.
1070e5c31af7Sopenharmony_ci    An image has a _modifier_ if and only if it is created with pname:tiling
1071e5c31af7Sopenharmony_ci    equal to ename:VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT.
1072e5c31af7Sopenharmony_ci    For more details, refer to the appendix for extension
1073e5c31af7Sopenharmony_ci    `apiext:VK_EXT_image_drm_format_modifier`.
1074e5c31af7Sopenharmony_ciendif::VK_EXT_image_drm_format_modifier[]
1075e5c31af7Sopenharmony_ci
1076e5c31af7Sopenharmony_ciLocal Workgroup::
1077e5c31af7Sopenharmony_ci    A collection of compute shader invocations invoked by a single
1078e5c31af7Sopenharmony_ci    dispatching command, which share data via code:WorkgroupLocal variables
1079e5c31af7Sopenharmony_ci    and can synchronize with each other.
1080e5c31af7Sopenharmony_ci
1081e5c31af7Sopenharmony_ciLogical Device::
1082e5c31af7Sopenharmony_ci    An object that represents the application's interface to the physical
1083e5c31af7Sopenharmony_ci    device.
1084e5c31af7Sopenharmony_ci    The logical device is the parent of most Vulkan objects.
1085e5c31af7Sopenharmony_ci    Represented by a slink:VkDevice object.
1086e5c31af7Sopenharmony_ci
1087e5c31af7Sopenharmony_ciLogical Operation::
1088e5c31af7Sopenharmony_ci    Bitwise operations between a fragment color value and a value in a color
1089e5c31af7Sopenharmony_ci    attachment, that produce a final color value to be written to the
1090e5c31af7Sopenharmony_ci    attachment.
1091e5c31af7Sopenharmony_ci
1092e5c31af7Sopenharmony_ciLost Device::
1093e5c31af7Sopenharmony_ci    A state that a logical device may: be in as a result of unrecoverable
1094e5c31af7Sopenharmony_ci    implementation errors, or other exceptional conditions.
1095e5c31af7Sopenharmony_ci
1096e5c31af7Sopenharmony_ciMappable::
1097e5c31af7Sopenharmony_ci    See Host-Visible Memory.
1098e5c31af7Sopenharmony_ci
1099e5c31af7Sopenharmony_ciMemory Dependency::
1100e5c31af7Sopenharmony_ci    A memory dependency is an execution dependency which includes
1101e5c31af7Sopenharmony_ci    availability and visibility operations such that:
1102e5c31af7Sopenharmony_ci
1103e5c31af7Sopenharmony_ci  * The first set of operations happens-before the availability operation
1104e5c31af7Sopenharmony_ci  * The availability operation happens-before the visibility operation
1105e5c31af7Sopenharmony_ci  * The visibility operation happens-before the second set of operations
1106e5c31af7Sopenharmony_ci
1107e5c31af7Sopenharmony_ciMemory Domain::
1108e5c31af7Sopenharmony_ci    A memory domain is an abstract place to which memory writes are made
1109e5c31af7Sopenharmony_ci    available by availability operations and memory domain operations.
1110e5c31af7Sopenharmony_ci    The memory domains correspond to the set of agents that the write can:
1111e5c31af7Sopenharmony_ci    then be made visible to.
1112e5c31af7Sopenharmony_ci    The memory domains are _host_, _device_, _shader_, _workgroup instance_
1113e5c31af7Sopenharmony_ci    (for workgroup instance there is a unique domain for each compute
1114e5c31af7Sopenharmony_ci    workgroup) and _subgroup instance_ (for subgroup instance there is a
1115e5c31af7Sopenharmony_ci    unique domain for each subgroup).
1116e5c31af7Sopenharmony_ci
1117e5c31af7Sopenharmony_ciMemory Domain Operation::
1118e5c31af7Sopenharmony_ci    An operation that makes the writes that are available to one memory
1119e5c31af7Sopenharmony_ci    domain available to another memory domain.
1120e5c31af7Sopenharmony_ci
1121e5c31af7Sopenharmony_ciMemory Heap::
1122e5c31af7Sopenharmony_ci    A region of memory from which device memory allocations can: be made.
1123e5c31af7Sopenharmony_ci
1124e5c31af7Sopenharmony_ciMemory Type::
1125e5c31af7Sopenharmony_ci    An index used to select a set of memory properties (e.g. mappable,
1126e5c31af7Sopenharmony_ci    cached) for a device memory allocation.
1127e5c31af7Sopenharmony_ci
1128e5c31af7Sopenharmony_ciifdef::VK_NV_mesh_shader,VK_EXT_mesh_shader[]
1129e5c31af7Sopenharmony_ciMesh Shading Pipeline::
1130e5c31af7Sopenharmony_ci    A graphics pipeline where the primitives are assembled explicitly in the
1131e5c31af7Sopenharmony_ci    shader stages.
1132e5c31af7Sopenharmony_ci    In contrast to the primitive shading pipeline where input primitives are
1133e5c31af7Sopenharmony_ci    assembled by fixed function processing.
1134e5c31af7Sopenharmony_ci
1135e5c31af7Sopenharmony_ciMesh Tasks Drawing Commands::
1136e5c31af7Sopenharmony_ci    _Drawing commands_ which create shader invocations organized in
1137e5c31af7Sopenharmony_ci    workgroups for drawing mesh tasks.
1138e5c31af7Sopenharmony_ci    Includes
1139e5c31af7Sopenharmony_ciifdef::VK_NV_mesh_shader[]
1140e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksNV, flink:vkCmdDrawMeshTasksIndirectNV, and
1141e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksIndirectCountNV,
1142e5c31af7Sopenharmony_ciendif::VK_NV_mesh_shader[]
1143e5c31af7Sopenharmony_ciifdef::VK_EXT_mesh_shader[]
1144e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksEXT, flink:vkCmdDrawMeshTasksIndirectEXT, and
1145e5c31af7Sopenharmony_ci    flink:vkCmdDrawMeshTasksIndirectCountEXT
1146e5c31af7Sopenharmony_ciendif::VK_EXT_mesh_shader[]
1147e5c31af7Sopenharmony_ci    .
1148e5c31af7Sopenharmony_ciendif::VK_NV_mesh_shader,VK_EXT_mesh_shader[]
1149e5c31af7Sopenharmony_ci
1150e5c31af7Sopenharmony_ciMinimum Mip Level Size::
1151e5c31af7Sopenharmony_ci    The smallest size that is permitted for a mip level.
1152e5c31af7Sopenharmony_ci    For conventional images this is 1x1x1.
1153e5c31af7Sopenharmony_ciifdef::VK_NV_corner_sampled_image[]
1154e5c31af7Sopenharmony_ci    For corner-sampled images, this is 2x2x2.
1155e5c31af7Sopenharmony_ciendif::VK_NV_corner_sampled_image[]
1156e5c31af7Sopenharmony_ci    See <<resources-image-mip-level-sizing, Image Mip Level Sizing>>.
1157e5c31af7Sopenharmony_ci
1158e5c31af7Sopenharmony_ciMip Tail Region::
1159e5c31af7Sopenharmony_ci    The set of mipmap levels of a sparse residency texture that are too
1160e5c31af7Sopenharmony_ci    small to fill a sparse block, and that must: all be bound to memory
1161e5c31af7Sopenharmony_ci    collectively and opaquely.
1162e5c31af7Sopenharmony_ci
1163e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
1164e5c31af7Sopenharmony_ciMulti-planar::
1165e5c31af7Sopenharmony_ci    A _multi-planar format_ (or "`planar format`") is an image format
1166e5c31af7Sopenharmony_ci    consisting of more than one _plane_, identifiable with a etext:_2PLANE
1167e5c31af7Sopenharmony_ci    or etext:_3PLANE component to the format name and listed in
1168e5c31af7Sopenharmony_ci    <<formats-requiring-sampler-ycbcr-conversion>>.
1169e5c31af7Sopenharmony_ci    A _multi-planar image_ (or "`planar image`") is an image of a
1170e5c31af7Sopenharmony_ci    multi-planar format.
1171e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
1172e5c31af7Sopenharmony_ci
1173e5c31af7Sopenharmony_ciifdef::VK_EXT_nested_command_buffer[]
1174e5c31af7Sopenharmony_ciNested Command Buffers::
1175e5c31af7Sopenharmony_ci    A nested command buffer is a secondary command buffer that is executed
1176e5c31af7Sopenharmony_ci    by another secondary command buffer, which may itself execute other
1177e5c31af7Sopenharmony_ci    secondary command buffers.
1178e5c31af7Sopenharmony_ciendif::VK_EXT_nested_command_buffer[]
1179e5c31af7Sopenharmony_ci
1180e5c31af7Sopenharmony_ciNon-Dispatchable Handle::
1181e5c31af7Sopenharmony_ci    A handle of an integer handle type.
1182e5c31af7Sopenharmony_ci    Handle values may: not be unique, even for two objects of the same type.
1183e5c31af7Sopenharmony_ci
1184e5c31af7Sopenharmony_ciNon-Indexed Drawing Commands::
1185e5c31af7Sopenharmony_ci    _Drawing commands_ for which the vertex attributes are sourced in linear
1186e5c31af7Sopenharmony_ci    order from the vertex input attributes for a drawing command (i.e. they
1187e5c31af7Sopenharmony_ci    do not use an _index buffer_).
1188e5c31af7Sopenharmony_ci    Includes flink:vkCmdDraw,
1189e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2[]
1190e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndirectCount,
1191e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2[]
1192e5c31af7Sopenharmony_ciifdef::VK_KHR_draw_indirect_count[]
1193e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndirectCountKHR,
1194e5c31af7Sopenharmony_ciendif::VK_KHR_draw_indirect_count[]
1195e5c31af7Sopenharmony_ciifdef::VK_AMD_draw_indirect_count[]
1196e5c31af7Sopenharmony_ci    flink:vkCmdDrawIndirectCountAMD,
1197e5c31af7Sopenharmony_ciendif::VK_AMD_draw_indirect_count[]
1198e5c31af7Sopenharmony_ciifdef::VK_EXT_multi_draw[]
1199e5c31af7Sopenharmony_ci    flink:vkCmdDrawMultiEXT,
1200e5c31af7Sopenharmony_ciendif::VK_EXT_multi_draw[]
1201e5c31af7Sopenharmony_ci    and flink:vkCmdDrawIndirect.
1202e5c31af7Sopenharmony_ci
1203e5c31af7Sopenharmony_ciNormalized::
1204e5c31af7Sopenharmony_ci    A value that is interpreted as being in the range [eq]#[0,1]# as a
1205e5c31af7Sopenharmony_ci    result of being implicitly divided by some other value.
1206e5c31af7Sopenharmony_ci
1207e5c31af7Sopenharmony_ciNormalized Device Coordinates::
1208e5c31af7Sopenharmony_ci    A coordinate space after perspective division is applied to clip
1209e5c31af7Sopenharmony_ci    coordinates, and before the viewport transformation converts them to
1210e5c31af7Sopenharmony_ci    framebuffer coordinates.
1211e5c31af7Sopenharmony_ci
1212e5c31af7Sopenharmony_ciObsoleted (feature)::
1213e5c31af7Sopenharmony_ci    A feature is obsolete if it can no longer be used.
1214e5c31af7Sopenharmony_ci
1215e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2,VK_KHR_buffer_device_address[]
1216e5c31af7Sopenharmony_ciOpaque Capture Address::
1217e5c31af7Sopenharmony_ci    A 64-bit value representing the device address of a buffer or memory
1218e5c31af7Sopenharmony_ci    object that is expected to be used by trace capture/replay tools in
1219e5c31af7Sopenharmony_ci    combination with the <<features-bufferDeviceAddress,
1220e5c31af7Sopenharmony_ci    pname:bufferDeviceAddress>> feature.
1221e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2,VK_KHR_buffer_device_address[]
1222e5c31af7Sopenharmony_ci
1223e5c31af7Sopenharmony_ciOverlapped Range (Aliased Range)::
1224e5c31af7Sopenharmony_ci    The aliased range of a device memory allocation that intersects a given
1225e5c31af7Sopenharmony_ci    image subresource of an image or range of a buffer.
1226e5c31af7Sopenharmony_ci
1227e5c31af7Sopenharmony_ciOwnership (Resource)::
1228e5c31af7Sopenharmony_ci    If an entity (e.g. a queue family) has ownership of a resource, access
1229e5c31af7Sopenharmony_ci    to that resource is well-defined for access by that entity.
1230e5c31af7Sopenharmony_ci
1231e5c31af7Sopenharmony_ciPacked Format::
1232e5c31af7Sopenharmony_ci    A format whose components are stored as a single texel block in memory,
1233e5c31af7Sopenharmony_ci    with their relative locations defined within that element.
1234e5c31af7Sopenharmony_ci
1235e5c31af7Sopenharmony_ciifdef::VK_NV_geometry_shader_passthrough[]
1236e5c31af7Sopenharmony_ciPassthrough Geometry Shader::
1237e5c31af7Sopenharmony_ci    A geometry shader which uses the code:PassthroughNV decoration on a
1238e5c31af7Sopenharmony_ci    variable in its input interface.
1239e5c31af7Sopenharmony_ci    Output primitives in a passthrough geometry shader always have the same
1240e5c31af7Sopenharmony_ci    topology as the input primitive and are not produced by emitting
1241e5c31af7Sopenharmony_ci    vertices.
1242e5c31af7Sopenharmony_ciendif::VK_NV_geometry_shader_passthrough[]
1243e5c31af7Sopenharmony_ci
1244e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_KHR_external_semaphore,VK_KHR_external_fence[]
1245e5c31af7Sopenharmony_ciPayload::
1246e5c31af7Sopenharmony_ci    Importable or exportable reference to the internal data of an object in
1247e5c31af7Sopenharmony_ci    Vulkan.
1248e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_KHR_external_semaphore,VK_KHR_external_fence[]
1249e5c31af7Sopenharmony_ci
1250e5c31af7Sopenharmony_ciifdef::VK_NV_mesh_shader[]
1251e5c31af7Sopenharmony_ciPer-View::
1252e5c31af7Sopenharmony_ci    A variable that has an array of values which are output, one for each
1253e5c31af7Sopenharmony_ci    view that is being generated.
1254e5c31af7Sopenharmony_ci    A mesh shader which uses the code:PerViewNV decoration on a variable in
1255e5c31af7Sopenharmony_ci    its output interface.
1256e5c31af7Sopenharmony_ciendif::VK_NV_mesh_shader[]
1257e5c31af7Sopenharmony_ci
1258e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_KHR_device_group[]
1259e5c31af7Sopenharmony_ciPeer Memory::
1260e5c31af7Sopenharmony_ci    An instance of memory corresponding to a different physical device than
1261e5c31af7Sopenharmony_ci    the physical device performing the memory access, in a logical device
1262e5c31af7Sopenharmony_ci    that represents multiple physical devices.
1263e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_KHR_device_group[]
1264e5c31af7Sopenharmony_ci
1265e5c31af7Sopenharmony_ciPhysical Device::
1266e5c31af7Sopenharmony_ci    An object that represents a single device in the system.
1267e5c31af7Sopenharmony_ci    Represented by a slink:VkPhysicalDevice object.
1268e5c31af7Sopenharmony_ci
1269e5c31af7Sopenharmony_ciPhysical-Device-Level Command::
1270e5c31af7Sopenharmony_ci    Any command that is dispatched from a physical device.
1271e5c31af7Sopenharmony_ci
1272e5c31af7Sopenharmony_ciPhysical-Device-Level Functionality::
1273e5c31af7Sopenharmony_ci    All physical-device-level commands and objects, and their structures,
1274e5c31af7Sopenharmony_ci    enumerated types, and enumerants.
1275e5c31af7Sopenharmony_ci
1276e5c31af7Sopenharmony_ciPhysical-Device-Level Object::
1277e5c31af7Sopenharmony_ci    Physical device objects.
1278e5c31af7Sopenharmony_ci    For example, slink:VkPhysicalDevice is a physical-device-level object.
1279e5c31af7Sopenharmony_ci
1280e5c31af7Sopenharmony_ciPipeline::
1281e5c31af7Sopenharmony_ci    An object controlling how graphics or compute work is executed on the
1282e5c31af7Sopenharmony_ci    device.
1283e5c31af7Sopenharmony_ci    A pipeline includes one or more shaders, as well as state controlling
1284e5c31af7Sopenharmony_ci    any non-programmable stages of the pipeline.
1285e5c31af7Sopenharmony_ci    Represented by a slink:VkPipeline object.
1286e5c31af7Sopenharmony_ci
1287e5c31af7Sopenharmony_ciPipeline Barrier::
1288e5c31af7Sopenharmony_ci    An execution and/or memory dependency recorded as an explicit command in
1289e5c31af7Sopenharmony_ci    a command buffer, that forms a dependency between the previous and
1290e5c31af7Sopenharmony_ci    subsequent commands.
1291e5c31af7Sopenharmony_ci
1292e5c31af7Sopenharmony_ciPipeline Cache::
1293e5c31af7Sopenharmony_ci    An object that can: be used to collect and retrieve information from
1294e5c31af7Sopenharmony_ci    pipelines as they are created, and can: be populated with previously
1295e5c31af7Sopenharmony_ci    retrieved information in order to accelerate pipeline creation.
1296e5c31af7Sopenharmony_ci    Represented by a slink:VkPipelineCache object.
1297e5c31af7Sopenharmony_ci
1298e5c31af7Sopenharmony_ciifdef::VKSC_VERSION_1_0[]
1299e5c31af7Sopenharmony_ciPipeline JSON Schema::
1300e5c31af7Sopenharmony_ci    A JSON-based representation for encapsulating all pipeline state which
1301e5c31af7Sopenharmony_ci    is necessary for the offline pipeline cache compiler.
1302e5c31af7Sopenharmony_ci    This includes the SPIR-V shader module, pipeline layout, render pass
1303e5c31af7Sopenharmony_ci    information and pipeline state creation information.
1304e5c31af7Sopenharmony_ciendif::VKSC_VERSION_1_0[]
1305e5c31af7Sopenharmony_ci
1306e5c31af7Sopenharmony_ciPipeline Layout::
1307e5c31af7Sopenharmony_ci    An object defining the set of resources (via a collection of descriptor
1308e5c31af7Sopenharmony_ci    set layouts) and push constants used by pipelines that are created using
1309e5c31af7Sopenharmony_ci    the layout.
1310e5c31af7Sopenharmony_ci    Used when creating a pipeline and when binding descriptor sets and
1311e5c31af7Sopenharmony_ci    setting push constant values.
1312e5c31af7Sopenharmony_ci    Represented by a slink:VkPipelineLayout object.
1313e5c31af7Sopenharmony_ci
1314e5c31af7Sopenharmony_ciifdef::VK_KHR_pipeline_library[]
1315e5c31af7Sopenharmony_ciPipeline Library::
1316e5c31af7Sopenharmony_ci    A pipeline that cannot be directly used, instead defining a set of
1317e5c31af7Sopenharmony_ci    shaders and shader groups which will be <<pipelines-library,linked into
1318e5c31af7Sopenharmony_ci    other pipelines>>.
1319e5c31af7Sopenharmony_ciendif::VK_KHR_pipeline_library[]
1320e5c31af7Sopenharmony_ci
1321e5c31af7Sopenharmony_ciPipeline Stage::
1322e5c31af7Sopenharmony_ci    A logically independent execution unit that performs some of the
1323e5c31af7Sopenharmony_ci    operations defined by an action command.
1324e5c31af7Sopenharmony_ci
1325e5c31af7Sopenharmony_ciifdef::VKSC_VERSION_1_0[]
1326e5c31af7Sopenharmony_ciPipeline Identifier::
1327e5c31af7Sopenharmony_ci    An identifier that can be used to identify a specific pipeline
1328e5c31af7Sopenharmony_ci    independently from the pipeline description.
1329e5c31af7Sopenharmony_ciendif::VKSC_VERSION_1_0[]
1330e5c31af7Sopenharmony_ci
1331e5c31af7Sopenharmony_ciifdef::VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing[]
1332e5c31af7Sopenharmony_ci[[glossary-pipeline-trace-ray]]
1333e5c31af7Sopenharmony_ciPipeline Trace Ray Instruction::
1334e5c31af7Sopenharmony_ci    A ray tracing instruction which traces a ray into an acceleration
1335e5c31af7Sopenharmony_ci    structure when using ray tracing pipelines.
1336e5c31af7Sopenharmony_ci    One of:
1337e5c31af7Sopenharmony_ci
1338e5c31af7Sopenharmony_ciifdef::VK_NV_ray_tracing[]
1339e5c31af7Sopenharmony_ci  * code:OpTraceNV
1340e5c31af7Sopenharmony_ciendif::VK_NV_ray_tracing[]
1341e5c31af7Sopenharmony_ciifdef::VK_KHR_ray_tracing_pipeline[]
1342e5c31af7Sopenharmony_ci  * code:OpTraceRayKHR
1343e5c31af7Sopenharmony_ciendif::VK_KHR_ray_tracing_pipeline[]
1344e5c31af7Sopenharmony_ciifdef::VK_NV_ray_tracing_motion_blur[]
1345e5c31af7Sopenharmony_ci  * code:OpTraceRayMotionNV
1346e5c31af7Sopenharmony_ciifdef::VK_NV_ray_tracing[]
1347e5c31af7Sopenharmony_ci  * code:OpTraceMotionNV
1348e5c31af7Sopenharmony_ciendif::VK_NV_ray_tracing[]
1349e5c31af7Sopenharmony_ciendif::VK_NV_ray_tracing_motion_blur[]
1350e5c31af7Sopenharmony_ciifdef::VK_NV_ray_tracing_invocation_reorder[]
1351e5c31af7Sopenharmony_ci  * code:OpHitObjectTraceRayNV
1352e5c31af7Sopenharmony_ciifdef::VK_NV_ray_tracing_motion_blur[]
1353e5c31af7Sopenharmony_ci  * code:OpHitObjectTraceRayMotionNV
1354e5c31af7Sopenharmony_ciendif::VK_NV_ray_tracing_motion_blur[]
1355e5c31af7Sopenharmony_ciendif::VK_NV_ray_tracing_invocation_reorder[]
1356e5c31af7Sopenharmony_ci
1357e5c31af7Sopenharmony_ciendif::VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing[]
1358e5c31af7Sopenharmony_ci
1359e5c31af7Sopenharmony_cipname:pNext Chain::
1360e5c31af7Sopenharmony_ci    A set of structures <<fundamentals-validusage-pNext,chained together>>
1361e5c31af7Sopenharmony_ci    through their ptext:pNext members.
1362e5c31af7Sopenharmony_ci
1363e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
1364e5c31af7Sopenharmony_ciPlanar::
1365e5c31af7Sopenharmony_ci    See _multi-planar_.
1366e5c31af7Sopenharmony_ci
1367e5c31af7Sopenharmony_ciPlane::
1368e5c31af7Sopenharmony_ci    An _image plane_ is part of the representation of an image, containing a
1369e5c31af7Sopenharmony_ci    subset of the color components necessary to represent the texels in the
1370e5c31af7Sopenharmony_ci    image and with a contiguous mapping of coordinates to bound memory.
1371e5c31af7Sopenharmony_ci    Most images consist only of a single plane, but some formats spread the
1372e5c31af7Sopenharmony_ci    components across multiple image planes.
1373e5c31af7Sopenharmony_ci    The host-accessible properties of each image plane are accessible for a
1374e5c31af7Sopenharmony_ci    linear layout using flink:vkGetImageSubresourceLayout.
1375e5c31af7Sopenharmony_ci    If a multi-planar image is created with the
1376e5c31af7Sopenharmony_ci    ename:VK_IMAGE_CREATE_DISJOINT_BIT bit set, the image is described as
1377e5c31af7Sopenharmony_ci    _disjoint_, and its planes are therefore bound to memory independently.
1378e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
1379e5c31af7Sopenharmony_ci
1380e5c31af7Sopenharmony_ciPoint Sampling (Rasterization)::
1381e5c31af7Sopenharmony_ci    A rule that determines whether a fragment sample location is covered by
1382e5c31af7Sopenharmony_ci    a polygon primitive by testing whether the sample location is in the
1383e5c31af7Sopenharmony_ci    interior of the polygon in framebuffer-space, or on the boundary of the
1384e5c31af7Sopenharmony_ci    polygon according to the tie-breaking rules.
1385e5c31af7Sopenharmony_ci
1386e5c31af7Sopenharmony_ciPotential Format Features::
1387e5c31af7Sopenharmony_ci    The union of all elink:VkFormatFeatureFlagBits that the implementation
1388e5c31af7Sopenharmony_ci    supports for a specified elink:VkFormat, over all supported image
1389e5c31af7Sopenharmony_ci    tilings.
1390e5c31af7Sopenharmony_ciifdef::VK_ANDROID_external_memory_android_hardware_buffer[]
1391e5c31af7Sopenharmony_ci    For <<memory-external-android-hardware-buffer-external-formats,Android
1392e5c31af7Sopenharmony_ci    external formats>> the elink:VkFormatFeatureFlagBits is provided by the
1393e5c31af7Sopenharmony_ci    implementation.
1394e5c31af7Sopenharmony_ciendif::VK_ANDROID_external_memory_android_hardware_buffer[]
1395e5c31af7Sopenharmony_ciifdef::VK_QNX_external_memory_screen_buffer[]
1396e5c31af7Sopenharmony_ci    For <<memory-external-screen-buffer-external-formats,QNX Screen external
1397e5c31af7Sopenharmony_ci    formats>> the elink:VkFormatFeatureFlagBits is provided by the
1398e5c31af7Sopenharmony_ci    implementation.
1399e5c31af7Sopenharmony_ciendif::VK_QNX_external_memory_screen_buffer[]
1400e5c31af7Sopenharmony_ci
1401e5c31af7Sopenharmony_ciPre-rasterization::
1402e5c31af7Sopenharmony_ci    Operations that execute before <<primsrast,rasterization>>, and any
1403e5c31af7Sopenharmony_ci    state associated with those operations.
1404e5c31af7Sopenharmony_ci
1405e5c31af7Sopenharmony_ciifdef::VK_KHR_swapchain[]
1406e5c31af7Sopenharmony_ciPresentable image::
1407e5c31af7Sopenharmony_ci    A sname:VkImage object obtained from a sname:VkSwapchainKHR used to
1408e5c31af7Sopenharmony_ci    present to a sname:VkSurfaceKHR object.
1409e5c31af7Sopenharmony_ciendif::VK_KHR_swapchain[]
1410e5c31af7Sopenharmony_ci
1411e5c31af7Sopenharmony_ciPreserve Attachment::
1412e5c31af7Sopenharmony_ci    One of a list of attachments in a subpass description that is not read
1413e5c31af7Sopenharmony_ci    or written by the subpass, but that is read or written on earlier and
1414e5c31af7Sopenharmony_ci    later subpasses and whose contents must: be preserved through this
1415e5c31af7Sopenharmony_ci    subpass.
1416e5c31af7Sopenharmony_ci
1417e5c31af7Sopenharmony_ciPrimary Command Buffer::
1418e5c31af7Sopenharmony_ci    A command buffer that can: execute secondary command buffers, and can:
1419e5c31af7Sopenharmony_ci    be submitted directly to a queue.
1420e5c31af7Sopenharmony_ci
1421e5c31af7Sopenharmony_ciifdef::VK_NV_mesh_shader,VK_EXT_mesh_shader[]
1422e5c31af7Sopenharmony_ciPrimitive Shading Pipeline::
1423e5c31af7Sopenharmony_ci    A graphics pipeline where input primitives are assembled by fixed
1424e5c31af7Sopenharmony_ci    function processing.
1425e5c31af7Sopenharmony_ci    It is the counterpart to mesh shading.
1426e5c31af7Sopenharmony_ciendif::VK_NV_mesh_shader,VK_EXT_mesh_shader[]
1427e5c31af7Sopenharmony_ci
1428e5c31af7Sopenharmony_ciPrimitive Topology::
1429e5c31af7Sopenharmony_ci    State controlling how vertices are assembled into primitives, e.g. as
1430e5c31af7Sopenharmony_ci    lists of triangles, strips of lines, etc.
1431e5c31af7Sopenharmony_ci
1432e5c31af7Sopenharmony_ciPromoted (feature)::
1433e5c31af7Sopenharmony_ci    A feature from an older extension is considered promoted if it is made
1434e5c31af7Sopenharmony_ci    available as part of a new core version or newer extension with wider
1435e5c31af7Sopenharmony_ci    support.
1436e5c31af7Sopenharmony_ci
1437e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1[]
1438e5c31af7Sopenharmony_ciProtected Buffer::
1439e5c31af7Sopenharmony_ci    A buffer to which protected device memory can: be bound.
1440e5c31af7Sopenharmony_ci
1441e5c31af7Sopenharmony_ciProtected-capable Device Queue::
1442e5c31af7Sopenharmony_ci    A device queue to which protected command buffers can: be submitted.
1443e5c31af7Sopenharmony_ci
1444e5c31af7Sopenharmony_ciProtected Command Buffer::
1445e5c31af7Sopenharmony_ci    A command buffer which can: be submitted to a protected-capable device
1446e5c31af7Sopenharmony_ci    queue.
1447e5c31af7Sopenharmony_ci
1448e5c31af7Sopenharmony_ciProtected Device Memory::
1449e5c31af7Sopenharmony_ci    Device memory which can: be visible to the device but must: not be
1450e5c31af7Sopenharmony_ci    visible to the host.
1451e5c31af7Sopenharmony_ci
1452e5c31af7Sopenharmony_ciProtected Image::
1453e5c31af7Sopenharmony_ci    An image to which protected device memory can: be bound.
1454e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1[]
1455e5c31af7Sopenharmony_ci
1456e5c31af7Sopenharmony_ciProvisional::
1457e5c31af7Sopenharmony_ci    A feature is released provisionally in order to get wider feedback on
1458e5c31af7Sopenharmony_ci    the functionality before it is finalized.
1459e5c31af7Sopenharmony_ci    Provisional features may change in ways that break backwards
1460e5c31af7Sopenharmony_ci    compatibility, and thus are not recommended for use in production
1461e5c31af7Sopenharmony_ci    applications.
1462e5c31af7Sopenharmony_ci
1463e5c31af7Sopenharmony_ciProvoking Vertex::
1464e5c31af7Sopenharmony_ci    The vertex in a primitive from which flat shaded attribute values are
1465e5c31af7Sopenharmony_ci    taken.
1466e5c31af7Sopenharmony_ci    This is generally the "`first`" vertex in the primitive, and depends on
1467e5c31af7Sopenharmony_ci    the primitive topology.
1468e5c31af7Sopenharmony_ci
1469e5c31af7Sopenharmony_ciPush Constants::
1470e5c31af7Sopenharmony_ci    A small bank of values writable via the API and accessible in shaders.
1471e5c31af7Sopenharmony_ci    Push constants allow the application to set values used in shaders
1472e5c31af7Sopenharmony_ci    without creating buffers or modifying and binding descriptor sets for
1473e5c31af7Sopenharmony_ci    each update.
1474e5c31af7Sopenharmony_ci
1475e5c31af7Sopenharmony_ciPush Constant Interface::
1476e5c31af7Sopenharmony_ci    The set of variables with code:PushConstant storage class that are
1477e5c31af7Sopenharmony_ci    statically used by a shader entry point, and which receive values from
1478e5c31af7Sopenharmony_ci    push constant commands.
1479e5c31af7Sopenharmony_ci
1480e5c31af7Sopenharmony_ciifdef::VK_KHR_push_descriptor[]
1481e5c31af7Sopenharmony_ciPush Descriptors::
1482e5c31af7Sopenharmony_ci    Descriptors that are written directly into a command buffer rather than
1483e5c31af7Sopenharmony_ci    into a descriptor set.
1484e5c31af7Sopenharmony_ci    Push descriptors allow the application to set descriptors used in
1485e5c31af7Sopenharmony_ci    shaders without allocating or modifying descriptor sets for each update.
1486e5c31af7Sopenharmony_ciendif::VK_KHR_push_descriptor[]
1487e5c31af7Sopenharmony_ci
1488e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_KHR_descriptor_update_template[]
1489e5c31af7Sopenharmony_ciDescriptor Update Template::
1490e5c31af7Sopenharmony_ci    An object specifying a mapping from descriptor update information in
1491e5c31af7Sopenharmony_ci    host memory to elements in a descriptor set, which helps enable more
1492e5c31af7Sopenharmony_ci    efficient descriptor set updates.
1493e5c31af7Sopenharmony_ci
1494e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_KHR_descriptor_update_template[]
1495e5c31af7Sopenharmony_ci
1496e5c31af7Sopenharmony_ciQuery Pool::
1497e5c31af7Sopenharmony_ci    An object containing a number of query entries and their associated
1498e5c31af7Sopenharmony_ci    state and results.
1499e5c31af7Sopenharmony_ci    Represented by a slink:VkQueryPool object.
1500e5c31af7Sopenharmony_ci
1501e5c31af7Sopenharmony_ciQueue::
1502e5c31af7Sopenharmony_ci    An object that executes command buffers and sparse binding operations on
1503e5c31af7Sopenharmony_ci    a device.
1504e5c31af7Sopenharmony_ci    Represented by a slink:VkQueue object.
1505e5c31af7Sopenharmony_ci
1506e5c31af7Sopenharmony_ciQueue Family::
1507e5c31af7Sopenharmony_ci    A set of queues that have common properties and support the same
1508e5c31af7Sopenharmony_ci    functionality, as advertised in slink:VkQueueFamilyProperties.
1509e5c31af7Sopenharmony_ci
1510e5c31af7Sopenharmony_ciQueue Operation::
1511e5c31af7Sopenharmony_ci    A unit of work to be executed by a specific queue on a device, submitted
1512e5c31af7Sopenharmony_ci    via a <<devsandqueues-submission, queue submission command>>.
1513e5c31af7Sopenharmony_ci    Each queue submission command details the specific queue operations that
1514e5c31af7Sopenharmony_ci    occur as a result of calling that command.
1515e5c31af7Sopenharmony_ci    Queue operations typically include work that is specific to each
1516e5c31af7Sopenharmony_ci    command, and synchronization tasks.
1517e5c31af7Sopenharmony_ci
1518e5c31af7Sopenharmony_ciQueue Submission::
1519e5c31af7Sopenharmony_ci    Zero or more batches and an optional fence to be signaled, passed to a
1520e5c31af7Sopenharmony_ci    command for execution on a queue.
1521e5c31af7Sopenharmony_ci    See the <<devsandqueues-submission, Devices and Queues chapter>> for
1522e5c31af7Sopenharmony_ci    more information.
1523e5c31af7Sopenharmony_ci
1524e5c31af7Sopenharmony_ciifdef::VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing[]
1525e5c31af7Sopenharmony_ciRay Tracing Command::
1526e5c31af7Sopenharmony_ci    Commands that provoke work using a ray tracing pipeline.
1527e5c31af7Sopenharmony_ci    Includes
1528e5c31af7Sopenharmony_ciifdef::VK_NV_ray_tracing[flink:vkCmdTraceRaysNV,]
1529e5c31af7Sopenharmony_ciifdef::VK_KHR_ray_tracing_pipeline[flink:vkCmdTraceRaysKHR, and flink:vkCmdTraceRaysIndirectKHR]
1530e5c31af7Sopenharmony_ci    .
1531e5c31af7Sopenharmony_ciendif::VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing[]
1532e5c31af7Sopenharmony_ci
1533e5c31af7Sopenharmony_ciifdef::VK_KHR_video_queue[]
1534e5c31af7Sopenharmony_ciReconstructed Picture::
1535e5c31af7Sopenharmony_ci    A video picture resource reconstructed from a compressed bitstream using
1536e5c31af7Sopenharmony_ci    video decode or encode operations that can: be used as a reference
1537e5c31af7Sopenharmony_ci    picture by future video decode or encode operations with the same video
1538e5c31af7Sopenharmony_ci    session.
1539e5c31af7Sopenharmony_ciendif::VK_KHR_video_queue[]
1540e5c31af7Sopenharmony_ci
1541e5c31af7Sopenharmony_ciRecording State (Command Buffer)::
1542e5c31af7Sopenharmony_ci    A command buffer that is ready to record commands.
1543e5c31af7Sopenharmony_ci    See also Initial State and Executable State.
1544e5c31af7Sopenharmony_ci
1545e5c31af7Sopenharmony_ciifdef::VK_KHR_video_queue[]
1546e5c31af7Sopenharmony_ciReference Picture::
1547e5c31af7Sopenharmony_ci    A video picture resource used by video decode and encode operations to
1548e5c31af7Sopenharmony_ci    provide predictions of the values of samples in the subsequently decoded
1549e5c31af7Sopenharmony_ci    or encoded pictures.
1550e5c31af7Sopenharmony_ci
1551e5c31af7Sopenharmony_ciReference Picture Metadata::
1552e5c31af7Sopenharmony_ci    Opaque state associated with a DPB slot, maintained by a video session.
1553e5c31af7Sopenharmony_ciendif::VK_KHR_video_queue[]
1554e5c31af7Sopenharmony_ci
1555e5c31af7Sopenharmony_ciRelease Operation (Resource)::
1556e5c31af7Sopenharmony_ci    An operation that releases ownership of an image subresource or buffer
1557e5c31af7Sopenharmony_ci    range.
1558e5c31af7Sopenharmony_ci
1559e5c31af7Sopenharmony_ciRender Pass::
1560e5c31af7Sopenharmony_ci    An object that represents a set of framebuffer attachments and phases of
1561e5c31af7Sopenharmony_ci    rendering using those attachments.
1562e5c31af7Sopenharmony_ci    Represented by a slink:VkRenderPass object.
1563e5c31af7Sopenharmony_ci
1564e5c31af7Sopenharmony_ciRender Pass Instance::
1565e5c31af7Sopenharmony_ci    A use of a render pass in a command buffer.
1566e5c31af7Sopenharmony_ci
1567e5c31af7Sopenharmony_ciRequired Extensions::
1568e5c31af7Sopenharmony_ci    Extensions that must: be enabled alongside extensions dependent on them
1569e5c31af7Sopenharmony_ci    (see <<extendingvulkan-extensions-extensiondependencies, Extension
1570e5c31af7Sopenharmony_ci    Dependencies>>).
1571e5c31af7Sopenharmony_ci
1572e5c31af7Sopenharmony_ciReset (Command Buffer)::
1573e5c31af7Sopenharmony_ci    Resetting a command buffer discards any previously recorded commands and
1574e5c31af7Sopenharmony_ci    puts a command buffer in the initial state.
1575e5c31af7Sopenharmony_ci
1576e5c31af7Sopenharmony_ciResidency Code::
1577e5c31af7Sopenharmony_ci    An integer value returned by sparse image instructions, indicating
1578e5c31af7Sopenharmony_ci    whether any sparse unbound texels were accessed.
1579e5c31af7Sopenharmony_ci
1580e5c31af7Sopenharmony_ciResolve Attachment::
1581e5c31af7Sopenharmony_ci    A subpass attachment point, or image view, that is the target of a
1582e5c31af7Sopenharmony_ci    multisample resolve operation from the corresponding color attachment at
1583e5c31af7Sopenharmony_ci    the end of the subpass.
1584e5c31af7Sopenharmony_ci
1585e5c31af7Sopenharmony_ciifdef::VK_KHR_swapchain[]
1586e5c31af7Sopenharmony_ciRetired Swapchain::
1587e5c31af7Sopenharmony_ci    A swapchain that has been used as the pname:oldSwapchain parameter to
1588e5c31af7Sopenharmony_ci    flink:vkCreateSwapchainKHR.
1589e5c31af7Sopenharmony_ci    Images cannot be acquired from a retired swapchain, however images that
1590e5c31af7Sopenharmony_ci    were acquired (but not presented) before the swapchain was retired can:
1591e5c31af7Sopenharmony_ci    be presented.
1592e5c31af7Sopenharmony_ciendif::VK_KHR_swapchain[]
1593e5c31af7Sopenharmony_ci
1594e5c31af7Sopenharmony_ciSample Index::
1595e5c31af7Sopenharmony_ci    The index of a sample within a <<primsrast-multisampling-coverage-mask,
1596e5c31af7Sopenharmony_ci    single set of samples>>.
1597e5c31af7Sopenharmony_ci
1598e5c31af7Sopenharmony_ciSample Shading::
1599e5c31af7Sopenharmony_ci    Invoking the fragment shader multiple times per fragment, with the
1600e5c31af7Sopenharmony_ci    covered samples partitioned among the invocations.
1601e5c31af7Sopenharmony_ci
1602e5c31af7Sopenharmony_ciSampled Image::
1603e5c31af7Sopenharmony_ci    A descriptor type that represents an image view, and supports filtered
1604e5c31af7Sopenharmony_ci    (sampled) and unfiltered read-only access in a shader.
1605e5c31af7Sopenharmony_ci
1606e5c31af7Sopenharmony_ciSampler::
1607e5c31af7Sopenharmony_ci    An object containing state controlling how sampled image data is sampled
1608e5c31af7Sopenharmony_ci    (or filtered) when accessed in a shader.
1609e5c31af7Sopenharmony_ci    Also a descriptor type describing the object.
1610e5c31af7Sopenharmony_ci    Represented by a slink:VkSampler object.
1611e5c31af7Sopenharmony_ci
1612e5c31af7Sopenharmony_ciSecondary Command Buffer::
1613e5c31af7Sopenharmony_ci    A command buffer that can: be executed by a primary command buffer, and
1614e5c31af7Sopenharmony_ci    must: not be submitted directly to a queue.
1615e5c31af7Sopenharmony_ci
1616e5c31af7Sopenharmony_ciSelf-Dependency::
1617e5c31af7Sopenharmony_ci    A subpass dependency from a subpass to itself, i.e. with
1618e5c31af7Sopenharmony_ci    pname:srcSubpass equal to pname:dstSubpass.
1619e5c31af7Sopenharmony_ci    A self-dependency is not automatically performed during a render pass
1620e5c31af7Sopenharmony_ci    instance, rather a subset of it can: be performed via
1621e5c31af7Sopenharmony_ci    flink:vkCmdPipelineBarrier during the subpass.
1622e5c31af7Sopenharmony_ci
1623e5c31af7Sopenharmony_ciSemaphore::
1624e5c31af7Sopenharmony_ci    A synchronization primitive that supports signal and wait operations,
1625e5c31af7Sopenharmony_ci    and can: be used to synchronize operations within a queue or across
1626e5c31af7Sopenharmony_ci    queues.
1627e5c31af7Sopenharmony_ci    Represented by a slink:VkSemaphore object.
1628e5c31af7Sopenharmony_ci
1629e5c31af7Sopenharmony_ciShader::
1630e5c31af7Sopenharmony_ci    Instructions selected (via an entry point) from a shader module, which
1631e5c31af7Sopenharmony_ci    are executed in a shader stage.
1632e5c31af7Sopenharmony_ci
1633e5c31af7Sopenharmony_ciifdef::VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing[]
1634e5c31af7Sopenharmony_ciShader Call::
1635e5c31af7Sopenharmony_ci    An <<ray-tracing-shader-call,instruction>> which may: cause execution to
1636e5c31af7Sopenharmony_ci    continue in a different shader stage.
1637e5c31af7Sopenharmony_ciendif::VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing[]
1638e5c31af7Sopenharmony_ci
1639e5c31af7Sopenharmony_ciShader Code::
1640e5c31af7Sopenharmony_ci    A stream of instructions used to describe the operation of a shader.
1641e5c31af7Sopenharmony_ci
1642e5c31af7Sopenharmony_ciifdef::VK_NV_device_generated_commands,VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline[]
1643e5c31af7Sopenharmony_ciShader Group::
1644e5c31af7Sopenharmony_ci    A set of Shader Stages that are part of a slink:VkPipeline containing
1645e5c31af7Sopenharmony_ci    multiple of such sets.
1646e5c31af7Sopenharmony_ci    This allows the device to make use of all the shader groups from the
1647e5c31af7Sopenharmony_ci    bound pipeline independently.
1648e5c31af7Sopenharmony_ciendif::VK_NV_device_generated_commands,VK_NV_ray_tracing,VK_KHR_ray_tracing_pipeline[]
1649e5c31af7Sopenharmony_ci
1650e5c31af7Sopenharmony_ciShader Module::
1651e5c31af7Sopenharmony_ci    A collection of shader code, potentially including several functions and
1652e5c31af7Sopenharmony_ci    entry points, that is used to create shaders in pipelines.
1653e5c31af7Sopenharmony_ci    Represented by a slink:VkShaderModule object.
1654e5c31af7Sopenharmony_ci
1655e5c31af7Sopenharmony_ciShader Stage::
1656e5c31af7Sopenharmony_ci    A stage of the graphics or compute pipeline that executes shader code.
1657e5c31af7Sopenharmony_ci
1658e5c31af7Sopenharmony_ciifdef::VK_KHR_fragment_shading_rate,VK_NV_shading_rate_image[]
1659e5c31af7Sopenharmony_ci[[glossary-shading-rate]]
1660e5c31af7Sopenharmony_ciShading Rate::
1661e5c31af7Sopenharmony_ci    The ratio of the number of fragment shader invocations generated in a
1662e5c31af7Sopenharmony_ci    fully covered framebuffer region to the size (in pixels) of that region.
1663e5c31af7Sopenharmony_ciendif::VK_KHR_fragment_shading_rate,VK_NV_shading_rate_image[]
1664e5c31af7Sopenharmony_ci
1665e5c31af7Sopenharmony_ciifdef::VK_NV_shading_rate_image[]
1666e5c31af7Sopenharmony_ci[[glossary-shading-rate-image]]
1667e5c31af7Sopenharmony_ciShading Rate Image::
1668e5c31af7Sopenharmony_ci    An image used to establish the shading rate for a framebuffer region,
1669e5c31af7Sopenharmony_ci    where each pixel controls the shading rate for a corresponding
1670e5c31af7Sopenharmony_ci    framebuffer region.
1671e5c31af7Sopenharmony_ciendif::VK_NV_shading_rate_image[]
1672e5c31af7Sopenharmony_ci
1673e5c31af7Sopenharmony_ciifdef::VK_KHR_shared_presentable_image[]
1674e5c31af7Sopenharmony_ciShared presentable image::
1675e5c31af7Sopenharmony_ci    A presentable image created from a swapchain with elink:VkPresentModeKHR
1676e5c31af7Sopenharmony_ci    set to either ename:VK_PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR or
1677e5c31af7Sopenharmony_ci    ename:VK_PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR.
1678e5c31af7Sopenharmony_ciendif::VK_KHR_shared_presentable_image[]
1679e5c31af7Sopenharmony_ci
1680e5c31af7Sopenharmony_ciSide Effect::
1681e5c31af7Sopenharmony_ci    A store to memory or atomic operation on memory from a shader
1682e5c31af7Sopenharmony_ci    invocation.
1683e5c31af7Sopenharmony_ci
1684e5c31af7Sopenharmony_ciifdef::VKSC_VERSION_1_0[]
1685e5c31af7Sopenharmony_ciSingle Event Upset::
1686e5c31af7Sopenharmony_ci    A change of physical device state, such as a register or memory bitflip,
1687e5c31af7Sopenharmony_ci    e.g. caused by ionizing radiation.
1688e5c31af7Sopenharmony_ciendif::VKSC_VERSION_1_0[]
1689e5c31af7Sopenharmony_ci
1690e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
1691e5c31af7Sopenharmony_ciSingle-plane format::
1692e5c31af7Sopenharmony_ci    A format that is not _multi-planar_.
1693e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_KHR_sampler_ycbcr_conversion[]
1694e5c31af7Sopenharmony_ci
1695e5c31af7Sopenharmony_ciSize-Compatible Image Formats::
1696e5c31af7Sopenharmony_ci    When a compressed image format and an uncompressed image format are
1697e5c31af7Sopenharmony_ci    size-compatible, it means that the texel block size of the uncompressed
1698e5c31af7Sopenharmony_ci    format must: equal the texel block size of the compressed format.
1699e5c31af7Sopenharmony_ci
1700e5c31af7Sopenharmony_ciSparse Block::
1701e5c31af7Sopenharmony_ci    An element of a sparse resource that can be independently bound to
1702e5c31af7Sopenharmony_ci    memory.
1703e5c31af7Sopenharmony_ci    Sparse blocks of a particular sparse resource have a corresponding size
1704e5c31af7Sopenharmony_ci    in bytes that they use in the bound memory.
1705e5c31af7Sopenharmony_ci
1706e5c31af7Sopenharmony_ciSparse Image Block::
1707e5c31af7Sopenharmony_ci    A sparse block in a sparse partially-resident image.
1708e5c31af7Sopenharmony_ci    In addition to the sparse block size in bytes, sparse image blocks have
1709e5c31af7Sopenharmony_ci    a corresponding width, height, and depth defining the dimensions of
1710e5c31af7Sopenharmony_ci    these elements in units of texels or compressed texel blocks, the latter
1711e5c31af7Sopenharmony_ci    being used in case of sparse images having a block-compressed format.
1712e5c31af7Sopenharmony_ci
1713e5c31af7Sopenharmony_ciSparse Unbound Texel::
1714e5c31af7Sopenharmony_ci    A texel read from a region of a sparse texture that does not have memory
1715e5c31af7Sopenharmony_ci    bound to it.
1716e5c31af7Sopenharmony_ci
1717e5c31af7Sopenharmony_ciifdef::VK_NV_ray_tracing_motion_blur[]
1718e5c31af7Sopenharmony_ciSRT::
1719e5c31af7Sopenharmony_ci    A decomposition of a spatial transform separating out scale, rotation,
1720e5c31af7Sopenharmony_ci    and translation which has better linear interpolation properties for
1721e5c31af7Sopenharmony_ci    representing motion.
1722e5c31af7Sopenharmony_ciendif::VK_NV_ray_tracing_motion_blur[]
1723e5c31af7Sopenharmony_ci
1724e5c31af7Sopenharmony_ciStatic Use::
1725e5c31af7Sopenharmony_ci    An object in a shader is statically used by a shader entry point if any
1726e5c31af7Sopenharmony_ci    function in the entry point's call tree contains an instruction using
1727e5c31af7Sopenharmony_ci    the object.
1728e5c31af7Sopenharmony_ci    A reference in the entry point's interface list does not constitute a
1729e5c31af7Sopenharmony_ci    static use.
1730e5c31af7Sopenharmony_ci    Static use is used to constrain the set of descriptors used by a shader
1731e5c31af7Sopenharmony_ci    entry point.
1732e5c31af7Sopenharmony_ci
1733e5c31af7Sopenharmony_ciStorage Buffer::
1734e5c31af7Sopenharmony_ci    A descriptor type that represents a buffer, and supports reads, writes,
1735e5c31af7Sopenharmony_ci    and atomics in a shader.
1736e5c31af7Sopenharmony_ci
1737e5c31af7Sopenharmony_ciStorage Image::
1738e5c31af7Sopenharmony_ci    A descriptor type that represents an image view, and supports unfiltered
1739e5c31af7Sopenharmony_ci    loads, stores, and atomics in a shader.
1740e5c31af7Sopenharmony_ci
1741e5c31af7Sopenharmony_ciStorage Texel Buffer::
1742e5c31af7Sopenharmony_ci    A descriptor type that represents a buffer view, and supports
1743e5c31af7Sopenharmony_ci    unfiltered, formatted reads, writes, and atomics in a shader.
1744e5c31af7Sopenharmony_ci
1745e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_EXT_shader_subgroup_vote[]
1746e5c31af7Sopenharmony_ciSubgroup::
1747e5c31af7Sopenharmony_ci    A set of shader invocations that can: synchronize and share data with
1748e5c31af7Sopenharmony_ci    each other efficiently.
1749e5c31af7Sopenharmony_ci    In compute shaders, the _local workgroup_ is a superset of the subgroup.
1750e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_EXT_shader_subgroup_vote[]
1751e5c31af7Sopenharmony_ci
1752e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_EXT_shader_subgroup_ballot[]
1753e5c31af7Sopenharmony_ciSubgroup Mask::
1754e5c31af7Sopenharmony_ci    A bitmask for all invocations in the current subgroup with one bit per
1755e5c31af7Sopenharmony_ci    invocation, starting with the least significant bit in the first vector
1756e5c31af7Sopenharmony_ci    component, continuing to the last bit (less than code:SubgroupSize) in
1757e5c31af7Sopenharmony_ci    the last required vector component.
1758e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_EXT_shader_subgroup_ballot[]
1759e5c31af7Sopenharmony_ci
1760e5c31af7Sopenharmony_ciSubpass::
1761e5c31af7Sopenharmony_ci    A phase of rendering within a render pass, that reads and writes a
1762e5c31af7Sopenharmony_ci    subset of the attachments.
1763e5c31af7Sopenharmony_ci
1764e5c31af7Sopenharmony_ciSubpass Dependency::
1765e5c31af7Sopenharmony_ci    An execution and/or memory dependency between two subpasses described as
1766e5c31af7Sopenharmony_ci    part of render pass creation, and automatically performed between
1767e5c31af7Sopenharmony_ci    subpasses in a render pass instance.
1768e5c31af7Sopenharmony_ci    A subpass dependency limits the overlap of execution of the pair of
1769e5c31af7Sopenharmony_ci    subpasses, and can: provide guarantees of memory coherence between
1770e5c31af7Sopenharmony_ci    accesses in the subpasses.
1771e5c31af7Sopenharmony_ci
1772e5c31af7Sopenharmony_ciSubpass Description::
1773e5c31af7Sopenharmony_ci    Lists of attachment indices for input attachments, color attachments,
1774e5c31af7Sopenharmony_ci    depth/stencil attachment, resolve attachments,
1775e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2,VK_KHR_depth_stencil_resolve[]
1776e5c31af7Sopenharmony_ci    depth/stencil resolve,
1777e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2,VK_KHR_depth_stencil_resolve[]
1778e5c31af7Sopenharmony_ci    and preserve attachments used by the subpass in a render pass.
1779e5c31af7Sopenharmony_ci
1780e5c31af7Sopenharmony_ciSubset (Self-Dependency)::
1781e5c31af7Sopenharmony_ci    A subset of a self-dependency is a pipeline barrier performed during the
1782e5c31af7Sopenharmony_ci    subpass of the self-dependency, and whose stage masks and access masks
1783e5c31af7Sopenharmony_ci    each contain a subset of the bits set in the identically named mask in
1784e5c31af7Sopenharmony_ci    the self-dependency.
1785e5c31af7Sopenharmony_ci
1786e5c31af7Sopenharmony_ciTexel Block::
1787e5c31af7Sopenharmony_ci    A single addressable element of an image with an uncompressed
1788e5c31af7Sopenharmony_ci    elink:VkFormat, or a single compressed block of an image with a
1789e5c31af7Sopenharmony_ci    compressed elink:VkFormat.
1790e5c31af7Sopenharmony_ci
1791e5c31af7Sopenharmony_ciTexel Block Size::
1792e5c31af7Sopenharmony_ci    The size (in bytes) used to store a texel block of a compressed or
1793e5c31af7Sopenharmony_ci    uncompressed image.
1794e5c31af7Sopenharmony_ci
1795e5c31af7Sopenharmony_ciTexel Coordinate System::
1796e5c31af7Sopenharmony_ci    One of three coordinate systems (normalized, unnormalized, integer)
1797e5c31af7Sopenharmony_ci    defining how texel coordinates are interpreted in an image or a specific
1798e5c31af7Sopenharmony_ci    mipmap level of an image.
1799e5c31af7Sopenharmony_ci
1800e5c31af7Sopenharmony_ciifdef::VK_EXT_shader_tile_image[]
1801e5c31af7Sopenharmony_ci[[glossary-tile-image]]
1802e5c31af7Sopenharmony_ciTile Image::
1803e5c31af7Sopenharmony_ci    A per-tile view of a framebuffer attachment.
1804e5c31af7Sopenharmony_ci    If the `apiext:VK_EXT_shader_tile_image` extension is enabled, the
1805e5c31af7Sopenharmony_ci    framebuffer is considered to be divided into tiles.
1806e5c31af7Sopenharmony_ci
1807e5c31af7Sopenharmony_ciendif::VK_EXT_shader_tile_image[]
1808e5c31af7Sopenharmony_ci
1809e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_2,VK_KHR_timeline_semaphore[]
1810e5c31af7Sopenharmony_ciTimeline Semaphore::
1811e5c31af7Sopenharmony_ci    A semaphore with a strictly increasing 64-bit unsigned integer payload
1812e5c31af7Sopenharmony_ci    indicating whether the semaphore is signaled with respect to a
1813e5c31af7Sopenharmony_ci    particular reference value.
1814e5c31af7Sopenharmony_ci    Represented by a slink:VkSemaphore object created with a semaphore type
1815e5c31af7Sopenharmony_ci    of ename:VK_SEMAPHORE_TYPE_TIMELINE.
1816e5c31af7Sopenharmony_ciendif::VK_VERSION_1_2,VK_KHR_timeline_semaphore[]
1817e5c31af7Sopenharmony_ci
1818e5c31af7Sopenharmony_ciUniform Texel Buffer::
1819e5c31af7Sopenharmony_ci    A descriptor type that represents a buffer view, and supports
1820e5c31af7Sopenharmony_ci    unfiltered, formatted, read-only access in a shader.
1821e5c31af7Sopenharmony_ci
1822e5c31af7Sopenharmony_ciUniform Buffer::
1823e5c31af7Sopenharmony_ci    A descriptor type that represents a buffer, and supports read-only
1824e5c31af7Sopenharmony_ci    access in a shader.
1825e5c31af7Sopenharmony_ci
1826e5c31af7Sopenharmony_ciUnits in the Last Place (ULP)::
1827e5c31af7Sopenharmony_ci    A measure of floating-point error loosely defined as the smallest
1828e5c31af7Sopenharmony_ci    representable step in a floating-point format near a given value.
1829e5c31af7Sopenharmony_ci    For the precise definition see <<spirvenv-precision-operation, Precision
1830e5c31af7Sopenharmony_ci    and Operation of SPIR-V instructions>> or Jean-Michel Muller, "`On the
1831e5c31af7Sopenharmony_ci    definition of ulp(x)`", RR-5504, INRIA.
1832e5c31af7Sopenharmony_ci    Other sources may also use the term "`unit of least precision`".
1833e5c31af7Sopenharmony_ci
1834e5c31af7Sopenharmony_ciUnnormalized::
1835e5c31af7Sopenharmony_ci    A value that is interpreted according to its conventional
1836e5c31af7Sopenharmony_ci    interpretation, and is not normalized.
1837e5c31af7Sopenharmony_ci
1838e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1[]
1839e5c31af7Sopenharmony_ciUnprotected Buffer::
1840e5c31af7Sopenharmony_ci    A buffer to which unprotected device memory can: be bound.
1841e5c31af7Sopenharmony_ci
1842e5c31af7Sopenharmony_ciUnprotected Command Buffer::
1843e5c31af7Sopenharmony_ci    A command buffer which can: be submitted to an unprotected device queue
1844e5c31af7Sopenharmony_ci    or a protected-capable device queue.
1845e5c31af7Sopenharmony_ci
1846e5c31af7Sopenharmony_ciUnprotected Device Memory::
1847e5c31af7Sopenharmony_ci    Device memory which can: be visible to the device and can: be visible to
1848e5c31af7Sopenharmony_ci    the host.
1849e5c31af7Sopenharmony_ci
1850e5c31af7Sopenharmony_ciUnprotected Image::
1851e5c31af7Sopenharmony_ci    An image to which unprotected device memory can: be bound.
1852e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1[]
1853e5c31af7Sopenharmony_ci
1854e5c31af7Sopenharmony_ciUser-Defined Variable Interface::
1855e5c31af7Sopenharmony_ci    A shader entry point's variables with code:Input or code:Output storage
1856e5c31af7Sopenharmony_ci    class that are not built-in variables.
1857e5c31af7Sopenharmony_ci
1858e5c31af7Sopenharmony_ciVertex Input Attribute::
1859e5c31af7Sopenharmony_ci    A graphics pipeline resource that produces input values for the vertex
1860e5c31af7Sopenharmony_ci    shader by reading data from a vertex input binding and converting it to
1861e5c31af7Sopenharmony_ci    the attribute's format.
1862e5c31af7Sopenharmony_ci
1863e5c31af7Sopenharmony_ciifdef::VK_EXT_transform_feedback[]
1864e5c31af7Sopenharmony_ciVertex Stream::
1865e5c31af7Sopenharmony_ci    A vertex stream is where the last
1866e5c31af7Sopenharmony_ci    <<pipelines-graphics-subsets-pre-rasterization,pre-rasterization shader
1867e5c31af7Sopenharmony_ci    stages>> outputs vertex data, which then goes to the rasterizer, is
1868e5c31af7Sopenharmony_ci    captured to a transform feedback buffer, or both.
1869e5c31af7Sopenharmony_ci    Geometry shaders can: emit primitives to multiple independent vertex
1870e5c31af7Sopenharmony_ci    streams.
1871e5c31af7Sopenharmony_ci    Each vertex emitted by the geometry shader is directed at one of the
1872e5c31af7Sopenharmony_ci    vertex streams.
1873e5c31af7Sopenharmony_ciendif::VK_EXT_transform_feedback[]
1874e5c31af7Sopenharmony_ci
1875e5c31af7Sopenharmony_ciifdef::VK_EXT_validation_cache[]
1876e5c31af7Sopenharmony_ciValidation Cache::
1877e5c31af7Sopenharmony_ci    An object that can: be used to collect and retrieve validation results
1878e5c31af7Sopenharmony_ci    from the validation layers, and can: be populated with previously
1879e5c31af7Sopenharmony_ci    retrieved results in order to accelerate the validation process.
1880e5c31af7Sopenharmony_ci    Represented by a slink:VkValidationCacheEXT object.
1881e5c31af7Sopenharmony_ciendif::VK_EXT_validation_cache[]
1882e5c31af7Sopenharmony_ci
1883e5c31af7Sopenharmony_ciVariable-Sized Descriptor Binding::
1884e5c31af7Sopenharmony_ci    A descriptor binding whose size will be specified when a descriptor set
1885e5c31af7Sopenharmony_ci    is allocated using this layout.
1886e5c31af7Sopenharmony_ci
1887e5c31af7Sopenharmony_ciVertex Input Binding::
1888e5c31af7Sopenharmony_ci    A graphics pipeline resource that is bound to a buffer and includes
1889e5c31af7Sopenharmony_ci    state that affects addressing calculations within that buffer.
1890e5c31af7Sopenharmony_ci
1891e5c31af7Sopenharmony_ciVertex Input Interface::
1892e5c31af7Sopenharmony_ci    A vertex shader entry point's variables with code:Input storage class,
1893e5c31af7Sopenharmony_ci    which receive values from vertex input attributes.
1894e5c31af7Sopenharmony_ci
1895e5c31af7Sopenharmony_ciifdef::VK_KHR_video_queue[]
1896e5c31af7Sopenharmony_ciVideo Bitstream Buffer::
1897e5c31af7Sopenharmony_ci    A resource that represents a linear array of data in device memory
1898e5c31af7Sopenharmony_ci    storing encoded video data.
1899e5c31af7Sopenharmony_ci    Represented by a slink:VkBuffer object.
1900e5c31af7Sopenharmony_ci
1901e5c31af7Sopenharmony_ciVideo Coding Scope::
1902e5c31af7Sopenharmony_ci    A series of subsequent commands recorded into a command buffer starting
1903e5c31af7Sopenharmony_ci    with a flink:vkCmdBeginVideoCodingKHR command and ending with a
1904e5c31af7Sopenharmony_ci    flink:vkCmdEndVideoCodingKHR command that encompasses a set of video
1905e5c31af7Sopenharmony_ci    decode or encode operations.
1906e5c31af7Sopenharmony_ci
1907e5c31af7Sopenharmony_ciVideo Coding Operations::
1908e5c31af7Sopenharmony_ci    Any operations recorded into a command buffer within a video coding
1909e5c31af7Sopenharmony_ci    scope, including video decode and encode operations.
1910e5c31af7Sopenharmony_ci
1911e5c31af7Sopenharmony_ciVideo Decode Operation::
1912e5c31af7Sopenharmony_ci    An operation consuming data from a video bitstream buffer and zero or
1913e5c31af7Sopenharmony_ci    more reference pictures, and producing data to a decode output picture
1914e5c31af7Sopenharmony_ci    and an optional reconstructed picture.
1915e5c31af7Sopenharmony_ci
1916e5c31af7Sopenharmony_ciVideo Encode Operation::
1917e5c31af7Sopenharmony_ci    An operation consuming data from an encode input picture and zero or
1918e5c31af7Sopenharmony_ci    more reference pictures, and producing data to a video bitstream buffer
1919e5c31af7Sopenharmony_ci    and an optional reconstructed picture.
1920e5c31af7Sopenharmony_ci
1921e5c31af7Sopenharmony_ciVideo Picture Resource::
1922e5c31af7Sopenharmony_ci    A resource that represents a multi-dimensional formatted interpretation
1923e5c31af7Sopenharmony_ci    of device memory to be used with a video session as a decode output
1924e5c31af7Sopenharmony_ci    picture, encode input picture, reconstructed picture, and/or reference
1925e5c31af7Sopenharmony_ci    picture.
1926e5c31af7Sopenharmony_ci    It may: contain metadata associated with a particular video session it
1927e5c31af7Sopenharmony_ci    is used with.
1928e5c31af7Sopenharmony_ci    Represented by a slink:VkImage object and referred to using
1929e5c31af7Sopenharmony_ci    slink:VkImageView objects created from it.
1930e5c31af7Sopenharmony_ci
1931e5c31af7Sopenharmony_ciVideo Session::
1932e5c31af7Sopenharmony_ci    A resource that represents and maintains the state needed to perform
1933e5c31af7Sopenharmony_ci    video decode or encode operations.
1934e5c31af7Sopenharmony_ci    Represented by a slink:VkVideoSessionKHR object.
1935e5c31af7Sopenharmony_ci
1936e5c31af7Sopenharmony_ciVideo Session Parameters::
1937e5c31af7Sopenharmony_ci    A resource that stores preprocessed codec-specific parameters used with
1938e5c31af7Sopenharmony_ci    a compatible video session in video codec operations.
1939e5c31af7Sopenharmony_ci    Represented by a slink:VkVideoSessionParametersKHR object.
1940e5c31af7Sopenharmony_ci
1941e5c31af7Sopenharmony_ciVideo Transcoding::
1942e5c31af7Sopenharmony_ci    The process of using the outputs of video decoding operations as inputs
1943e5c31af7Sopenharmony_ci    in video encoding operations.
1944e5c31af7Sopenharmony_ciendif::VK_KHR_video_queue[]
1945e5c31af7Sopenharmony_ci
1946e5c31af7Sopenharmony_ciifdef::VK_VERSION_1_1,VK_KHR_multiview[]
1947e5c31af7Sopenharmony_ciView Mask::
1948e5c31af7Sopenharmony_ci    When multiview is enabled, a view mask is a property of a subpass
1949e5c31af7Sopenharmony_ci    controlling which views the rendering commands are broadcast to.
1950e5c31af7Sopenharmony_ciendif::VK_VERSION_1_1,VK_KHR_multiview[]
1951e5c31af7Sopenharmony_ci
1952e5c31af7Sopenharmony_ciView Volume::
1953e5c31af7Sopenharmony_ci    A subspace in homogeneous coordinates, corresponding to post-projection
1954e5c31af7Sopenharmony_ci    x and y values between -1 and +1, and z values between 0 and +1.
1955e5c31af7Sopenharmony_ci
1956e5c31af7Sopenharmony_ciViewport Transformation::
1957e5c31af7Sopenharmony_ci    A transformation from normalized device coordinates to framebuffer
1958e5c31af7Sopenharmony_ci    coordinates, based on a viewport rectangle and depth range.
1959e5c31af7Sopenharmony_ci
1960e5c31af7Sopenharmony_ciVisibility Operation::
1961e5c31af7Sopenharmony_ci    An operation that causes available values to become visible to specified
1962e5c31af7Sopenharmony_ci    memory accesses.
1963e5c31af7Sopenharmony_ci
1964e5c31af7Sopenharmony_ciVisible::
1965e5c31af7Sopenharmony_ci    A state of values written to memory that allows them to be accessed by a
1966e5c31af7Sopenharmony_ci    set of operations.
1967e5c31af7Sopenharmony_ci
1968e5c31af7Sopenharmony_ci// To be added per issue 18:
1969e5c31af7Sopenharmony_ci// Current State <<fundamentals-queueoperation>>
1970e5c31af7Sopenharmony_ci// Barycentric Coordinates <<primsrast-polygons-basic>>
1971e5c31af7Sopenharmony_ci// Internal Allocations <<memory-host-allocation-scope>>
1972e5c31af7Sopenharmony_ci// Unavailable, Available <<queries-operation>> - NB: this clashes with available/visible in terms of memory
1973e5c31af7Sopenharmony_ci// Signaled, Unsignaled <<synchronization-semaphores>> <<synchronization-fences>>
1974e5c31af7Sopenharmony_ci// Interior Vertices <<tessellation-tessellator-spacing>>
1975e5c31af7Sopenharmony_ci// Inner Vertices <<tessellation-triangle-tessellation>> <<tessellation-quad-tessellation>>
1976e5c31af7Sopenharmony_ci// Isolines <<tessellation-isoline-tessellation>>
1977e5c31af7Sopenharmony_ci// Binding Range <<sparsemem-memory-binding>>
1978e5c31af7Sopenharmony_ci
1979e5c31af7Sopenharmony_ci
1980e5c31af7Sopenharmony_ci[[lexicon-common-abbreviations]]
1981e5c31af7Sopenharmony_ci== Common Abbreviations
1982e5c31af7Sopenharmony_ci
1983e5c31af7Sopenharmony_ciThe abbreviations and acronyms defined in this section are sometimes used in
1984e5c31af7Sopenharmony_cithe Specification and the API where they are considered clear and
1985e5c31af7Sopenharmony_cicommonplace.
1986e5c31af7Sopenharmony_ci
1987e5c31af7Sopenharmony_ciSrc::
1988e5c31af7Sopenharmony_ci    Source
1989e5c31af7Sopenharmony_ci
1990e5c31af7Sopenharmony_ciDst::
1991e5c31af7Sopenharmony_ci    Destination
1992e5c31af7Sopenharmony_ci
1993e5c31af7Sopenharmony_ciMin::
1994e5c31af7Sopenharmony_ci    Minimum
1995e5c31af7Sopenharmony_ci
1996e5c31af7Sopenharmony_ciMax::
1997e5c31af7Sopenharmony_ci    Maximum
1998e5c31af7Sopenharmony_ci
1999e5c31af7Sopenharmony_ciRect::
2000e5c31af7Sopenharmony_ci    Rectangle
2001e5c31af7Sopenharmony_ci
2002e5c31af7Sopenharmony_ciInfo::
2003e5c31af7Sopenharmony_ci    Information
2004e5c31af7Sopenharmony_ci
2005e5c31af7Sopenharmony_ciLOD::
2006e5c31af7Sopenharmony_ci    Level of Detail
2007e5c31af7Sopenharmony_ci
2008e5c31af7Sopenharmony_ciLog::
2009e5c31af7Sopenharmony_ci    Logarithm
2010e5c31af7Sopenharmony_ci
2011e5c31af7Sopenharmony_ciID::
2012e5c31af7Sopenharmony_ci    Identifier
2013e5c31af7Sopenharmony_ci
2014e5c31af7Sopenharmony_ciUUID::
2015e5c31af7Sopenharmony_ci    Universally Unique Identifier
2016e5c31af7Sopenharmony_ci
2017e5c31af7Sopenharmony_ciOp::
2018e5c31af7Sopenharmony_ci    Operation
2019e5c31af7Sopenharmony_ci
2020e5c31af7Sopenharmony_ciR::
2021e5c31af7Sopenharmony_ci    Red color component
2022e5c31af7Sopenharmony_ci
2023e5c31af7Sopenharmony_ciG::
2024e5c31af7Sopenharmony_ci    Green color component
2025e5c31af7Sopenharmony_ci
2026e5c31af7Sopenharmony_ciB::
2027e5c31af7Sopenharmony_ci    Blue color component
2028e5c31af7Sopenharmony_ci
2029e5c31af7Sopenharmony_ciA::
2030e5c31af7Sopenharmony_ci    Alpha color component
2031e5c31af7Sopenharmony_ci
2032e5c31af7Sopenharmony_ciRTZ::
2033e5c31af7Sopenharmony_ci    Round towards zero
2034e5c31af7Sopenharmony_ci
2035e5c31af7Sopenharmony_ciRTE::
2036e5c31af7Sopenharmony_ci    Round to nearest even
2037e5c31af7Sopenharmony_ci
2038e5c31af7Sopenharmony_ci
2039e5c31af7Sopenharmony_ciifdef::VK_KHR_video_queue[]
2040e5c31af7Sopenharmony_ci[[lexicon-video-abbreviations]]
2041e5c31af7Sopenharmony_ci== Video-Specific Abbreviations
2042e5c31af7Sopenharmony_ci
2043e5c31af7Sopenharmony_ciThe following abbreviations and acronyms are used in the context of video
2044e5c31af7Sopenharmony_cidecode and encode operations to refer to commonly used video compression
2045e5c31af7Sopenharmony_citerms in their usual abbreviated form:
2046e5c31af7Sopenharmony_ci
2047e5c31af7Sopenharmony_ciAVC::
2048e5c31af7Sopenharmony_ci    Advanced Video Coding
2049e5c31af7Sopenharmony_ci
2050e5c31af7Sopenharmony_ciBipred::
2051e5c31af7Sopenharmony_ci    Bidirectional Prediction
2052e5c31af7Sopenharmony_ci
2053e5c31af7Sopenharmony_ciCABAC::
2054e5c31af7Sopenharmony_ci    Context-Adaptive Binary Arithmetic Coding
2055e5c31af7Sopenharmony_ci
2056e5c31af7Sopenharmony_ciCAVLC::
2057e5c31af7Sopenharmony_ci    Context-Adaptive Variable-Length Coding
2058e5c31af7Sopenharmony_ci
2059e5c31af7Sopenharmony_ciCBR::
2060e5c31af7Sopenharmony_ci    Constant Bit Rate
2061e5c31af7Sopenharmony_ci
2062e5c31af7Sopenharmony_ciCTB::
2063e5c31af7Sopenharmony_ci    Coding Tree Block
2064e5c31af7Sopenharmony_ci
2065e5c31af7Sopenharmony_ciDiff::
2066e5c31af7Sopenharmony_ci    Difference
2067e5c31af7Sopenharmony_ci
2068e5c31af7Sopenharmony_ciDPB::
2069e5c31af7Sopenharmony_ci    Decoded Picture Buffer
2070e5c31af7Sopenharmony_ci
2071e5c31af7Sopenharmony_ciGOP::
2072e5c31af7Sopenharmony_ci    Group Of Pictures
2073e5c31af7Sopenharmony_ci
2074e5c31af7Sopenharmony_ciHDR::
2075e5c31af7Sopenharmony_ci    High Dynamic Range
2076e5c31af7Sopenharmony_ci
2077e5c31af7Sopenharmony_ciHEVC::
2078e5c31af7Sopenharmony_ci    High Efficiency Video Coding
2079e5c31af7Sopenharmony_ci
2080e5c31af7Sopenharmony_ciHRD::
2081e5c31af7Sopenharmony_ci    Hypothetical Reference Decoder
2082e5c31af7Sopenharmony_ci
2083e5c31af7Sopenharmony_ciIDC::
2084e5c31af7Sopenharmony_ci    Indicator
2085e5c31af7Sopenharmony_ci
2086e5c31af7Sopenharmony_ciIDR::
2087e5c31af7Sopenharmony_ci    Instantaneous Decoder Refresh
2088e5c31af7Sopenharmony_ci
2089e5c31af7Sopenharmony_ciMB::
2090e5c31af7Sopenharmony_ci    Macroblock
2091e5c31af7Sopenharmony_ci
2092e5c31af7Sopenharmony_ciMV::
2093e5c31af7Sopenharmony_ci    Motion Vector
2094e5c31af7Sopenharmony_ci
2095e5c31af7Sopenharmony_ciNALU::
2096e5c31af7Sopenharmony_ci    Network Abstraction Layer Unit
2097e5c31af7Sopenharmony_ci
2098e5c31af7Sopenharmony_ciPCM::
2099e5c31af7Sopenharmony_ci    Pulse-Code Modulation
2100e5c31af7Sopenharmony_ci
2101e5c31af7Sopenharmony_ciPic::
2102e5c31af7Sopenharmony_ci    Picture
2103e5c31af7Sopenharmony_ci
2104e5c31af7Sopenharmony_ciPred::
2105e5c31af7Sopenharmony_ci    Prediction
2106e5c31af7Sopenharmony_ci
2107e5c31af7Sopenharmony_ciPPS::
2108e5c31af7Sopenharmony_ci    Picture Parameter Set
2109e5c31af7Sopenharmony_ci
2110e5c31af7Sopenharmony_ciQP::
2111e5c31af7Sopenharmony_ci    Quantization Parameter
2112e5c31af7Sopenharmony_ci
2113e5c31af7Sopenharmony_ciRC::
2114e5c31af7Sopenharmony_ci    Rate Control
2115e5c31af7Sopenharmony_ci
2116e5c31af7Sopenharmony_ciSPS::
2117e5c31af7Sopenharmony_ci    Sequence Parameter Set
2118e5c31af7Sopenharmony_ci
2119e5c31af7Sopenharmony_ciStd::
2120e5c31af7Sopenharmony_ci    Standard
2121e5c31af7Sopenharmony_ci
2122e5c31af7Sopenharmony_ciVBR::
2123e5c31af7Sopenharmony_ci    Variable Bit Rate
2124e5c31af7Sopenharmony_ci
2125e5c31af7Sopenharmony_ciVCL::
2126e5c31af7Sopenharmony_ci    Video Coding Layer
2127e5c31af7Sopenharmony_ci
2128e5c31af7Sopenharmony_ciVPS::
2129e5c31af7Sopenharmony_ci    Video Parameter Set
2130e5c31af7Sopenharmony_ciendif::VK_KHR_video_queue[]
2131e5c31af7Sopenharmony_ci
2132e5c31af7Sopenharmony_ci
2133e5c31af7Sopenharmony_ci[[lexicon-prefixes]]
2134e5c31af7Sopenharmony_ci== Prefixes
2135e5c31af7Sopenharmony_ci
2136e5c31af7Sopenharmony_ciPrefixes are used in the API to denote specific semantic meaning of Vulkan
2137e5c31af7Sopenharmony_cinames, or as a label to avoid name clashes, and are explained here:
2138e5c31af7Sopenharmony_ci
2139e5c31af7Sopenharmony_ciVK/Vk/vk::
2140e5c31af7Sopenharmony_ci    Vulkan namespace +
2141e5c31af7Sopenharmony_ci    All types, commands, enumerants and defines in this specification are
2142e5c31af7Sopenharmony_ci    prefixed with these two characters.
2143e5c31af7Sopenharmony_ci
2144e5c31af7Sopenharmony_ciPFN/pfn::
2145e5c31af7Sopenharmony_ci    Function Pointer +
2146e5c31af7Sopenharmony_ci    Denotes that a type is a function pointer, or that a variable is of a
2147e5c31af7Sopenharmony_ci    pointer type.
2148e5c31af7Sopenharmony_ci
2149e5c31af7Sopenharmony_cip::
2150e5c31af7Sopenharmony_ci    Pointer +
2151e5c31af7Sopenharmony_ci    Variable is a pointer.
2152e5c31af7Sopenharmony_ci
2153e5c31af7Sopenharmony_civkCmd::
2154e5c31af7Sopenharmony_ci    Commands that record commands in command buffers +
2155e5c31af7Sopenharmony_ci    These API commands do not result in immediate processing on the device.
2156e5c31af7Sopenharmony_ci    Instead, they record the requested action in a command buffer for
2157e5c31af7Sopenharmony_ci    execution when the command buffer is submitted to a queue.
2158e5c31af7Sopenharmony_ci
2159e5c31af7Sopenharmony_cis::
2160e5c31af7Sopenharmony_ci    Structure +
2161e5c31af7Sopenharmony_ci    Used to denote the etext:VK_STRUCTURE_TYPE* member of each structure in
2162e5c31af7Sopenharmony_ci    pname:sType
2163