Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- getPhysicalDeviceSurfaceCapabilities2KHR :: forall a b io. (Extendss PhysicalDeviceSurfaceInfo2KHR a, Extendss SurfaceCapabilities2KHR b, PokeChain a, PokeChain b, PeekChain b, MonadIO io) => PhysicalDevice -> PhysicalDeviceSurfaceInfo2KHR a -> io (SurfaceCapabilities2KHR b)
- getPhysicalDeviceSurfaceFormats2KHR :: forall a io. (Extendss PhysicalDeviceSurfaceInfo2KHR a, PokeChain a, MonadIO io) => PhysicalDevice -> PhysicalDeviceSurfaceInfo2KHR a -> io (Result, "surfaceFormats" ::: Vector SurfaceFormat2KHR)
- data PhysicalDeviceSurfaceInfo2KHR (es :: [Type]) = PhysicalDeviceSurfaceInfo2KHR {
- next :: Chain es
- surface :: SurfaceKHR
- data SurfaceCapabilities2KHR (es :: [Type]) = SurfaceCapabilities2KHR {}
- data SurfaceFormat2KHR = SurfaceFormat2KHR {}
- type KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION = 1
- pattern KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION :: forall a. Integral a => a
- type KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME = "VK_KHR_get_surface_capabilities2"
- pattern KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
- newtype SurfaceKHR = SurfaceKHR Word64
- data SurfaceCapabilitiesKHR = SurfaceCapabilitiesKHR {
- minImageCount :: Word32
- maxImageCount :: Word32
- currentExtent :: Extent2D
- minImageExtent :: Extent2D
- maxImageExtent :: Extent2D
- maxImageArrayLayers :: Word32
- supportedTransforms :: SurfaceTransformFlagsKHR
- currentTransform :: SurfaceTransformFlagBitsKHR
- supportedCompositeAlpha :: CompositeAlphaFlagsKHR
- supportedUsageFlags :: ImageUsageFlags
- data SurfaceFormatKHR = SurfaceFormatKHR {}
- newtype ColorSpaceKHR where
- ColorSpaceKHR Int32
- pattern COLOR_SPACE_DISPLAY_P3_LINEAR_EXT :: ColorSpaceKHR
- pattern COLOR_SPACE_SRGB_NONLINEAR_KHR :: ColorSpaceKHR
- pattern COLOR_SPACE_DISPLAY_NATIVE_AMD :: ColorSpaceKHR
- pattern COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT :: ColorSpaceKHR
- pattern COLOR_SPACE_PASS_THROUGH_EXT :: ColorSpaceKHR
- pattern COLOR_SPACE_ADOBERGB_NONLINEAR_EXT :: ColorSpaceKHR
- pattern COLOR_SPACE_ADOBERGB_LINEAR_EXT :: ColorSpaceKHR
- pattern COLOR_SPACE_HDR10_HLG_EXT :: ColorSpaceKHR
- pattern COLOR_SPACE_DOLBYVISION_EXT :: ColorSpaceKHR
- pattern COLOR_SPACE_HDR10_ST2084_EXT :: ColorSpaceKHR
- pattern COLOR_SPACE_BT2020_LINEAR_EXT :: ColorSpaceKHR
- pattern COLOR_SPACE_BT709_NONLINEAR_EXT :: ColorSpaceKHR
- pattern COLOR_SPACE_BT709_LINEAR_EXT :: ColorSpaceKHR
- pattern COLOR_SPACE_DCI_P3_NONLINEAR_EXT :: ColorSpaceKHR
- pattern COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT :: ColorSpaceKHR
- pattern COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT :: ColorSpaceKHR
- newtype CompositeAlphaFlagBitsKHR where
- CompositeAlphaFlagBitsKHR Flags
- pattern COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: CompositeAlphaFlagBitsKHR
- pattern COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR
- pattern COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR
- pattern COMPOSITE_ALPHA_INHERIT_BIT_KHR :: CompositeAlphaFlagBitsKHR
- type CompositeAlphaFlagsKHR = CompositeAlphaFlagBitsKHR
- newtype SurfaceTransformFlagBitsKHR where
- SurfaceTransformFlagBitsKHR Flags
- pattern SURFACE_TRANSFORM_IDENTITY_BIT_KHR :: SurfaceTransformFlagBitsKHR
- pattern SURFACE_TRANSFORM_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
- pattern SURFACE_TRANSFORM_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
- pattern SURFACE_TRANSFORM_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
- pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR :: SurfaceTransformFlagBitsKHR
- pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR :: SurfaceTransformFlagBitsKHR
- pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR :: SurfaceTransformFlagBitsKHR
- pattern SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR :: SurfaceTransformFlagBitsKHR
- pattern SURFACE_TRANSFORM_INHERIT_BIT_KHR :: SurfaceTransformFlagBitsKHR
- type SurfaceTransformFlagsKHR = SurfaceTransformFlagBitsKHR
Documentation
getPhysicalDeviceSurfaceCapabilities2KHR Source #
:: forall a b io. (Extendss PhysicalDeviceSurfaceInfo2KHR a, Extendss SurfaceCapabilities2KHR b, PokeChain a, PokeChain b, PeekChain b, MonadIO io) | |
=> PhysicalDevice |
|
-> PhysicalDeviceSurfaceInfo2KHR a |
|
-> io (SurfaceCapabilities2KHR b) |
vkGetPhysicalDeviceSurfaceCapabilities2KHR - Reports capabilities of a surface on a physical device
Description
getPhysicalDeviceSurfaceCapabilities2KHR
behaves similarly to
getPhysicalDeviceSurfaceCapabilitiesKHR
,
with the ability to specify extended inputs via chained input
structures, and to return extended information via chained output
structures.
Valid Usage
- If a
SurfaceCapabilitiesFullScreenExclusiveEXT
structure is included in thepNext
chain ofpSurfaceCapabilities
, aSurfaceFullScreenExclusiveWin32InfoEXT
structure must be included in thepNext
chain ofpSurfaceInfo
Valid Usage (Implicit)
physicalDevice
must be a validPhysicalDevice
handle
pSurfaceInfo
must be a valid pointer to a validPhysicalDeviceSurfaceInfo2KHR
structurepSurfaceCapabilities
must be a valid pointer to aSurfaceCapabilities2KHR
structure
Return Codes
See Also
PhysicalDevice
, PhysicalDeviceSurfaceInfo2KHR
,
SurfaceCapabilities2KHR
getPhysicalDeviceSurfaceFormats2KHR Source #
:: forall a io. (Extendss PhysicalDeviceSurfaceInfo2KHR a, PokeChain a, MonadIO io) | |
=> PhysicalDevice |
|
-> PhysicalDeviceSurfaceInfo2KHR a |
|
-> io (Result, "surfaceFormats" ::: Vector SurfaceFormat2KHR) |
vkGetPhysicalDeviceSurfaceFormats2KHR - Query color formats supported by surface
Description
getPhysicalDeviceSurfaceFormats2KHR
behaves similarly to
getPhysicalDeviceSurfaceFormatsKHR
,
with the ability to be extended via pNext
chains.
If pSurfaceFormats
is NULL
, then the number of format tuples
supported for the given surface
is returned in pSurfaceFormatCount
.
Otherwise, pSurfaceFormatCount
must point to a variable set by the
user to the number of elements in the pSurfaceFormats
array, and on
return the variable is overwritten with the number of structures
actually written to pSurfaceFormats
. If the value of
pSurfaceFormatCount
is less than the number of format tuples
supported, at most pSurfaceFormatCount
structures will be written. If
pSurfaceFormatCount
is smaller than the number of format tuples
supported for the surface parameters described in pSurfaceInfo
,
INCOMPLETE
will be returned instead of
SUCCESS
to indicate that not all the
available values were returned.
Valid Usage
pSurfaceInfo->surface
must be supported byphysicalDevice
, as reported bygetPhysicalDeviceSurfaceSupportKHR
or an equivalent platform-specific mechanism
Valid Usage (Implicit)
physicalDevice
must be a validPhysicalDevice
handle
pSurfaceInfo
must be a valid pointer to a validPhysicalDeviceSurfaceInfo2KHR
structurepSurfaceFormatCount
must be a valid pointer to auint32_t
value- If the value referenced by
pSurfaceFormatCount
is not0
, andpSurfaceFormats
is notNULL
,pSurfaceFormats
must be a valid pointer to an array ofpSurfaceFormatCount
SurfaceFormat2KHR
structures
Return Codes
See Also
PhysicalDevice
, PhysicalDeviceSurfaceInfo2KHR
,
SurfaceFormat2KHR
data PhysicalDeviceSurfaceInfo2KHR (es :: [Type]) Source #
VkPhysicalDeviceSurfaceInfo2KHR - Structure specifying a surface and related swapchain creation parameters
Description
The members of PhysicalDeviceSurfaceInfo2KHR
correspond to the
arguments to
getPhysicalDeviceSurfaceCapabilitiesKHR
,
with sType
and pNext
added for extensibility.
Additional capabilities of a surface may be available to swapchains
created with different full-screen exclusive settings - particularly if
exclusive full-screen access is application controlled. These additional
capabilities can be queried by adding a
SurfaceFullScreenExclusiveInfoEXT
structure to the pNext
chain of this structure when used to query
surface properties. Additionally, for Win32 surfaces with application
controlled exclusive full-screen access, chaining a
SurfaceFullScreenExclusiveWin32InfoEXT
structure may also report additional surface capabilities. These
additional capabilities only apply to swapchains created with the same
parameters included in the pNext
chain of
SwapchainCreateInfoKHR
.
Valid Usage
- If the
pNext
chain includes aSurfaceFullScreenExclusiveInfoEXT
structure with itsfullScreenExclusive
member set toFULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT
, andsurface
was created usingcreateWin32SurfaceKHR
, aSurfaceFullScreenExclusiveWin32InfoEXT
structure must be included in thepNext
chain
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_PHYSICAL_DEVICE_SURFACE_INFO_2_KHR
- Each
pNext
member of any structure (including this one) in thepNext
chain must be eitherNULL
or a pointer to a valid instance ofSurfaceFullScreenExclusiveInfoEXT
orSurfaceFullScreenExclusiveWin32InfoEXT
- The
sType
value of each struct in thepNext
chain must be unique surface
must be a validSurfaceKHR
handle
See Also
StructureType
,
SurfaceKHR
,
getDeviceGroupSurfacePresentModes2EXT
,
getPhysicalDeviceSurfaceCapabilities2KHR
,
getPhysicalDeviceSurfaceFormats2KHR
,
getPhysicalDeviceSurfacePresentModes2EXT
PhysicalDeviceSurfaceInfo2KHR | |
|
Instances
data SurfaceCapabilities2KHR (es :: [Type]) Source #
VkSurfaceCapabilities2KHR - Structure describing capabilities of a surface
Valid Usage (Implicit)
sType
must beSTRUCTURE_TYPE_SURFACE_CAPABILITIES_2_KHR
- Each
pNext
member of any structure (including this one) in thepNext
chain must be eitherNULL
or a pointer to a valid instance ofDisplayNativeHdrSurfaceCapabilitiesAMD
,SharedPresentSurfaceCapabilitiesKHR
,SurfaceCapabilitiesFullScreenExclusiveEXT
, orSurfaceProtectedCapabilitiesKHR
- The
sType
value of each struct in thepNext
chain must be unique
See Also
StructureType
,
SurfaceCapabilitiesKHR
,
getPhysicalDeviceSurfaceCapabilities2KHR
SurfaceCapabilities2KHR | |
|
Instances
data SurfaceFormat2KHR Source #
VkSurfaceFormat2KHR - Structure describing a supported swapchain format tuple
Valid Usage (Implicit)
See Also
StructureType
,
SurfaceFormatKHR
,
getPhysicalDeviceSurfaceFormats2KHR
SurfaceFormat2KHR | |
|
Instances
Show SurfaceFormat2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_get_surface_capabilities2 showsPrec :: Int -> SurfaceFormat2KHR -> ShowS # show :: SurfaceFormat2KHR -> String # showList :: [SurfaceFormat2KHR] -> ShowS # | |
FromCStruct SurfaceFormat2KHR Source # | |
ToCStruct SurfaceFormat2KHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_get_surface_capabilities2 withCStruct :: SurfaceFormat2KHR -> (Ptr SurfaceFormat2KHR -> IO b) -> IO b Source # pokeCStruct :: Ptr SurfaceFormat2KHR -> SurfaceFormat2KHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr SurfaceFormat2KHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr SurfaceFormat2KHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
Zero SurfaceFormat2KHR Source # | |
pattern KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION :: forall a. Integral a => a Source #
type KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME = "VK_KHR_get_surface_capabilities2" Source #
pattern KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #
newtype SurfaceKHR Source #
VkSurfaceKHR - Opaque handle to a surface object
Description
The VK_KHR_surface
extension declares the SurfaceKHR
object, and
provides a function for destroying SurfaceKHR
objects. Separate
platform-specific extensions each provide a function for creating a
SurfaceKHR
object for the respective platform. From the application’s
perspective this is an opaque handle, just like the handles of other
Vulkan objects.
See Also
PhysicalDeviceSurfaceInfo2KHR
,
SwapchainCreateInfoKHR
,
createAndroidSurfaceKHR
,
createDirectFBSurfaceEXT
,
createDisplayPlaneSurfaceKHR
,
createHeadlessSurfaceEXT
,
createIOSSurfaceMVK
,
createImagePipeSurfaceFUCHSIA
,
createMacOSSurfaceMVK
,
createMetalSurfaceEXT
,
createStreamDescriptorSurfaceGGP
,
createViSurfaceNN
,
createWaylandSurfaceKHR
,
createWin32SurfaceKHR
,
createXcbSurfaceKHR
,
createXlibSurfaceKHR
,
destroySurfaceKHR
,
getDeviceGroupSurfacePresentModesKHR
,
getPhysicalDevicePresentRectanglesKHR
,
getPhysicalDeviceSurfaceCapabilities2EXT
,
getPhysicalDeviceSurfaceCapabilitiesKHR
,
getPhysicalDeviceSurfaceFormatsKHR
,
getPhysicalDeviceSurfacePresentModesKHR
,
getPhysicalDeviceSurfaceSupportKHR
Instances
data SurfaceCapabilitiesKHR Source #
VkSurfaceCapabilitiesKHR - Structure describing capabilities of a surface
Description
Note
Supported usage flags of a presentable image when using
PRESENT_MODE_SHARED_DEMAND_REFRESH_KHR
or
PRESENT_MODE_SHARED_CONTINUOUS_REFRESH_KHR
presentation mode are
provided by
SharedPresentSurfaceCapabilitiesKHR
::sharedPresentSupportedUsageFlags
.
Note
Formulas such as min(N, maxImageCount
) are not correct, since
maxImageCount
may be zero.
See Also
CompositeAlphaFlagsKHR
, Extent2D
,
ImageUsageFlags
,
SurfaceCapabilities2KHR
,
SurfaceTransformFlagBitsKHR
, SurfaceTransformFlagsKHR
,
getPhysicalDeviceSurfaceCapabilitiesKHR
SurfaceCapabilitiesKHR | |
|
Instances
Show SurfaceCapabilitiesKHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_surface showsPrec :: Int -> SurfaceCapabilitiesKHR -> ShowS # show :: SurfaceCapabilitiesKHR -> String # showList :: [SurfaceCapabilitiesKHR] -> ShowS # | |
FromCStruct SurfaceCapabilitiesKHR Source # | |
ToCStruct SurfaceCapabilitiesKHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_surface withCStruct :: SurfaceCapabilitiesKHR -> (Ptr SurfaceCapabilitiesKHR -> IO b) -> IO b Source # pokeCStruct :: Ptr SurfaceCapabilitiesKHR -> SurfaceCapabilitiesKHR -> IO b -> IO b Source # withZeroCStruct :: (Ptr SurfaceCapabilitiesKHR -> IO b) -> IO b Source # pokeZeroCStruct :: Ptr SurfaceCapabilitiesKHR -> IO b -> IO b Source # cStructSize :: Int Source # | |
Zero SurfaceCapabilitiesKHR Source # | |
Defined in Vulkan.Extensions.VK_KHR_surface |
data SurfaceFormatKHR Source #
VkSurfaceFormatKHR - Structure describing a supported swapchain format-color space pair
See Also
ColorSpaceKHR
, Format
,
SurfaceFormat2KHR
,
getPhysicalDeviceSurfaceFormatsKHR
SurfaceFormatKHR | |
|
Instances
newtype ColorSpaceKHR Source #
VkColorSpaceKHR - supported color space of the presentation engine
Description
Note
In the initial release of the VK_KHR_surface
and VK_KHR_swapchain
extensions, the token VK_COLORSPACE_SRGB_NONLINEAR_KHR
was used.
Starting in the 2016-05-13 updates to the extension branches, matching
release 1.0.13 of the core API specification,
COLOR_SPACE_SRGB_NONLINEAR_KHR
is used instead for consistency with
Vulkan naming rules. The older enum is still available for backwards
compatibility.
Note
In older versions of this extension COLOR_SPACE_DISPLAY_P3_LINEAR_EXT
was misnamed
COLOR_SPACE_DCI_P3_LINEAR_EXT
.
This has been updated to indicate that it uses RGB color encoding, not
XYZ. The old name is deprecated but is maintained for backwards
compatibility.
The color components of non-linear color space swap chain images must
have had the appropriate transfer function applied. The color space
selected for the swap chain image will not affect the processing of data
written into the image by the implementation. Vulkan requires that all
implementations support the sRGB transfer function by use of an SRGB
pixel format. Other transfer functions, such as SMPTE 170M or SMPTE2084,
can be performed by the application shader. This extension defines
enums for ColorSpaceKHR
that correspond to the following color spaces:
Name | Red Primary | Green Primary | Blue Primary | White-point | Transfer function |
---|---|---|---|---|---|
DCI-P3 | 1.000, 0.000 | 0.000, 1.000 | 0.000, 0.000 | 0.3333, 0.3333 | DCI P3 |
Display-P3 | 0.680, 0.320 | 0.265, 0.690 | 0.150, 0.060 | 0.3127, 0.3290 (D65) | Display-P3 |
BT709 | 0.640, 0.330 | 0.300, 0.600 | 0.150, 0.060 | 0.3127, 0.3290 (D65) | ITU (SMPTE 170M) |
sRGB | 0.640, 0.330 | 0.300, 0.600 | 0.150, 0.060 | 0.3127, 0.3290 (D65) | sRGB |
extended sRGB | 0.640, 0.330 | 0.300, 0.600 | 0.150, 0.060 | 0.3127, 0.3290 (D65) | extended sRGB |
HDR10_ST2084 | 0.708, 0.292 | 0.170, 0.797 | 0.131, 0.046 | 0.3127, 0.3290 (D65) | ST2084 PQ |
DOLBYVISION | 0.708, 0.292 | 0.170, 0.797 | 0.131, 0.046 | 0.3127, 0.3290 (D65) | ST2084 PQ |
HDR10_HLG | 0.708, 0.292 | 0.170, 0.797 | 0.131, 0.046 | 0.3127, 0.3290 (D65) | HLG |
AdobeRGB | 0.640, 0.330 | 0.210, 0.710 | 0.150, 0.060 | 0.3127, 0.3290 (D65) | AdobeRGB |
Color Spaces and Attributes
The transfer functions are described in the “Transfer Functions” chapter of the Khronos Data Format Specification.
Except Display-P3 OETF, which is:
[begin{aligned} E & = begin{cases} 1.055 times L^{1 over 2.4} - 0.055 & text{for} 0.0030186 leq L leq 1 -- 12.92 times L & text{for} 0 leq L < 0.0030186
pattern COLOR_SPACE_DISPLAY_P3_LINEAR_EXT :: ColorSpaceKHR |
|
pattern COLOR_SPACE_SRGB_NONLINEAR_KHR :: ColorSpaceKHR |
|
pattern COLOR_SPACE_DISPLAY_NATIVE_AMD :: ColorSpaceKHR |
|
pattern COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT :: ColorSpaceKHR |
|
pattern COLOR_SPACE_PASS_THROUGH_EXT :: ColorSpaceKHR |
|
pattern COLOR_SPACE_ADOBERGB_NONLINEAR_EXT :: ColorSpaceKHR |
|
pattern COLOR_SPACE_ADOBERGB_LINEAR_EXT :: ColorSpaceKHR |
|
pattern COLOR_SPACE_HDR10_HLG_EXT :: ColorSpaceKHR |
|
pattern COLOR_SPACE_DOLBYVISION_EXT :: ColorSpaceKHR |
|
pattern COLOR_SPACE_HDR10_ST2084_EXT :: ColorSpaceKHR |
|
pattern COLOR_SPACE_BT2020_LINEAR_EXT :: ColorSpaceKHR |
|
pattern COLOR_SPACE_BT709_NONLINEAR_EXT :: ColorSpaceKHR |
|
pattern COLOR_SPACE_BT709_LINEAR_EXT :: ColorSpaceKHR |
|
pattern COLOR_SPACE_DCI_P3_NONLINEAR_EXT :: ColorSpaceKHR |
|
pattern COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT :: ColorSpaceKHR |
|
pattern COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT :: ColorSpaceKHR |
|
Instances
newtype CompositeAlphaFlagBitsKHR Source #
VkCompositeAlphaFlagBitsKHR - alpha compositing modes supported on a device
Description
These values are described as follows:
See Also
pattern COMPOSITE_ALPHA_OPAQUE_BIT_KHR :: CompositeAlphaFlagBitsKHR |
|
pattern COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR |
|
pattern COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR :: CompositeAlphaFlagBitsKHR |
|
pattern COMPOSITE_ALPHA_INHERIT_BIT_KHR :: CompositeAlphaFlagBitsKHR |
|
Instances
newtype SurfaceTransformFlagBitsKHR Source #
VkSurfaceTransformFlagBitsKHR - presentation transforms supported on a device
See Also
CommandBufferInheritanceRenderPassTransformInfoQCOM
,
DisplaySurfaceCreateInfoKHR
,
RenderPassTransformBeginInfoQCOM
,
SurfaceCapabilities2EXT
,
SurfaceCapabilitiesKHR
, SurfaceTransformFlagsKHR
,
SwapchainCreateInfoKHR