/// <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(); } }