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