KhronosGroup / KhronosGroup/Vulkan-Docs
Ambiguity about whether VkExternalMemoryImageCreateInfo and VkExternalMemoryBufferCreateInfo are needed when exporting memory
- Dominant language
- JavaScript
- Stars
- 3.3k
- Forks
- 549
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 2
Description
Current docs say:
> To define a set of external memory handle types that may be used as backing store for an image, add a VkExternalMemoryImageCreateInfo structure to the pNext chain of the VkImageCreateInfo structure.
and
>To define a set of external memory handle types that may be used as backing store for a buffer, add a VkExternalMemoryBufferCreateInfo structure to the pNext chain of the VkBufferCreateInfo structure.
That sounds like you only use them when creating an image or buffer over imported external memory.
However, in the discussion for `VK_EXT_image_drm_format_modifier`, when talking about exporting an image with format information, we read:
>The application creates the image by chaining VkImageDrmFormatModifierListCreateInfoEXT and VkExternalMemoryImageCreateInfo onto VkImageCreateInfo. The protocol and APIs by which the application will share the image with external consumers will likely determine the value of VkExternalMemoryImageCreateInfo::handleTypes.
So. Is the extension doc wrong? Is it describing that in the specific situation when using `VkImageDrmFormatModifierListCreateInfoEXT` you need to chain a `VkExternalMemoryImageCreateInfo`? or is it reflecting that you actually need `VkExternalMemoryImageCreateInfo` for any image being created for exporting?
Thanks.
Contributor guide
Assessment
This issue has not been assessed yet.