// Copyright 2023 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

// Common Valid Usage
// Common to vkCmdPipelineBarrier and vkCmdWaitEvents which is where both VkPipelineStageFlags and VkAccessFlags
// parameters can be found.
// Set "stageMaskName" and "accessMaskName" attribute to the name of the stage and access mask to validate
ifdef::VK_KHR_acceleration_structure,VK_NV_ray_tracing[]
  * [[VUID-{refpage}-{accessMaskName}-06257]]
    If
ifdef::VK_KHR_ray_query[]
    the <<features-rayQuery, pname:rayQuery>> feature is not enabled and
endif::VK_KHR_ray_query[]
    a memory barrier pname:{accessMaskName} includes
    ename:VK_ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR,
    pname:{stageMaskName} must: not include any of the
    etext:VK_PIPELINE_STAGE_*_SHADER_BIT stages
ifdef::VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing[]
    except ename:VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR
endif::VK_KHR_ray_tracing_pipeline,VK_NV_ray_tracing[]
endif::VK_KHR_acceleration_structure,VK_NV_ray_tracing[]
// Common Valid Usage
