vkRegisterObjectsNVX(3)

# vkRegisterObjectsNVX(3) Manual Page

## Name

vkRegisterObjectsNVX - Register resource bindings in an object table

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

VkDevice, VkObjectTableEntryNVX, VkObjectTableNVX

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