vulkan-3.26.1: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

Description

Name

VK_QNX_external_memory_screen_buffer - device extension

VK_QNX_external_memory_screen_buffer

Name String
VK_QNX_external_memory_screen_buffer
Extension Type
Device extension
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

Version 1.1 and VK_EXT_queue_family_foreign

Contact

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

New Structures

New Enum Constants

Version History

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

    • Initial version

See Also

ExternalFormatQNX, ImportScreenBufferInfoQNX, PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, ScreenBufferFormatPropertiesQNX, ScreenBufferPropertiesQNX, getScreenBufferPropertiesQNX

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.

Synopsis

Documentation

getScreenBufferPropertiesQNX Source #

Arguments

:: forall a io. (Extendss ScreenBufferPropertiesQNX a, PokeChain a, PeekChain a, MonadIO io) 
=> Device

device is the logical device that will be importing buffer.

device must be a valid Device handle

-> Ptr Screen_buffer

buffer is the QNX Screen buffer which will be imported.

buffer must be a valid QNX Screen buffer

buffer must be a valid pointer to a valid Screen_buffer value

-> io (ScreenBufferPropertiesQNX a) 

vkGetScreenBufferPropertiesQNX - Get Properties of External Memory QNX Screen Buffers

Return Codes

Success
Failure

See Also

VK_QNX_external_memory_screen_buffer, Device, ScreenBufferPropertiesQNX

data ImportScreenBufferInfoQNX Source #

VkImportScreenBufferInfoQNX - Import memory from a QNX Screen buffer

Description

The implementation may not acquire a reference to the imported Screen buffer. Therefore, the application must ensure that the object referred to by buffer stays valid as long as the device memory to which it is imported is being used.

Valid Usage

Valid Usage (Implicit)

See Also

VK_QNX_external_memory_screen_buffer, StructureType

Constructors

ImportScreenBufferInfoQNX 

Fields

Instances

Instances details
Storable ImportScreenBufferInfoQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

Show ImportScreenBufferInfoQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

Eq ImportScreenBufferInfoQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

FromCStruct ImportScreenBufferInfoQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

ToCStruct ImportScreenBufferInfoQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

Zero ImportScreenBufferInfoQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

data ScreenBufferPropertiesQNX (es :: [Type]) Source #

VkScreenBufferPropertiesQNX - Properties of External Memory QNX Screen Buffers

Valid Usage (Implicit)

See Also

VK_QNX_external_memory_screen_buffer, DeviceSize, StructureType, getScreenBufferPropertiesQNX

Constructors

ScreenBufferPropertiesQNX 

Fields

  • next :: Chain es

    pNext is NULL or a pointer to a structure extending this structure.

  • allocationSize :: DeviceSize

    allocationSize is the size of the external memory.

  • memoryTypeBits :: Word32

    memoryTypeBits is a bitmask containing one bit set for every memory type which the specified Screen buffer can be imported as.

Instances

Instances details
Extensible ScreenBufferPropertiesQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

Methods

extensibleTypeName :: String Source #

getNext :: forall (es :: [Type]). ScreenBufferPropertiesQNX es -> Chain es Source #

setNext :: forall (ds :: [Type]) (es :: [TYPE LiftedRep]). ScreenBufferPropertiesQNX ds -> Chain es -> ScreenBufferPropertiesQNX es Source #

extends :: forall e b proxy. Typeable e => proxy e -> (Extends ScreenBufferPropertiesQNX e => b) -> Maybe b Source #

Show (Chain es) => Show (ScreenBufferPropertiesQNX es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

(Extendss ScreenBufferPropertiesQNX es, PeekChain es) => FromCStruct (ScreenBufferPropertiesQNX es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

(Extendss ScreenBufferPropertiesQNX es, PokeChain es) => ToCStruct (ScreenBufferPropertiesQNX es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

es ~ ('[] :: [Type]) => Zero (ScreenBufferPropertiesQNX es) Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

data ScreenBufferFormatPropertiesQNX Source #

VkScreenBufferFormatPropertiesQNX - Structure describing the image format properties of a QNX Screen buffer

Description

If the QNX Screen buffer has one of the formats listed in the QNX Screen Format Equivalence table, then format must have the equivalent Vulkan format listed in the table. Otherwise, format may be FORMAT_UNDEFINED, indicating the QNX Screen buffer can only be used with an external format. The formatFeatures member must include FORMAT_FEATURE_SAMPLED_IMAGE_BIT and should include FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT and FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT.

Valid Usage (Implicit)

See Also

VK_QNX_external_memory_screen_buffer, ChromaLocation, ComponentMapping, Format, FormatFeatureFlags, SamplerYcbcrModelConversion, SamplerYcbcrRange, StructureType

Constructors

ScreenBufferFormatPropertiesQNX 

Fields

Instances

Instances details
Storable ScreenBufferFormatPropertiesQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

Show ScreenBufferFormatPropertiesQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

FromCStruct ScreenBufferFormatPropertiesQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

ToCStruct ScreenBufferFormatPropertiesQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

Zero ScreenBufferFormatPropertiesQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

data ExternalFormatQNX Source #

VkExternalFormatQNX - Structure containing a QNX Screen buffer external format

Description

If externalFormat is zero, the effect is as if the ExternalFormatQNX structure was not present. Otherwise, the image will have the specified external format.

Valid Usage (Implicit)

See Also

VK_QNX_external_memory_screen_buffer, StructureType

Constructors

ExternalFormatQNX 

Fields

Instances

Instances details
Storable ExternalFormatQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

Show ExternalFormatQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

Eq ExternalFormatQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

FromCStruct ExternalFormatQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

ToCStruct ExternalFormatQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

Zero ExternalFormatQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

data PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX Source #

VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX - Structure describing QNX Screen Buffer features that can be supported by an implementation

Members

The members of the PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX structure describe the following features:

Description

'

FeaturesFunctionality
screenBufferImportImportScreenBufferInfoQNX
Always supported1 getScreenBufferPropertiesQNX, ScreenBufferPropertiesQNX, ScreenBufferFormatPropertiesQNX, ExternalFormatQNX

Functionality supported for QNX Screen Buffer features

1
Functionality in this row is always available.

The Functionality supported for QNX Screen buffer features table summarizes the functionality enabled by the PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX structure. Each entry in the body of the table summarizes the functionality that can be used when the given features are supported and enabled. This summarizes Valid Usage statements that are added elsewhere in this specification.

If the PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX structure is included in the pNext chain of the PhysicalDeviceFeatures2 structure passed to getPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX can also be used in the pNext chain of DeviceCreateInfo to selectively enable these features.

Valid Usage (Implicit)

See Also

VK_QNX_external_memory_screen_buffer, Bool32, StructureType

Constructors

PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX 

Fields

Instances

Instances details
Storable PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

Show PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

Eq PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

FromCStruct PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

ToCStruct PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

Zero PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX Source # 
Instance details

Defined in Vulkan.Extensions.VK_QNX_external_memory_screen_buffer

type QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME = "VK_QNX_external_memory_screen_buffer" Source #