Lines Matching refs:access

8 Synchronization of access to resources is primarily the responsibility of
22 task on the device has completed, controlling resource access between
26 Semaphores can: be used to control resource access across multiple
33 Events can: be used to control resource access within a single queue.
39 Pipeline barriers can: be used to control resource access within a
48 Render pass objects can: be used to control resource access within a
116 Three additional types of operations are used to control memory access.
118 write accesses to become _available_ to a memory domain for future access.
146 Once written values are made visible to a particular type of memory access,
147 they can: be read or written by that type of memory access.
150 [[synchronization-dependencies-access-scopes]]
153 Any type of access that is in a memory dependency's first access scope and
155 Any type of access that is in a memory dependency's second access scope and
157 Any type of operation that is not in a synchronization command's access
169 * Let *AccessScope~1st~* be the first access scope of the first command in
171 * Let *AccessScope~2nd~* be the second access scope of the last command in
255 operations that will access the image with the new layout.
743 Its first <<synchronization-dependencies-access-scopes, access scope>> only
751 Its second <<synchronization-dependencies-access-scopes, access scope>> only
758 Note that <<synchronization-dependencies-access-scopes, access scopes>> do
760 only the stages the app specifies are considered part of each access scope.
923 [[synchronization-access-types]]
931 [[synchronization-access-masks]]
932 Some synchronization commands take sets of access types as parameters to
933 define the <<synchronization-dependencies-access-scopes, access scopes>> of
935 If a synchronization command includes a _source access mask_, its first
936 <<synchronization-dependencies-access-scopes, access scope>> only includes
937 accesses via the access types specified in that mask.
938 Similarly, if a synchronization command includes a _destination access
939 mask_, its second <<synchronization-dependencies-access-scopes, access
940 scope>> only includes accesses via the access types specified in that mask.
947 slink:VkBufferMemoryBarrier2KHR, specifying access behavior, are:
959 It is always valid in any access mask, and is treated as equivalent to
960 setting all etext:READ access flags that are valid where it is used.
962 It is always valid in any access mask, and is treated as equivalent to
963 setting all etext:WRITE access flags that are valid where it is used.
964 * ename:VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT specifies read access to
969 Such access occurs in the ename:VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT
971 * ename:VK_ACCESS_2_INDEX_READ_BIT specifies read access to an index
975 Such access occurs in the ename:VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT
977 * ename:VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT specifies read access to a
980 Such access occurs in the
982 * ename:VK_ACCESS_2_UNIFORM_READ_BIT specifies read access to a
985 * ename:VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT specifies read access to an
991 Such access occurs in the
996 * ename:VK_ACCESS_2_SHADER_SAMPLED_READ_BIT specifies read access to a
1000 * ename:VK_ACCESS_2_SHADER_STORAGE_READ_BIT specifies read access to a
1010 access to a <<shader-binding-table, shader binding table>> in any shader
1016 specifies read access to a <<shader-binding-table, shader binding
1023 * ename:VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT specifies write access to a
1033 * ename:VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT specifies read access to a
1043 Such access occurs in the
1052 * ename:VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT specifies write access to a
1057 Such access occurs in the
1060 access to a <<renderpass, depth/stencil attachment>>, via
1064 Such access occurs in the
1076 access to a <<renderpass, depth/stencil attachment>>, via
1080 Such access occurs in the
1083 * ename:VK_ACCESS_2_TRANSFER_READ_BIT specifies read access to an image or
1085 Such access occurs in the ename:VK_PIPELINE_STAGE_2_COPY_BIT,
1088 * ename:VK_ACCESS_2_TRANSFER_WRITE_BIT specifies write access to an image
1090 Such access occurs in the ename:VK_PIPELINE_STAGE_2_COPY_BIT,
1093 * ename:VK_ACCESS_2_HOST_READ_BIT specifies read access by a host
1097 Such access occurs in the ename:VK_PIPELINE_STAGE_2_HOST_BIT pipeline
1099 * ename:VK_ACCESS_2_HOST_WRITE_BIT specifies write access by a host
1103 Such access occurs in the ename:VK_PIPELINE_STAGE_2_HOST_BIT pipeline
1107 access to a predicate as part of conditional rendering.
1108 Such access occurs in the
1113 access to a transform feedback buffer made when transform feedback is
1115 Such access occurs in the
1118 access to a transform feedback counter buffer which is read when
1120 Such access occurs in the
1123 write access to a transform feedback counter buffer which is written
1125 Such access occurs in the
1131 Such access occurs in the
1135 Such access occurs in the
1140 read access to <<renderpass, color attachments>>, including
1142 Such access occurs in the
1146 * ename:VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI specifies read access
1152 access to an acceleration structure as part of a trace, build, or copy
1155 Such access occurs in the
1162 access to an acceleration structure or <<acceleration-structure-scratch,
1165 Such access occurs in the
1171 access to a <<renderpass-fragmentdensitymapattachment, fragment density
1174 Such access occurs in the
1180 specifies read access to a fragment shading rate attachment during
1182 Such access occurs in the
1187 * ename:VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV specifies read access
1189 Such access occurs in the
1197 * ename:VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR specifies read access to an
1200 Such access occurs in the ename:VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR
1202 * ename:VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR specifies write access to
1205 Such access occurs in the ename:VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR
1209 * ename:VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR specifies read access to an
1212 Such access occurs in the ename:VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR
1214 * ename:VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR specifies write access to
1217 Such access occurs in the ename:VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR
1221 * ename:VK_ACCESS_2_DESCRIPTOR_BUFFER_READ_BIT_EXT specifies read access
1226 * ename:VK_ACCESS_2_OPTICAL_FLOW_READ_BIT_NV specifies read access to an
1229 Such access occurs in the ename:VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
1231 * ename:VK_ACCESS_2_OPTICAL_FLOW_WRITE_BIT_NV specifies write access to an
1234 Such access occurs in the ename:VK_PIPELINE_STAGE_2_OPTICAL_FLOW_BIT_NV
1238 * ename:VK_ACCESS_2_MICROMAP_WRITE_BIT_EXT specifies write access to a
1240 Such access occurs in the
1242 * ename:VK_ACCESS_2_MICROMAP_READ_BIT_EXT specifies read access to a
1244 Such access occurs in the
1253 In situations where an application wishes to select all access types for a
1257 access type.
1269 [open,refpage='VkAccessFlags2',desc='64-bit mask of access flags',type='flags',alias='VkAccessFlags…
1284 [open,refpage='VkAccessFlagBits',desc='Bitmask specifying memory access types that will participate…
1290 slink:VkImageMemoryBarrier, specifying access behavior, are:
1301 It is always valid in any access mask, and is treated as equivalent to
1302 setting all etext:READ access flags that are valid where it is used.
1304 It is always valid in any access mask, and is treated as equivalent to
1305 setting all etext:WRITE access flags that are valid where it is used.
1306 * ename:VK_ACCESS_INDIRECT_COMMAND_READ_BIT specifies read access to
1311 Such access occurs in the ename:VK_PIPELINE_STAGE_DRAW_INDIRECT_BIT
1313 * ename:VK_ACCESS_INDEX_READ_BIT specifies read access to an index buffer
1317 Such access occurs in the ename:VK_PIPELINE_STAGE_VERTEX_INPUT_BIT
1319 * ename:VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT specifies read access to a
1322 Such access occurs in the ename:VK_PIPELINE_STAGE_VERTEX_INPUT_BIT
1324 * ename:VK_ACCESS_UNIFORM_READ_BIT specifies read access to a
1327 * ename:VK_ACCESS_INPUT_ATTACHMENT_READ_BIT specifies read access to an
1333 Such access occurs in the
1338 * ename:VK_ACCESS_SHADER_READ_BIT specifies read access to a
1351 * ename:VK_ACCESS_SHADER_WRITE_BIT specifies write access to a
1359 * ename:VK_ACCESS_COLOR_ATTACHMENT_READ_BIT specifies read access to a
1369 Such access occurs in the
1378 * ename:VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT specifies write access to a
1388 Such access occurs in the
1390 * ename:VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_READ_BIT specifies read access
1395 Such access occurs in the
1407 access to a <<renderpass, depth/stencil attachment>>, via
1411 Such access occurs in the
1414 * ename:VK_ACCESS_TRANSFER_READ_BIT specifies read access to an image or
1417 Such access occurs in the ename:VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT
1420 * ename:VK_ACCESS_TRANSFER_WRITE_BIT specifies write access to an image or
1423 Such access occurs in the ename:VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT
1426 * ename:VK_ACCESS_HOST_READ_BIT specifies read access by a host operation.
1429 Such access occurs in the ename:VK_PIPELINE_STAGE_HOST_BIT pipeline
1431 * ename:VK_ACCESS_HOST_WRITE_BIT specifies write access by a host
1435 Such access occurs in the ename:VK_PIPELINE_STAGE_HOST_BIT pipeline
1438 * ename:VK_ACCESS_CONDITIONAL_RENDERING_READ_BIT_EXT specifies read access
1440 Such access occurs in the
1444 * ename:VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT specifies write access
1446 Such access occurs in the
1449 access to a transform feedback counter buffer which is read when
1451 Such access occurs in the
1454 access to a transform feedback counter buffer which is written when
1456 Such access occurs in the
1462 Such access occurs in the
1467 Such access occurs in the
1472 access to <<renderpass, color attachments>>, including
1474 Such access occurs in the
1479 * ename:VK_ACCESS_2_INVOCATION_MASK_READ_BIT_HUAWEI specifies read access
1484 access to an acceleration structure as part of a trace, build, or copy
1487 Such access occurs in the
1494 access to an acceleration structure or <<acceleration-structure-scratch,
1497 Such access occurs in the
1502 * ename:VK_ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT specifies read access
1505 map operations>> Such access occurs in the
1510 read access to a fragment shading rate attachment during rasterization.
1511 Such access occurs in the
1516 * ename:VK_ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV specifies read access to
1518 Such access occurs in the
1526 Certain access types are only performed by a subset of pipeline stages.
1527 Any synchronization command that takes both stage masks and access masks
1528 uses both to define the <<synchronization-dependencies-access-scopes, access
1529 scopes>> - only the specified access types performed by the specified stages
1530 are included in the access scope.
1531 An application must: not specify an access flag in a synchronization command
1534 The following table lists, for each access flag, which pipeline stages can:
1535 perform that type of access.
1537 [[synchronization-access-types-supported]]
1538 .Supported access types
1555 [[synchronization-host-access-types]]
1581 write and the device read access, writes can: be made available by using an
1684 pname:rasterizationSamples, then a fragment can: access any sample in the
1688 can: only access the covered samples in its input code:SampleMask (i.e. the
1691 To access samples that are not covered,
2089 * pname:dwAccess is a code:DWORD specifying access rights of the handle.
2104 Further, if the structure is not present, the access rights will be
2113 …https://docs.microsoft.com/en-us/windows/win32/sync/synchronization-object-security-and-access-rig…
2659 The first <<synchronization-dependencies-access-scopes, access scope>>
2660 includes all memory access performed by the device.
2662 The second <<synchronization-dependencies-access-scopes, access scope>> is
2741 results of memory accesses will be visible to the host, as the access scope
2742 of a memory dependency defined by a fence only includes device access.
2745 See the description of <<synchronization-host-access-types, host access
2870 These rules allow processes to synchronize access to shared memory without
2873 for more than synchronizing access to the shared memory.
3166 access permissions into multiple instances of slink:VkFence, and must: not
3536 * pname:dwAccess is a code:DWORD specifying access rights of the handle.
3551 Further, if the structure is not present, the access rights used depend on
3558 The implementation must: ensure the access rights allow both signal and wait
3565 The access rights must: be:
3570 …https://docs.microsoft.com/en-us/windows/win32/sync/synchronization-object-security-and-access-rig…
4152 access permissions to multiple instances of sname:VkSemaphoreSciSyncPoolNV.
4249 The first <<synchronization-dependencies-access-scopes, access scope>>
4250 includes all memory access performed by the device.
4252 The second <<synchronization-dependencies-access-scopes, access scope>> is
4302 The first <<synchronization-dependencies-access-scopes, access scope>> is
4305 The second <<synchronization-dependencies-access-scopes, access scope>>
4306 includes all memory access performed by the device.
4777 These rules allow processes to synchronize access to shared memory without
4780 semaphore for more than synchronizing access to the shared memory.
5182 access permissions into multiple instances of VkSemaphore, and must: not
5592 <<synchronization-dependencies-access-scopes, access scope>> are defined by
5606 The second <<synchronization-dependencies-access-scopes, access scope>>
5734 it does not define an access scope, and must: only be used with
5959 <<synchronization-dependencies-access-scopes, access scope>> of each memory
5977 and <<synchronization-dependencies-access-scopes, access scope>> of each
6096 As flink:vkCmdSetEvent does not define any access scopes,
6097 fname:vkCmdWaitEvents defines the first access scope for each event signal
6098 operation in addition to its own access scopes.
6139 The first <<synchronization-dependencies-access-scopes, access scope>> is
6143 Within that, the first access scope only includes the first access scopes
6147 If no memory barriers are specified, then the first access scope includes no
6150 The second <<synchronization-dependencies-access-scopes, access scope>> is
6154 Within that, the second access scope only includes the second access scopes
6158 If no memory barriers are specified, then the second access scope includes
6274 <<synchronization-dependencies-access-scopes, access scope>> of each memory
6279 and <<synchronization-dependencies-access-scopes, access scope>> of each
6384 The first <<synchronization-dependencies-access-scopes, access scope>> is
6388 Within that, the first access scope only includes the first access scopes
6392 If no memory barriers are specified, then the first access scope includes no
6395 The second <<synchronization-dependencies-access-scopes, access scope>> is
6399 Within that, the second access scope only includes the second access scopes
6403 If no memory barriers are specified, then the second access scope includes
6513 * The access types in slink:VkMemoryBarrier2::pname:srcAccessMask and
6524 _Memory barriers_ are used to explicitly control access to buffer and image
6531 They explicitly define the <<synchronization-access-types, access types>>
6533 <<synchronization-dependencies-access-scopes, access scopes>> of a memory
6564 * pname:srcAccessMask is a tlink:VkAccessFlags2 mask of access flags to be
6565 included in the <<synchronization-dependencies-access-scopes, first
6566 access scope>>.
6570 * pname:dstAccessMask is a tlink:VkAccessFlags2 mask of access flags to be
6571 included in the <<synchronization-dependencies-access-scopes, second
6572 access scope>>.
6578 <<synchronization-dependencies-access-scopes, access scope>> described by
6583 and <<synchronization-dependencies-access-scopes, access scope>> described
6614 <<synchronization-access-masks, source access mask>>.
6616 <<synchronization-access-masks, destination access mask>>.
6618 The first <<synchronization-dependencies-access-scopes, access scope>> is
6619 limited to access types in the <<synchronization-access-masks, source access
6622 The second <<synchronization-dependencies-access-scopes, access scope>> is
6623 limited to access types in the <<synchronization-access-masks, destination
6624 access mask>> specified by pname:dstAccessMask.
6636 <<synchronization-dependencies-access-scopes, scoped>> to access via the
6663 * pname:srcAccessMask is a tlink:VkAccessFlags2 mask of access flags to be
6664 included in the <<synchronization-dependencies-access-scopes, first
6665 access scope>>.
6669 * pname:dstAccessMask is a tlink:VkAccessFlags2 mask of access flags to be
6670 included in the <<synchronization-dependencies-access-scopes, second
6671 access scope>>.
6691 <<synchronization-dependencies-access-scopes, access scope>> described by
6696 and <<synchronization-dependencies-access-scopes, access scope>> described
6700 Both <<synchronization-dependencies-access-scopes, access scopes>> are
6711 for the specified buffer range, and the second synchronization and access
6716 for the specified buffer range, and the first synchronization and access
6767 <<synchronization-access-masks, source access mask>>.
6769 <<synchronization-access-masks, destination access mask>>.
6783 The first <<synchronization-dependencies-access-scopes, access scope>> is
6784 limited to access to memory through the specified buffer range, via access
6785 types in the <<synchronization-access-masks, source access mask>> specified
6792 The second <<synchronization-dependencies-access-scopes, access scope>> is
6793 limited to access to memory through the specified buffer range, via access
6794 types in the <<synchronization-access-masks, destination access mask>>
6814 access scope includes no access, as if pname:dstAccessMask was `0`.
6820 access scope includes no access, as if pname:srcAccessMask was `0`.
6883 <<synchronization-dependencies-access-scopes, scoped>> to access via the
6911 * pname:srcAccessMask is a tlink:VkAccessFlags2 mask of access flags to be
6912 included in the <<synchronization-dependencies-access-scopes, first
6913 access scope>>.
6917 * pname:dstAccessMask is a tlink:VkAccessFlags2 mask of access flags to be
6918 included in the <<synchronization-dependencies-access-scopes, second
6919 access scope>>.
6939 <<synchronization-dependencies-access-scopes, access scope>> described by
6944 and <<synchronization-dependencies-access-scopes, access scope>> described
6948 Both <<synchronization-dependencies-access-scopes, access scopes>> are
6960 and access scopes do not synchronize operations on that queue.
6965 access scopes do not synchronize operations on that queue.
7048 <<synchronization-access-masks, source access mask>>.
7050 <<synchronization-access-masks, destination access mask>>.
7063 The first <<synchronization-dependencies-access-scopes, access scope>> is
7064 limited to access to memory through the specified image subresource range,
7065 via access types in the <<synchronization-access-masks, source access mask>>
7068 writes performed by that access type are also made visible, as that access
7071 The second <<synchronization-dependencies-access-scopes, access scope>> is
7072 limited to access to memory through the specified image subresource range,
7073 via access types in the <<synchronization-access-masks, destination access
7077 to accesses of those types, as those access types are not performed through
7084 the second access scope includes no access, as if pname:dstAccessMask was
7091 the first access scope includes no access, as if pname:srcAccessMask was
7253 transferred from one queue family to another in order to access their
7379 Whilst it is not invalid to provide destination or source access masks for
7384 Similarly, write access before an acquire operation will produce undefined:
7385 results for future access, so availability of those writes has no practical
7581 The first <<synchronization-dependencies-access-scopes, access scope>>
7585 The second <<synchronization-dependencies-access-scopes, access scope>>
7586 includes all memory access performed by the device.