Ejemplo n.º 1
0
 /// <summary>
 /// Trim a command pool.
 /// </summary>
 /// <param name="extendedHandle">
 /// The CommandPool handle to extend.
 /// </param>
 public static unsafe void Trim(this SharpVk.CommandPool extendedHandle, SharpVk.Khronos.CommandPoolTrimFlags?flags = default(SharpVk.Khronos.CommandPoolTrimFlags?))
 {
     try
     {
         CommandCache commandCache = default(CommandCache);
         SharpVk.Khronos.CommandPoolTrimFlags marshalledFlags = default(SharpVk.Khronos.CommandPoolTrimFlags);
         commandCache = extendedHandle.commandCache;
         if (flags != null)
         {
             marshalledFlags = flags.Value;
         }
         else
         {
             marshalledFlags = default(SharpVk.Khronos.CommandPoolTrimFlags);
         }
         SharpVk.Interop.Khronos.VkCommandPoolTrimDelegate commandDelegate = commandCache.GetCommandDelegate <SharpVk.Interop.Khronos.VkCommandPoolTrimDelegate>("vkTrimCommandPoolKHR", "device");
         commandDelegate(extendedHandle.parent.handle, extendedHandle.handle, marshalledFlags);
     }
     finally
     {
         Interop.HeapUtil.FreeAll();
     }
 }
Ejemplo n.º 2
0
 internal CommandBuffer(SharpVk.CommandPool parent, SharpVk.Interop.CommandBuffer handle)
 {
     this.handle       = handle;
     this.parent       = parent;
     this.commandCache = parent.commandCache;
 }