1// Copyright 2023 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5// Common Valid Usage
6// Common to vkCmdPipelineBarrier and vkCmdWaitEvents which is where both VkPipelineStageFlags and VkAccessFlags
7// parameters can be found.
8// Set "stageMaskName" and "accessMaskName" attribute to the name of the stage and access mask to validate
9ifdef::VK_KHR_acceleration_structure,VK_NV_ray_tracing[]
10  * [[VUID-{refpage}-{accessMaskName}-06257]]
11    If
12ifdef::VK_KHR_ray_query[]
13    the <<features-rayQuery, pname:rayQuery>> feature is not enabled and
14endif::VK_KHR_ray_query[]
15    a memory barrier pname:{accessMaskName} includes
16    ename:VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
17    pname:{stageMaskName} must: not include any of the
18    etext:VK_PIPELINE_STAGE_*_SHADER_BIT stages
19ifdef::VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing[]
20    except ename:VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR
21endif::VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing[]
22endif::VK_KHR_acceleration_structure,VK_NV_ray_tracing[]
23// Common Valid Usage
24