blob: b76f9c696bedba2deb38d39233bbdc5e10fa69bb [file] [log] [blame]
// Copyright (c) 2014-2018 Khronos Group. This work is licensed under a
// Creative Commons Attribution 4.0 International License; see
// http://creativecommons.org/licenses/by/4.0/
include::meta/VK_KHR_android_surface.txt[]
*Last Modified Date*::
2016-01-14
*IP Status*::
No known IP claims.
*Contributors*::
- Patrick Doane, Blizzard
- Jason Ekstrand, Intel
- Ian Elliott, LunarG
- Courtney Goeltzenleuchter, LunarG
- Jesse Hall, Google
- James Jones, NVIDIA
- Antoine Labour, Google
- Jon Leech, Khronos
- David Mao, AMD
- Norbert Nopper, Freescale
- Alon Or-bach, Samsung
- Daniel Rakos, AMD
- Graham Sellers, AMD
- Ray Smith, ARM
- Jeff Vigil, Qualcomm
- Chia-I Wu, LunarG
The `VK_KHR_android_surface` extension is an instance extension.
It provides a mechanism to create a slink:VkSurfaceKHR object (defined by
the `<<VK_KHR_surface>>` extension) that refers to an code:ANativeWindow,
Android's native surface type.
The code:ANativeWindow represents the producer endpoint of any buffer queue,
regardless of consumer endpoint.
Common consumer endpoints for code:ANativeWindows are the system window
compositor, video encoders, and application-specific compositors importing
the images through a code:SurfaceTexture.
=== New Object Types
None
=== New Enum Constants
* Extending elink:VkStructureType:
** ename:VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR
=== New Enums
None
=== New Structures
* slink:VkAndroidSurfaceCreateInfoKHR
=== New Functions
* flink:vkCreateAndroidSurfaceKHR
=== Issues
1) Does Android need a way to query for compatibility between a particular
physical device (and queue family?) and a specific Android display?
*RESOLVED*: No.
Currently on Android, any physical device is expected to be able to present
to the system compositor, and all queue families must support the necessary
image layout transitions and synchronization operations.
=== Version History
* Revision 1, 2015-09-23 (Jesse Hall)
- Initial draft.
* Revision 2, 2015-10-26 (Ian Elliott)
- Renamed from VK_EXT_KHR_android_surface to VK_KHR_android_surface.
* Revision 3, 2015-11-03 (Daniel Rakos)
- Added allocation callbacks to surface creation function.
* Revision 4, 2015-11-10 (Jesse Hall)
- Removed VK_ERROR_INVALID_ANDROID_WINDOW_KHR.
* Revision 5, 2015-11-28 (Daniel Rakos)
- Updated the surface create function to take a pCreateInfo structure.
* Revision 6, 2016-01-14 (James Jones)
- Moved VK_ERROR_NATIVE_WINDOW_IN_USE_KHR from the VK_KHR_android_surface
to the VK_KHR_surface extension.