vulkan-2.1.0.0: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.Vulkan.Extensions.VK_KHR_android_surface

Synopsis

Documentation

data ANativeWindow Source #

Opaque data

newtype VkAndroidSurfaceCreateFlagsKHR Source #

Instances
Eq VkAndroidSurfaceCreateFlagsKHR Source # 
Instance details
Ord VkAndroidSurfaceCreateFlagsKHR Source # 
Instance details
Read VkAndroidSurfaceCreateFlagsKHR Source # 
Instance details
Show VkAndroidSurfaceCreateFlagsKHR Source # 
Instance details
Storable VkAndroidSurfaceCreateFlagsKHR Source # 
Instance details
Bits VkAndroidSurfaceCreateFlagsKHR Source # 
Instance details

Methods

(.&.) :: VkAndroidSurfaceCreateFlagsKHR -> VkAndroidSurfaceCreateFlagsKHR -> VkAndroidSurfaceCreateFlagsKHR #

(.|.) :: VkAndroidSurfaceCreateFlagsKHR -> VkAndroidSurfaceCreateFlagsKHR -> VkAndroidSurfaceCreateFlagsKHR #

xor :: VkAndroidSurfaceCreateFlagsKHR -> VkAndroidSurfaceCreateFlagsKHR -> VkAndroidSurfaceCreateFlagsKHR #

complement :: VkAndroidSurfaceCreateFlagsKHR -> VkAndroidSurfaceCreateFlagsKHR #

shift :: VkAndroidSurfaceCreateFlagsKHR -> Int -> VkAndroidSurfaceCreateFlagsKHR #

rotate :: VkAndroidSurfaceCreateFlagsKHR -> Int -> VkAndroidSurfaceCreateFlagsKHR #

zeroBits :: VkAndroidSurfaceCreateFlagsKHR #

bit :: Int -> VkAndroidSurfaceCreateFlagsKHR #

setBit :: VkAndroidSurfaceCreateFlagsKHR -> Int -> VkAndroidSurfaceCreateFlagsKHR #

clearBit :: VkAndroidSurfaceCreateFlagsKHR -> Int -> VkAndroidSurfaceCreateFlagsKHR #

complementBit :: VkAndroidSurfaceCreateFlagsKHR -> Int -> VkAndroidSurfaceCreateFlagsKHR #

testBit :: VkAndroidSurfaceCreateFlagsKHR -> Int -> Bool #

bitSizeMaybe :: VkAndroidSurfaceCreateFlagsKHR -> Maybe Int #

bitSize :: VkAndroidSurfaceCreateFlagsKHR -> Int #

isSigned :: VkAndroidSurfaceCreateFlagsKHR -> Bool #

shiftL :: VkAndroidSurfaceCreateFlagsKHR -> Int -> VkAndroidSurfaceCreateFlagsKHR #

unsafeShiftL :: VkAndroidSurfaceCreateFlagsKHR -> Int -> VkAndroidSurfaceCreateFlagsKHR #

shiftR :: VkAndroidSurfaceCreateFlagsKHR -> Int -> VkAndroidSurfaceCreateFlagsKHR #

unsafeShiftR :: VkAndroidSurfaceCreateFlagsKHR -> Int -> VkAndroidSurfaceCreateFlagsKHR #

rotateL :: VkAndroidSurfaceCreateFlagsKHR -> Int -> VkAndroidSurfaceCreateFlagsKHR #

rotateR :: VkAndroidSurfaceCreateFlagsKHR -> Int -> VkAndroidSurfaceCreateFlagsKHR #

popCount :: VkAndroidSurfaceCreateFlagsKHR -> Int #

FiniteBits VkAndroidSurfaceCreateFlagsKHR Source # 
Instance details

vkCreateAndroidSurfaceKHR :: ("instance" ::: VkInstance) -> ("pCreateInfo" ::: Ptr VkAndroidSurfaceCreateInfoKHR) -> ("pAllocator" ::: Ptr VkAllocationCallbacks) -> ("pSurface" ::: Ptr VkSurfaceKHR) -> IO VkResult Source #

vkCreateAndroidSurfaceKHR - Create a VkSurfaceKHR object for an Android native window

Parameters

  • instance is the instance to associate the surface with.
  • pCreateInfo is a pointer to an instance of the VkAndroidSurfaceCreateInfoKHR structure containing parameters affecting the creation of the surface object.
  • pAllocator is the allocator used for host memory allocated for the surface object when there is no more specific allocator available (see Memory Allocation).
  • pSurface points to a VkSurfaceKHR handle in which the created surface object is returned.

Description

During the lifetime of a surface created using a particular ANativeWindow handle any attempts to create another surface for the same ANativeWindow and any attempts to connect to the same ANativeWindow through other platform mechanisms will fail.

Note

In particular, only one VkSurfaceKHR can exist at a time for a given window. Similarly, a native window cannot be used by both a VkSurfaceKHR and EGLSurface simultaneously.

If successful, vkCreateAndroidSurfaceKHR increments the ANativeWindow’s reference count, and vkDestroySurfaceKHR will decrement it.

On Android, when a swapchain’s imageExtent does not match the surface’s currentExtent, the presentable images will be scaled to the surface’s dimensions during presentation. minImageExtent is (1,1), and maxImageExtent is the maximum image size supported by the consumer. For the system compositor, currentExtent is the window size (i.e. the consumer’s preferred size).

Valid Usage (Implicit)

  • instance must be a valid VkInstance handle
  • pCreateInfo must be a valid pointer to a valid VkAndroidSurfaceCreateInfoKHR structure
  • If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
  • pSurface must be a valid pointer to a VkSurfaceKHR handle

Return Codes

[Success] - VK_SUCCESS

[Failure] - VK_ERROR_OUT_OF_HOST_MEMORY

  • VK_ERROR_OUT_OF_DEVICE_MEMORY
  • VK_ERROR_NATIVE_WINDOW_IN_USE_KHR

See Also

VkAllocationCallbacks, VkAndroidSurfaceCreateInfoKHR, VkInstance, VkSurfaceKHR

data VkAndroidSurfaceCreateInfoKHR Source #

VkAndroidSurfaceCreateInfoKHR - Structure specifying parameters of a newly created Android surface object

Valid Usage

  • window must point to a valid Android ANativeWindow.

Valid Usage (Implicit)

  • sType must be VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR
  • pNext must be NULL
  • flags must be 0

See Also

VkAndroidSurfaceCreateFlagsKHR, VkStructureType, vkCreateAndroidSurfaceKHR

Constructors

VkAndroidSurfaceCreateInfoKHR 

Fields