| [open,refpage='vkGetPhysicalDeviceExternalImageFormatPropertiesNV',desc='determine image capabilities compatible with external memory handle types',type='protos'] |
| -- |
| |
| To determine the image capabilities compatible with an external memory |
| handle type, call: |
| |
| include::../../api/protos/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.txt[] |
| |
| * pname:physicalDevice is the physical device from which to query the |
| image capabilities |
| * pname:format is the image format, corresponding to |
| slink:VkImageCreateInfo::pname:format. |
| * pname:type is the image type, corresponding to |
| slink:VkImageCreateInfo::pname:imageType. |
| * pname:tiling is the image tiling, corresponding to |
| slink:VkImageCreateInfo::pname:tiling. |
| * pname:usage is the intended usage of the image, corresponding to |
| slink:VkImageCreateInfo::pname:usage. |
| * pname:flags is a bitmask describing additional parameters of the image, |
| corresponding to slink:VkImageCreateInfo::pname:flags. |
| * pname:externalHandleType is either one of the bits from |
| slink:VkExternalMemoryHandleTypeFlagBitsNV, or 0. |
| * pname:pExternalImageFormatProperties points to an instance of the |
| slink:VkExternalImageFormatPropertiesNV structure in which capabilities |
| are returned. |
| |
| If pname:externalHandleType is 0, |
| pname:pExternalImageFormatProperties::imageFormatProperties will return the |
| same values as a call to flink:vkGetPhysicalDeviceImageFormatProperties, and |
| the other members of pname:pExternalImageFormatProperties will all be 0. |
| Otherwise, they are filled in as described for |
| slink:VkExternalImageFormatPropertiesNV. |
| |
| include::../../validity/protos/vkGetPhysicalDeviceExternalImageFormatPropertiesNV.txt[] |
| -- |
| |
| [open,refpage='VkExternalImageFormatPropertiesNV',desc='Structure specifying external image format properties',type='structs'] |
| -- |
| |
| The sname:VkExternalImageFormatPropertiesNV structure is defined as: |
| |
| include::../../api/structs/VkExternalImageFormatPropertiesNV.txt[] |
| |
| * pname:imageFormatProperties will be filled in as when calling |
| flink:vkGetPhysicalDeviceImageFormatProperties, but the values returned |
| may: vary depending on the external handle type requested. |
| * pname:externalMemoryFeatures is a bitmask of |
| elink:VkExternalMemoryFeatureFlagBitsNV, indicating properties of the |
| external memory handle type |
| (flink:vkGetPhysicalDeviceExternalImageFormatPropertiesNV::pname:externalHandleType) |
| being queried, or 0 if the external memory handle type is 0. |
| * pname:exportFromImportedHandleTypes is a bitmask of |
| elink:VkExternalMemoryHandleTypeFlagBitsNV containing a bit set for |
| every external handle type that may: be used to create memory from which |
| the handles of the type specified in |
| flink:vkGetPhysicalDeviceExternalImageFormatPropertiesNV::pname:externalHandleType |
| can: be exported, or 0 if the external memory handle type is 0. |
| * pname:compatibleHandleTypes is a bitmask of |
| elink:VkExternalMemoryHandleTypeFlagBitsNV containing a bit set for |
| every external handle type that may: be specified simultaneously with |
| the handle type specified by |
| flink:vkGetPhysicalDeviceExternalImageFormatPropertiesNV::pname:externalHandleType |
| when calling flink:vkAllocateMemory, or 0 if the external memory handle |
| type is 0. |
| pname:compatibleHandleTypes will always contain |
| flink:vkGetPhysicalDeviceExternalImageFormatPropertiesNV::pname:externalHandleType |
| |
| include::../../validity/structs/VkExternalImageFormatPropertiesNV.txt[] |
| -- |
| |
| [open,refpage='VkExternalMemoryFeatureFlagBitsNV',desc='Bitmask specifying external memory features',type='enums',xrefs='vkGetPhysicalDeviceExternalImageFormatPropertiesNV VkExternalImageFormatPropertiesNV'] |
| -- |
| |
| Bits which can: be set in |
| slink:VkExternalMemoryFeatureFlagBitsNV::pname:externalMemoryFeatures, |
| indicating properties of the external memory handle type, are: |
| |
| include::../../api/enums/VkExternalMemoryFeatureFlagBitsNV.txt[] |
| |
| * ename:VK_EXTERNAL_MEMORY_FEATURE_DEDICATED_ONLY_BIT_NV specifies that |
| external memory of the specified type must: be created as a dedicated |
| allocation when used in the manner specified. |
| * ename:VK_EXTERNAL_MEMORY_FEATURE_EXPORTABLE_BIT_NV specifies that the |
| implementation supports exporting handles of the specified type. |
| * ename:VK_EXTERNAL_MEMORY_FEATURE_IMPORTABLE_BIT_NV specifies that the |
| implementation supports importing handles of the specified type. |
| |
| -- |
| |
| [open,refpage='VkExternalMemoryFeatureFlagsNV',desc='Bitmask of VkExternalMemoryFeatureFlagBitsNV',type='enums'] |
| -- |
| include::../../api/flags/VkExternalMemoryFeatureFlagsNV.txt[] |
| |
| sname:VkExternalMemoryFeatureFlagsNV is a bitmask type for setting a mask of |
| zero or more slink:VkExternalMemoryFeatureFlagBitsNV. |
| -- |