blob: 5b2188ad5ca26cae6cdc3b50bde001bde353424f [file] [log] [blame]
// Copyright 2014-2021 The Khronos Group, Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
[[platformCreateSurface_directfb,platformCreateSurface_directfb]]
=== DirectFB Platform
[open,refpage='vkCreateDirectFBSurfaceEXT',desc='Create a slink:VkSurfaceKHR object for a DirectFB surface',type='protos']
--
To create a sname:VkSurfaceKHR object for a DirectFB surface, call:
include::{generated}/api/protos/vkCreateDirectFBSurfaceEXT.txt[]
* pname:instance is the instance to associate the surface with.
* pname:pCreateInfo is a pointer to a sname:VkDirectFBSurfaceCreateInfoEXT
structure containing parameters affecting the creation of the surface
object.
* pname:pAllocator is the allocator used for host memory allocated for the
surface object when there is no more specific allocator available (see
<<memory-allocation,Memory Allocation>>).
* pname:pSurface is a pointer to a slink:VkSurfaceKHR handle in which the
created surface object is returned.
include::{generated}/validity/protos/vkCreateDirectFBSurfaceEXT.txt[]
--
[open,refpage='VkDirectFBSurfaceCreateInfoEXT',desc='Structure specifying parameters of a newly created DirectFB surface object',type='structs']
--
The sname:VkDirectFBSurfaceCreateInfoEXT structure is defined as:
include::{generated}/api/structs/VkDirectFBSurfaceCreateInfoEXT.txt[]
* pname:sType is the type of this structure.
* pname:pNext is `NULL` or a pointer to a structure extending this
structure.
* pname:flags is reserved for future use.
* pname:dfb is a pointer to the code:IDirectFB main interface of DirectFB.
* pname:surface is a pointer to a code:IDirectFBSurface surface interface.
.Valid Usage
****
* [[VUID-VkDirectFBSurfaceCreateInfoEXT-dfb-04117]]
pname:dfb must: point to a valid DirectFB code:IDirectFB
* [[VUID-VkDirectFBSurfaceCreateInfoEXT-surface-04118]]
pname:surface must: point to a valid DirectFB code:IDirectFBSurface
****
include::{generated}/validity/structs/VkDirectFBSurfaceCreateInfoEXT.txt[]
--
With DirectFB, pname:minImageExtent, pname:maxImageExtent, and
pname:currentExtent must: always equal the surface size.
[open,refpage='VkDirectFBSurfaceCreateFlagsEXT',desc='Reserved for future use',type='flags']
--
include::{generated}/api/flags/VkDirectFBSurfaceCreateFlagsEXT.txt[]
tname:VkDirectFBSurfaceCreateFlagsEXT is a bitmask type for setting a mask,
but is currently reserved for future use.
--