Exemplo n.º 1
0
 /// <summary>
 /// Query surface capabilities.
 /// </summary>
 public SurfaceCapabilities2 GetSurfaceCapabilities2(Surface surface)
 {
     unsafe
     {
         try
         {
             var commandDelegate         = this.commandCache.GetCommandDelegate <Interop.vkGetPhysicalDeviceSurfaceCapabilities2EXT>("vkGetPhysicalDeviceSurfaceCapabilities2EXT", "instance");
             SurfaceCapabilities2 result = default(SurfaceCapabilities2);
             Result          commandResult;
             Interop.Surface marshalledSurface = default(Interop.Surface);
             surface?.MarshalTo(&marshalledSurface);
             Interop.SurfaceCapabilities2 marshalledSurfaceCapabilities;
             commandResult = commandDelegate(this.handle, marshalledSurface, &marshalledSurfaceCapabilities);
             if (SharpVkException.IsError(commandResult))
             {
                 throw SharpVkException.Create(commandResult);
             }
             result = SurfaceCapabilities2.MarshalFrom(&marshalledSurfaceCapabilities);
             return(result);
         }
         finally
         {
             Interop.HeapUtil.FreeLog();
         }
     }
 }
Exemplo n.º 2
0
        internal static unsafe SurfaceCapabilities2 MarshalFrom(Interop.SurfaceCapabilities2 *value)
        {
            SurfaceCapabilities2 result = new SurfaceCapabilities2();

            result.MinImageCount            = value->MinImageCount;
            result.MaxImageCount            = value->MaxImageCount;
            result.CurrentExtent            = value->CurrentExtent;
            result.MinImageExtent           = value->MinImageExtent;
            result.MaxImageExtent           = value->MaxImageExtent;
            result.MaxImageArrayLayers      = value->MaxImageArrayLayers;
            result.SupportedTransforms      = value->SupportedTransforms;
            result.CurrentTransform         = value->CurrentTransform;
            result.SupportedCompositeAlpha  = value->SupportedCompositeAlpha;
            result.SupportedUsageFlags      = value->SupportedUsageFlags;
            result.SupportedSurfaceCounters = value->SupportedSurfaceCounters;
            return(result);
        }