/// <summary> /// /// </summary> internal unsafe void MarshalTo(SharpVk.Interop.DescriptorPoolCreateInfo *pointer) { pointer->SType = StructureType.DescriptorPoolCreateInfo; pointer->Next = null; if (this.Flags != null) { pointer->Flags = this.Flags.Value; } else { pointer->Flags = default(SharpVk.DescriptorPoolCreateFlags); } pointer->MaxSets = this.MaxSets; pointer->PoolSizeCount = (uint)(Interop.HeapUtil.GetLength(this.PoolSizes)); if (this.PoolSizes != null) { var fieldPointer = (SharpVk.DescriptorPoolSize *)(Interop.HeapUtil.AllocateAndClear <SharpVk.DescriptorPoolSize>(this.PoolSizes.Length).ToPointer()); for (int index = 0; index < (uint)(this.PoolSizes.Length); index++) { fieldPointer[index] = this.PoolSizes[index]; } pointer->PoolSizes = fieldPointer; } else { pointer->PoolSizes = null; } }
public static extern SharpVk.Result vkCreateDescriptorPool(SharpVk.Interop.Device device, SharpVk.Interop.DescriptorPoolCreateInfo *createInfo, SharpVk.Interop.AllocationCallbacks *allocator, SharpVk.Interop.DescriptorPool *descriptorPool);