# VK_QNX_external_memory_screen_buffer(3) Manual Page

## Name

VK_QNX_external_memory_screen_buffer - device extension

Loading… please wait.

## Registered Extension Number

530

## Revision

1

## Ratification Status

Not ratified

## Extension and Version Dependencies

VK_KHR_sampler_ycbcr_conversion
and
VK_KHR_external_memory
and
VK_KHR_dedicated_allocation
or
Vulkan Version 1.1
and
VK_EXT_queue_family_foreign

## Contact

- Mike Gorchak [GitHub]mgorchak-blackberry

- Aaron Ruby [GitHub]aruby-blackberry

## Other Extension Metadata

Last Modified Date

  2023-05-17

IP Status

  No known IP claims.

Contributors

  - Mike Gorchak, QNX / Blackberry Limited

  - Aaron Ruby, QNX / Blackberry Limited

## Description

This extension enables an application to import QNX Screen `_screen_buffer` objects created outside of the Vulkan device into Vulkan memory objects, where they can be bound to images and buffers.

Some `_screen_buffer` images have implementation-defined external formats that may not correspond to Vulkan formats. Sampler Y′CBCR conversion can be used to sample from these images and convert them to a known color space.

`_screen_buffer` is strongly typed, so naming the handle type is redundant. The internal layout and therefore size of a `_screen_buffer` image may depend on native usage flags that do not have corresponding Vulkan counterparts.

## New Commands

- vkGetScreenBufferPropertiesQNX

## New Structures

- VkScreenBufferPropertiesQNX

- Extending VkImageCreateInfo, VkSamplerYcbcrConversionCreateInfo:

  - VkExternalFormatQNX

- Extending VkMemoryAllocateInfo:

  - VkImportScreenBufferInfoQNX

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX

- Extending VkScreenBufferPropertiesQNX:

  - VkScreenBufferFormatPropertiesQNX

## New Enum Constants

- `VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME`

- `VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_SPEC_VERSION`

- Extending VkExternalMemoryHandleTypeFlagBits:

  - `VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX`

  - `VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX`

  - `VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX`

  - `VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX`

## Issues

## Version History

- Revision 1, 2023-05-17 (Mike Gorchak)

  - Initial version

## See Also

No cross-references are available

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0