C Specification

To determine the memory requirements for a compute pipeline’s metadata, call:

// Provided by VK_NV_device_generated_commands_compute
void vkGetPipelineIndirectMemoryRequirementsNV(
    VkDevice                                    device,
    const VkComputePipelineCreateInfo*          pCreateInfo,
    VkMemoryRequirements2*                      pMemoryRequirements);


  • device is the logical device that owns the buffer.

  • pCreateInfo is a VkComputePipelineCreateInfo structure specifying the creation parameters of the compute pipeline whose memory requirements are being queried.

  • pMemoryRequirements is a pointer to a VkMemoryRequirements2 structure in which the requested pipeline’s memory requirements are returned.


If pCreateInfo::pNext chain includes a pointer to a VkComputePipelineIndirectBufferInfoNV structure, then the contents of that structure are ignored.

Valid Usage
Valid Usage (Implicit)
  • VUID-vkGetPipelineIndirectMemoryRequirementsNV-device-parameter
    device must be a valid VkDevice handle

  • VUID-vkGetPipelineIndirectMemoryRequirementsNV-pCreateInfo-parameter
    pCreateInfo must be a valid pointer to a valid VkComputePipelineCreateInfo structure

  • VUID-vkGetPipelineIndirectMemoryRequirementsNV-pMemoryRequirements-parameter
    pMemoryRequirements must be a valid pointer to a VkMemoryRequirements2 structure

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-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0