vkGetBufferCollectionPropertiesFUCHSIA(3)

# vkGetBufferCollectionPropertiesFUCHSIA(3) Manual Page

## Name

vkGetBufferCollectionPropertiesFUCHSIA - Retrieve properties from a buffer collection

Loading… please wait.

## C Specification

After constraints have been set on the buffer collection by calling vkSetBufferCollectionImageConstraintsFUCHSIA or vkSetBufferCollectionBufferConstraintsFUCHSIA, call `vkGetBufferCollectionPropertiesFUCHSIA` to retrieve the negotiated and finalized properties of the buffer collection.

The call to `vkGetBufferCollectionPropertiesFUCHSIA` is synchronous. It waits for the Sysmem format negotiation and buffer collection allocation to complete before returning.

    // Provided by VK_FUCHSIA_buffer_collection
    VkResult vkGetBufferCollectionPropertiesFUCHSIA(
        VkDevice                                    device,
        VkBufferCollectionFUCHSIA                   collection,
        VkBufferCollectionPropertiesFUCHSIA*        pProperties);

## Parameters

- `device` is the logical device handle

- `collection` is the VkBufferCollectionFUCHSIA handle

- `pProperties` is a pointer to the retrieved VkBufferCollectionPropertiesFUCHSIA struct

## Description

For image-based buffer collections, upon calling `vkGetBufferCollectionPropertiesFUCHSIA`, Sysmem will choose an element of the VkImageConstraintsInfoFUCHSIA::`pImageCreateInfos` established by the preceding call to vkSetBufferCollectionImageConstraintsFUCHSIA. The index of the element chosen is stored in and can be retrieved from VkBufferCollectionPropertiesFUCHSIA::`createInfoIndex`.

For buffer-based buffer collections, a single VkBufferCreateInfo is specified as VkBufferConstraintsInfoFUCHSIA::`createInfo`. VkBufferCollectionPropertiesFUCHSIA::`createInfoIndex` will therefore always be zero.

`vkGetBufferCollectionPropertiesFUCHSIA` may fail if Sysmem is unable to resolve the constraints of all of the participants in the buffer collection. If that occurs, `vkGetBufferCollectionPropertiesFUCHSIA` will return `VK_ERROR_INITIALIZATION_FAILED`.

Valid Usage

- VUID-vkGetBufferCollectionPropertiesFUCHSIA-None-06405
  Prior to calling vkGetBufferCollectionPropertiesFUCHSIA, the constraints on the buffer collection must have been set by either vkSetBufferCollectionImageConstraintsFUCHSIA or vkSetBufferCollectionBufferConstraintsFUCHSIA.

Valid Usage (Implicit)

- VUID-vkGetBufferCollectionPropertiesFUCHSIA-device-parameter
  `device` must be a valid VkDevice handle

- VUID-vkGetBufferCollectionPropertiesFUCHSIA-collection-parameter
  `collection` must be a valid VkBufferCollectionFUCHSIA handle

- VUID-vkGetBufferCollectionPropertiesFUCHSIA-pProperties-parameter
  `pProperties` must be a valid pointer to a VkBufferCollectionPropertiesFUCHSIA structure

- VUID-vkGetBufferCollectionPropertiesFUCHSIA-collection-parent
  `collection` must have been created, allocated, or retrieved from `device`

Return Codes

On success, this command returns

  - `VK_SUCCESS`

On failure, this command returns

  - `VK_ERROR_OUT_OF_HOST_MEMORY`

  - `VK_ERROR_INITIALIZATION_FAILED`

## See Also

VK_FUCHSIA_buffer_collection, VkBufferCollectionFUCHSIA, VkBufferCollectionPropertiesFUCHSIA, VkDevice

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

SPDX-License-Identifier: CC-BY-4.0