vulkan-3.1.0.0: Bindings to the Vulkan graphics API.

Safe HaskellNone
LanguageHaskell2010

Graphics.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
Show AndroidSurfaceCreateInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_android_surface

Storable AndroidSurfaceCreateInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_android_surface

FromCStruct AndroidSurfaceCreateInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_android_surface

ToCStruct AndroidSurfaceCreateInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_android_surface

Zero AndroidSurfaceCreateInfoKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_android_surface

newtype AndroidSurfaceCreateFlagsKHR Source #

Instances
Eq AndroidSurfaceCreateFlagsKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_android_surface

Ord AndroidSurfaceCreateFlagsKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_android_surface

Read AndroidSurfaceCreateFlagsKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_android_surface

Show AndroidSurfaceCreateFlagsKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_android_surface

Storable AndroidSurfaceCreateFlagsKHR Source # 
Instance details

Defined in Graphics.Vulkan.Extensions.VK_KHR_android_surface

Bits AndroidSurfaceCreateFlagsKHR Source # 
Instance details

Defined in Graphics.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 Graphics.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