• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2019-2022 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5// Common Valid Usage
6// Common to trace rays indirect commands
7
8  * [[VUID-{refpage}-indirectDeviceAddress-03632]]
9    If the buffer from which pname:indirectDeviceAddress was queried is
10    non-sparse then it must: be bound completely and contiguously to a
11    single sname:VkDeviceMemory object
12  * [[VUID-{refpage}-indirectDeviceAddress-03633]]
13    The buffer from which pname:indirectDeviceAddress was queried must: have
14    been created with the ename:VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
15  * [[VUID-{refpage}-indirectDeviceAddress-03634]]
16    pname:indirectDeviceAddress must: be a multiple of `4`
17  * [[VUID-{refpage}-indirectDeviceAddress-03636]]
18    All device addresses between pname:indirectDeviceAddress and
19    [eq]#pname:indirectDeviceAddress {plus} code:sizeof(sname:{cmdstruct}) -
20    1# must: be in the buffer device address range of the same buffer
21  * [[VUID-{refpage}-{feature}-03637]]
22    The <<features-{feature}, pname:{feature}>> feature must: be enabled
23ifdef::VK_NV_ray_tracing_motion_blur[]
24  * [[VUID-{refpage}-rayTracingMotionBlurPipelineTraceRaysIndirect-04951]]
25    If the bound ray tracing pipeline was created with
26    ename:VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV
27    sname:VkPhysicalDeviceRayTracingMotionBlurFeaturesNV::pname:rayTracingMotionBlurPipelineTraceRaysIndirect
28    feature must: be enabled
29endif::VK_NV_ray_tracing_motion_blur[]
30
31// Common Valid Usage
32