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