VkStridedDeviceAddressRangeKHR(3)

# VkStridedDeviceAddressRangeKHR(3) Manual Page

## Name

VkStridedDeviceAddressRangeKHR - Structure specifying a device address range with a stride

## C Specification

A strided device address range is defined by the structure:

    // Provided by VK_KHR_copy_memory_indirect, VK_KHR_device_address_commands
    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-size-11411
  If `size` is not 0, `address` must not be 0

- 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-stride-10957
  `stride` must be less than or equal to `size`

Valid Usage (Implicit)

- VUID-VkStridedDeviceAddressRangeKHR-address-parameter
  If `address` is not `0`, `address` must be a valid VkDeviceAddress value

## See Also

VK_KHR_copy_memory_indirect, VK_KHR_device_address_commands, VkBindVertexBuffer3InfoKHR, VkCopyMemoryIndirectInfoKHR, VkCopyMemoryToImageIndirectInfoKHR, VkDeviceAddress, VkDeviceSize, VkDrawIndirect2InfoKHR, VkDrawIndirectCount2InfoKHR, vkCmdCopyQueryPoolResultsToMemoryKHR

## 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

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0