C Specification

A strided device address range is defined by the structure:

// Provided by VK_KHR_copy_memory_indirect
typedef struct VkStridedDeviceAddressRangeKHR {
    VkDeviceAddress    address;
    VkDeviceSize       size;
    VkDeviceSize       stride;
} VkStridedDeviceAddressRangeKHR;

Members

  • address is a VkDeviceAddress specifying the start of the range.

  • size is a VkDeviceSize specifying the size of the range.

  • stride is a VkDeviceSize specifying the stride of elements over the range.

Description

Valid Usage
  • VUID-VkStridedDeviceAddressRangeKHR-stride-10957
    stride must be less than or equal to size

  • VUID-VkStridedDeviceAddressRangeKHR-address-11365
    The sum of address and size must be less than or equal to the sum of an address retrieved from a VkBuffer and the value of VkBufferCreateInfo::size used to create that VkBuffer

  • VUID-VkStridedDeviceAddressRangeKHR-size-11366
    If size is not 0 and the buffer from which address was queried is non-sparse, then the buffer must be bound completely and contiguously to a single VkDeviceMemory object

Valid Usage (Implicit)
  • VUID-VkStridedDeviceAddressRangeKHR-address-parameter
    address must be a valid VkDeviceAddress value

See Also

Document Notes

For more information, see the Vulkan Specification.

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0