/// <summary> /// /// </summary> public static unsafe SharpVk.Khronos.ExternalFenceProperties GetExternalFenceProperties(this SharpVk.PhysicalDevice extendedHandle, SharpVk.Khronos.PhysicalDeviceExternalFenceInfo externalFenceInfo) { try { SharpVk.Khronos.ExternalFenceProperties result = default(SharpVk.Khronos.ExternalFenceProperties); CommandCache commandCache = default(CommandCache); SharpVk.Interop.Khronos.PhysicalDeviceExternalFenceInfo *marshalledExternalFenceInfo = default(SharpVk.Interop.Khronos.PhysicalDeviceExternalFenceInfo *); SharpVk.Interop.Khronos.ExternalFenceProperties marshalledExternalFenceProperties = default(SharpVk.Interop.Khronos.ExternalFenceProperties); commandCache = extendedHandle.commandCache; marshalledExternalFenceInfo = (SharpVk.Interop.Khronos.PhysicalDeviceExternalFenceInfo *)(Interop.HeapUtil.Allocate <SharpVk.Interop.Khronos.PhysicalDeviceExternalFenceInfo>()); externalFenceInfo.MarshalTo(marshalledExternalFenceInfo); SharpVk.Interop.Khronos.VkPhysicalDeviceGetExternalFencePropertiesDelegate commandDelegate = commandCache.GetCommandDelegate <SharpVk.Interop.Khronos.VkPhysicalDeviceGetExternalFencePropertiesDelegate>("vkGetPhysicalDeviceExternalFencePropertiesKHR", "instance"); commandDelegate(extendedHandle.handle, marshalledExternalFenceInfo, &marshalledExternalFenceProperties); result = SharpVk.Khronos.ExternalFenceProperties.MarshalFrom(&marshalledExternalFenceProperties); return(result); } finally { Interop.HeapUtil.FreeAll(); } }
/// <summary> /// /// </summary> internal unsafe void MarshalTo(SharpVk.Interop.Khronos.PhysicalDeviceExternalFenceInfo *pointer) { pointer->SType = StructureType.PhysicalDeviceExternalFenceInfo; pointer->Next = null; pointer->HandleType = this.HandleType; }