public DisplaySurfaceCreateInfoKHR
 (
     StructureType sType                 = StructureType.DisplaySurfaceCreateInfoKhr,
     void *pNext                         = default,
     uint flags                          = default,
     DisplayModeKHR displayMode          = default,
     uint planeIndex                     = default,
     uint planeStackIndex                = default,
     SurfaceTransformFlagsKHR transform  = default,
     float globalAlpha                   = default,
     DisplayPlaneAlphaFlagsKHR alphaMode = default,
     Extent2D imageExtent                = default
 )
 {
     SType           = sType;
     PNext           = pNext;
     Flags           = flags;
     DisplayMode     = displayMode;
     PlaneIndex      = planeIndex;
     PlaneStackIndex = planeStackIndex;
     Transform       = transform;
     GlobalAlpha     = globalAlpha;
     AlphaMode       = alphaMode;
     ImageExtent     = imageExtent;
 }
 public DisplayPlaneCapabilitiesKHR
 (
     DisplayPlaneAlphaFlagsKHR supportedAlpha = default,
     Offset2D minSrcPosition = default,
     Offset2D maxSrcPosition = default,
     Extent2D minSrcExtent   = default,
     Extent2D maxSrcExtent   = default,
     Offset2D minDstPosition = default,
     Offset2D maxDstPosition = default,
     Extent2D minDstExtent   = default,
     Extent2D maxDstExtent   = default
 )
 {
     SupportedAlpha = supportedAlpha;
     MinSrcPosition = minSrcPosition;
     MaxSrcPosition = maxSrcPosition;
     MinSrcExtent   = minSrcExtent;
     MaxSrcExtent   = maxSrcExtent;
     MinDstPosition = minDstPosition;
     MaxDstPosition = maxDstPosition;
     MinDstExtent   = minDstExtent;
     MaxDstExtent   = maxDstExtent;
 }
 /// <param name="DisplayMode">The mode to use when displaying this surface</param>
 /// <param name="PlaneIndex">The plane on which this surface appears. Must be between 0 and the value returned by vkGetPhysicalDeviceDisplayPlanePropertiesKHR() in pPropertyCount.</param>
 /// <param name="PlaneStackIndex">The z-order of the plane.</param>
 /// <param name="Transform">Transform to apply to the images as part of the scannout operation</param>
 /// <param name="GlobalAlpha">Global alpha value. Must be between 0 and 1, inclusive. Ignored if alphaMode is not VK_DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR</param>
 /// <param name="AlphaMode">What type of alpha blending to use. Must be a bit from vkGetDisplayPlanePropertiesKHR::supportedAlpha.</param>
 /// <param name="ImageExtent">Size of the images to use with this surface</param>
 public DisplaySurfaceCreateInfoKHR(DisplayModeKHR DisplayMode, UInt32 PlaneIndex, UInt32 PlaneStackIndex, SurfaceTransformFlagsKHR Transform, Single GlobalAlpha, DisplayPlaneAlphaFlagsKHR AlphaMode, Extent2D ImageExtent) : this()
 {
     this.DisplayMode     = DisplayMode;
     this.PlaneIndex      = PlaneIndex;
     this.PlaneStackIndex = PlaneStackIndex;
     this.Transform       = Transform;
     this.GlobalAlpha     = GlobalAlpha;
     this.AlphaMode       = AlphaMode;
     this.ImageExtent     = ImageExtent;
 }