vulkan-3.3: Bindings to the Vulkan graphics API.
Safe HaskellNone
LanguageHaskell2010

Vulkan.Extensions.VK_KHR_android_surface

Synopsis

Documentation

createAndroidSurfaceKHR :: forall io. MonadIO io => Instance -> AndroidSurfaceCreateInfoKHR -> ("allocator" ::: Maybe AllocationCallbacks) -> io SurfaceKHR Source #

vkCreateAndroidSurfaceKHR - Create a SurfaceKHR object for an Android native window

Parameters

  • instance is the instance to associate the surface with.
  • pCreateInfo is a pointer to a AndroidSurfaceCreateInfoKHR 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 is a pointer to a SurfaceKHR 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 SurfaceKHR can exist at a time for a given window. Similarly, a native window cannot be used by both a SurfaceKHR and EGLSurface simultaneously.

If successful, createAndroidSurfaceKHR increments the ANativeWindow’s reference count, and destroySurfaceKHR 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 Instance handle

Return Codes

Success
Failure

See Also

AllocationCallbacks, AndroidSurfaceCreateInfoKHR, Instance, SurfaceKHR

data AndroidSurfaceCreateInfoKHR Source #

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

Valid Usage (Implicit)

See Also

AndroidSurfaceCreateFlagsKHR, StructureType, createAndroidSurfaceKHR

Constructors

AndroidSurfaceCreateInfoKHR 

Fields

Instances

Instances details
Show AndroidSurfaceCreateInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_android_surface

Storable AndroidSurfaceCreateInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_android_surface

FromCStruct AndroidSurfaceCreateInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_android_surface

ToCStruct AndroidSurfaceCreateInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_android_surface

Zero AndroidSurfaceCreateInfoKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_android_surface

newtype AndroidSurfaceCreateFlagsKHR Source #

Instances

Instances details
Eq AndroidSurfaceCreateFlagsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_android_surface

Ord AndroidSurfaceCreateFlagsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_android_surface

Read AndroidSurfaceCreateFlagsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_android_surface

Show AndroidSurfaceCreateFlagsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_android_surface

Storable AndroidSurfaceCreateFlagsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_android_surface

Bits AndroidSurfaceCreateFlagsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_android_surface

Methods

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

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

xor :: AndroidSurfaceCreateFlagsKHR -> AndroidSurfaceCreateFlagsKHR -> AndroidSurfaceCreateFlagsKHR #

complement :: AndroidSurfaceCreateFlagsKHR -> AndroidSurfaceCreateFlagsKHR #

shift :: AndroidSurfaceCreateFlagsKHR -> Int -> AndroidSurfaceCreateFlagsKHR #

rotate :: AndroidSurfaceCreateFlagsKHR -> Int -> AndroidSurfaceCreateFlagsKHR #

zeroBits :: AndroidSurfaceCreateFlagsKHR #

bit :: Int -> AndroidSurfaceCreateFlagsKHR #

setBit :: AndroidSurfaceCreateFlagsKHR -> Int -> AndroidSurfaceCreateFlagsKHR #

clearBit :: AndroidSurfaceCreateFlagsKHR -> Int -> AndroidSurfaceCreateFlagsKHR #

complementBit :: AndroidSurfaceCreateFlagsKHR -> Int -> AndroidSurfaceCreateFlagsKHR #

testBit :: AndroidSurfaceCreateFlagsKHR -> Int -> Bool #

bitSizeMaybe :: AndroidSurfaceCreateFlagsKHR -> Maybe Int #

bitSize :: AndroidSurfaceCreateFlagsKHR -> Int #

isSigned :: AndroidSurfaceCreateFlagsKHR -> Bool #

shiftL :: AndroidSurfaceCreateFlagsKHR -> Int -> AndroidSurfaceCreateFlagsKHR #

unsafeShiftL :: AndroidSurfaceCreateFlagsKHR -> Int -> AndroidSurfaceCreateFlagsKHR #

shiftR :: AndroidSurfaceCreateFlagsKHR -> Int -> AndroidSurfaceCreateFlagsKHR #

unsafeShiftR :: AndroidSurfaceCreateFlagsKHR -> Int -> AndroidSurfaceCreateFlagsKHR #

rotateL :: AndroidSurfaceCreateFlagsKHR -> Int -> AndroidSurfaceCreateFlagsKHR #

rotateR :: AndroidSurfaceCreateFlagsKHR -> Int -> AndroidSurfaceCreateFlagsKHR #

popCount :: AndroidSurfaceCreateFlagsKHR -> Int #

Zero AndroidSurfaceCreateFlagsKHR Source # 
Instance details

Defined in Vulkan.Extensions.VK_KHR_android_surface

type KHR_ANDROID_SURFACE_EXTENSION_NAME = "VK_KHR_android_surface" Source #

pattern KHR_ANDROID_SURFACE_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #

newtype SurfaceKHR Source #

Constructors

SurfaceKHR Word64 

Instances

Instances details
Eq SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Ord SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Show SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Storable SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

Zero SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

HasObjectType SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles

IsHandle SurfaceKHR Source # 
Instance details

Defined in Vulkan.Extensions.Handles