From 0eb556696333ee4a9c77914874b5a46d09a43552 Mon Sep 17 00:00:00 2001 From: Aaron Ruby Date: Mon, 12 Jun 2023 14:50:15 -0400 Subject: [PATCH] Add VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX to the VK_QNX_external_memory_screen_buffer extension spec additions --- chapters/features.adoc | 45 ++++++++++++++++++++++++++++++++++++++++++ chapters/memory.adoc | 5 +++++ xml/vk.xml | 9 ++++++++- 3 files changed, 58 insertions(+), 1 deletion(-) diff --git a/chapters/features.adoc b/chapters/features.adoc index ec6403931..0728b9184 100644 --- a/chapters/features.adoc +++ b/chapters/features.adoc @@ -3473,6 +3473,51 @@ include::{generated}/validity/structs/VkPhysicalDeviceExternalMemorySciBufFeatur -- endif::VK_NV_external_memory_sci_buf[] +ifdef::VK_QNX_external_memory_screen_buffer[] +[open,refpage='VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX',desc='Structure describing QNX Screen Buffer features that can be supported by an implementation',type='structs'] +-- +The sname:VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX structure is +defined as: + +include::{generated}/api/structs/VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX.adoc[] + +The members of the sname:VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX +structure describe the following features: + + * [[features-screenBufferImport]] pname:screenBufferImport indicates whether + QNX Screen buffer import functionality is supported. + If pname:screenBufferImport is set to ename:VK_TRUE, slink:VkDeviceMemory + supports importing code:_screen_buffer from applications. + In this case, the application is responsible for the resource management + of the code:_screen_buffer. + +[[features-externalscreenbuffer-table]] +.Functionality supported for QNX Screen Buffer features +|===== +| Features | Functionality +| pname:screenBufferImport | slink:VkImportScreenBufferInfoQNX +| Always supported^1^ | flink:vkGetScreenBufferPropertiesQNX, slink:VkScreenBufferPropertiesQNX, slink:VkScreenBufferFormatPropertiesQNX, +slink:VkExternalFormatQNX +|===== + +1:: + Functionality in this row is always available. + +The <> table summarizes the functionality enabled by the +sname:VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX 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. + +:refpage: VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX +include::{chapters}/features.adoc[tag=features] + +include::{generated}/validity/structs/VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX.adoc[] +-- +endif::VK_QNX_external_memory_screen_buffer[] + ifdef::VK_EXT_index_type_uint8[] [open,refpage='VkPhysicalDeviceIndexTypeUint8FeaturesEXT',desc='Structure describing whether uint8 index type can be used',type='structs'] -- diff --git a/chapters/memory.adoc b/chapters/memory.adoc index 58ccb6e4f..77158d586 100644 --- a/chapters/memory.adoc +++ b/chapters/memory.adoc @@ -1613,6 +1613,11 @@ ifdef::VK_ANDROID_external_memory_android_hardware_buffer[] Android hardware buffer's code:AHardwareBuffer_Desc::code:usage endif::VK_ANDROID_external_memory_android_hardware_buffer[] ifdef::VK_QNX_external_memory_screen_buffer[] + * If the parameters define an import operation and the external handle + type is + ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX, + slink:VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX::pname:screenBufferImport + must: be enabled * If the parameters define an import operation and the external handle type is ename:VK_EXTERNAL_MEMORY_HANDLE_TYPE_SCREEN_BUFFER_BIT_QNX, diff --git a/xml/vk.xml b/xml/vk.xml index d472c7616..38638fb89 100644 --- a/xml/vk.xml +++ b/xml/vk.xml @@ -8225,6 +8225,11 @@ typedef void* MTLSharedEvent_id; void* pNext uint64_t externalFormat + + VkStructureType sType + void* pNext + VkBool32 screenBufferImport + @@ -22225,7 +22230,7 @@ typedef void* MTLSharedEvent_id; - + @@ -22234,10 +22239,12 @@ typedef void* MTLSharedEvent_id; + +