/// <summary>
 ///
 /// </summary>
 public static unsafe void DisplayPowerControl(this SharpVk.Device extendedHandle, SharpVk.Khronos.Display display, SharpVk.Multivendor.DisplayPowerInfo displayPowerInfo)
 {
     try
     {
         CommandCache commandCache = default(CommandCache);
         SharpVk.Interop.Multivendor.DisplayPowerInfo *marshalledDisplayPowerInfo = default(SharpVk.Interop.Multivendor.DisplayPowerInfo *);
         commandCache = extendedHandle.commandCache;
         marshalledDisplayPowerInfo = (SharpVk.Interop.Multivendor.DisplayPowerInfo *)(Interop.HeapUtil.Allocate <SharpVk.Interop.Multivendor.DisplayPowerInfo>());
         displayPowerInfo.MarshalTo(marshalledDisplayPowerInfo);
         SharpVk.Interop.Multivendor.VkDeviceDisplayPowerControlDelegate commandDelegate = commandCache.GetCommandDelegate <SharpVk.Interop.Multivendor.VkDeviceDisplayPowerControlDelegate>("vkDisplayPowerControlEXT", "instance");
         Result methodResult = commandDelegate(extendedHandle.handle, display?.handle ?? default(SharpVk.Interop.Khronos.Display), marshalledDisplayPowerInfo);
         if (SharpVkException.IsError(methodResult))
         {
             throw SharpVkException.Create(methodResult);
         }
     }
     finally
     {
         Interop.HeapUtil.FreeAll();
     }
 }
 /// <summary>
 ///
 /// </summary>
 internal unsafe void MarshalTo(SharpVk.Interop.Multivendor.DisplayPowerInfo *pointer)
 {
     pointer->SType      = StructureType.DisplayPowerInfo;
     pointer->Next       = null;
     pointer->PowerState = this.PowerState;
 }