예제 #1
0
 /// <summary>
 ///
 /// </summary>
 internal unsafe void MarshalTo(SharpVk.Interop.Multivendor.DebugMarkerMarkerInfo *pointer)
 {
     pointer->SType      = StructureType.DebugMarkerMarkerInfoExt;
     pointer->Next       = null;
     pointer->MarkerName = Interop.HeapUtil.MarshalTo(this.MarkerName);
     Interop.HeapUtil.MarshalTo(this.Color, 4, pointer->Color);
 }
 /// <summary>
 ///
 /// </summary>
 public static unsafe void DebugMarkerInsert(this SharpVk.CommandBuffer extendedHandle, SharpVk.Multivendor.DebugMarkerMarkerInfo markerInfo)
 {
     try
     {
         CommandCache commandCache = default(CommandCache);
         SharpVk.Interop.Multivendor.DebugMarkerMarkerInfo *marshalledMarkerInfo = default(SharpVk.Interop.Multivendor.DebugMarkerMarkerInfo *);
         commandCache         = extendedHandle.commandCache;
         marshalledMarkerInfo = (SharpVk.Interop.Multivendor.DebugMarkerMarkerInfo *)(Interop.HeapUtil.Allocate <SharpVk.Interop.Multivendor.DebugMarkerMarkerInfo>());
         markerInfo.MarshalTo(marshalledMarkerInfo);
         SharpVk.Interop.Multivendor.VkCommandBufferDebugMarkerInsertDelegate commandDelegate = commandCache.GetCommandDelegate <SharpVk.Interop.Multivendor.VkCommandBufferDebugMarkerInsertDelegate>("vkCmdDebugMarkerInsertEXT", "instance");
         commandDelegate(extendedHandle.handle, marshalledMarkerInfo);
     }
     finally
     {
         Interop.HeapUtil.FreeAll();
     }
 }