/// <summary> /// /// </summary> internal static unsafe BufferMemoryRequirementsInfo2 MarshalFrom(SharpVk.Interop.Khronos.BufferMemoryRequirementsInfo2 *pointer) { BufferMemoryRequirementsInfo2 result = default(BufferMemoryRequirementsInfo2); result.Buffer = new SharpVk.Buffer(default(SharpVk.Device), pointer->Buffer); return(result); }
/// <summary> /// /// </summary> public static unsafe SharpVk.Khronos.MemoryRequirements2 GetBufferMemoryRequirements2(this SharpVk.Device extendedHandle, SharpVk.Khronos.BufferMemoryRequirementsInfo2 info) { try { SharpVk.Khronos.MemoryRequirements2 result = default(SharpVk.Khronos.MemoryRequirements2); CommandCache commandCache = default(CommandCache); SharpVk.Interop.Khronos.BufferMemoryRequirementsInfo2 *marshalledInfo = default(SharpVk.Interop.Khronos.BufferMemoryRequirementsInfo2 *); SharpVk.Interop.Khronos.MemoryRequirements2 marshalledMemoryRequirements = default(SharpVk.Interop.Khronos.MemoryRequirements2); commandCache = extendedHandle.commandCache; marshalledInfo = (SharpVk.Interop.Khronos.BufferMemoryRequirementsInfo2 *)(Interop.HeapUtil.Allocate <SharpVk.Interop.Khronos.BufferMemoryRequirementsInfo2>()); info.MarshalTo(marshalledInfo); SharpVk.Interop.Khronos.VkDeviceGetBufferMemoryRequirements2Delegate commandDelegate = commandCache.GetCommandDelegate <SharpVk.Interop.Khronos.VkDeviceGetBufferMemoryRequirements2Delegate>("vkGetBufferMemoryRequirements2KHR", "instance"); commandDelegate(extendedHandle.handle, marshalledInfo, &marshalledMemoryRequirements); result = SharpVk.Khronos.MemoryRequirements2.MarshalFrom(&marshalledMemoryRequirements); return(result); } finally { Interop.HeapUtil.FreeAll(); } }
/// <summary> /// /// </summary> internal unsafe void MarshalTo(SharpVk.Interop.Khronos.BufferMemoryRequirementsInfo2 *pointer) { pointer->SType = StructureType.BufferMemoryRequirementsInfo2; pointer->Next = null; pointer->Buffer = this.Buffer?.handle ?? default(SharpVk.Interop.Buffer); }