/// <summary> /// Reports properties of the queues of the specified physical device. /// </summary> public QueueFamilyProperties2[] GetQueueFamilyProperties2() { unsafe { try { var commandDelegate = this.commandCache.GetCommandDelegate <Interop.vkGetPhysicalDeviceQueueFamilyProperties2KHR>("vkGetPhysicalDeviceQueueFamilyProperties2KHR", "instance"); QueueFamilyProperties2[] result = default(QueueFamilyProperties2[]); uint queueFamilyPropertyCount; Interop.QueueFamilyProperties2 *marshalledQueueFamilyProperties = null; commandDelegate(this.handle, &queueFamilyPropertyCount, null); marshalledQueueFamilyProperties = (Interop.QueueFamilyProperties2 *)Interop.HeapUtil.Allocate <Interop.QueueFamilyProperties2>((uint)queueFamilyPropertyCount); commandDelegate(this.handle, &queueFamilyPropertyCount, marshalledQueueFamilyProperties); result = new QueueFamilyProperties2[(uint)queueFamilyPropertyCount]; for (int index = 0; index < (uint)queueFamilyPropertyCount; index++) { result[index] = QueueFamilyProperties2.MarshalFrom(&marshalledQueueFamilyProperties[index]); } return(result); } finally { Interop.HeapUtil.FreeLog(); } } }
/// <summary> /// /// </summary> internal static unsafe QueueFamilyProperties2 MarshalFrom(SharpVk.Interop.QueueFamilyProperties2 *pointer) { QueueFamilyProperties2 result = default(QueueFamilyProperties2); result.QueueFamilyProperties = pointer->QueueFamilyProperties; return(result); }
internal static unsafe QueueFamilyProperties2 MarshalFrom(Interop.QueueFamilyProperties2 *value) { QueueFamilyProperties2 result = new QueueFamilyProperties2(); result.QueueFamilyProperties = value->QueueFamilyProperties; return(result); }