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