C Specification

Resource bindings of Vulkan objects are registered at an arbitrary uint32_t index within an object table. As long as the object table references such objects, they must not be deleted.

VkResult vkRegisterObjectsNVX(
    VkDevice                                    device,
    VkObjectTableNVX                            objectTable,
    uint32_t                                    objectCount,
    const VkObjectTableEntryNVX* const*         ppObjectTableEntries,
    const uint32_t*                             pObjectIndices);

Parameters

  • device is the logical device that creates the object table.

  • objectTable is the table for which the resources are registered.

  • objectCount is the number of resources to register.

  • ppObjectTableEntries provides an array for detailed binding informations. Each array element is a pointer to a structure of type VkObjectTablePipelineEntryNVX, VkObjectTableDescriptorSetEntryNVX, VkObjectTableVertexBufferEntryNVX, VkObjectTableIndexBufferEntryNVX or VkObjectTablePushConstantEntryNVX (see below for details).

  • pObjectIndices are the indices at which each resource is registered.

Description

Valid Usage
  • The contents of pObjectTableEntry must yield plausible bindings supported by the device.

  • At any pObjectIndices there must not be a registered resource already.

  • Any value inside pObjectIndices must be below the appropriate VkObjectTableCreateInfoNVX::pObjectEntryCounts limits provided at objectTable creation time.

Valid Usage (Implicit)
  • device must be a valid VkDevice handle

  • objectTable must be a valid VkObjectTableNVX handle

  • ppObjectTableEntries must be a valid pointer to an array of objectCount valid VkObjectTableEntryNVX structures

  • pObjectIndices must be a valid pointer to an array of objectCount uint32_t values

  • objectCount must be greater than 0

  • objectTable must have been created, allocated, or retrieved from device

Host Synchronization
  • Host access to objectTable must be externally synchronized

Return Codes
On success, this command returns
  • VK_SUCCESS

On failure, this command returns
  • VK_ERROR_OUT_OF_HOST_MEMORY

  • VK_ERROR_OUT_OF_DEVICE_MEMORY

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 (c) 2014-2019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.