/// <summary> /// /// </summary> internal unsafe void MarshalTo(SharpVk.Interop.NVidia.Experimental.CommandReserveSpaceForCommandsInfo *pointer) { pointer->SType = StructureType.CommandReserveSpaceForCommandsInfoNvx; pointer->Next = null; pointer->ObjectTable = this.ObjectTable?.handle ?? default(SharpVk.Interop.NVidia.Experimental.ObjectTable); pointer->IndirectCommandsLayout = this.IndirectCommandsLayout?.handle ?? default(SharpVk.Interop.NVidia.Experimental.IndirectCommandsLayout); pointer->MaxSequencesCount = this.MaxSequencesCount; }
/// <summary> /// /// </summary> public static unsafe void ReserveSpaceForCommands(this SharpVk.CommandBuffer extendedHandle, SharpVk.NVidia.Experimental.CommandReserveSpaceForCommandsInfo reserveSpaceInfo) { try { CommandCache commandCache = default(CommandCache); SharpVk.Interop.NVidia.Experimental.CommandReserveSpaceForCommandsInfo *marshalledReserveSpaceInfo = default(SharpVk.Interop.NVidia.Experimental.CommandReserveSpaceForCommandsInfo *); commandCache = extendedHandle.commandCache; marshalledReserveSpaceInfo = (SharpVk.Interop.NVidia.Experimental.CommandReserveSpaceForCommandsInfo *)(Interop.HeapUtil.Allocate <SharpVk.Interop.NVidia.Experimental.CommandReserveSpaceForCommandsInfo>()); reserveSpaceInfo.MarshalTo(marshalledReserveSpaceInfo); SharpVk.Interop.NVidia.Experimental.VkCommandBufferReserveSpaceForCommandsDelegate commandDelegate = commandCache.GetCommandDelegate <SharpVk.Interop.NVidia.Experimental.VkCommandBufferReserveSpaceForCommandsDelegate>("vkCmdReserveSpaceForCommandsNVX", "instance"); commandDelegate(extendedHandle.handle, marshalledReserveSpaceInfo); } finally { Interop.HeapUtil.FreeAll(); } }