/// <summary> /// /// </summary> /// <param name="pointer"> /// </param> internal unsafe void MarshalTo(SharpVk.Interop.DescriptorSetLayoutCreateInfo *pointer) { pointer->SType = StructureType.DescriptorSetLayoutCreateInfo; pointer->Next = null; if (this.Flags != null) { pointer->Flags = this.Flags.Value; } else { pointer->Flags = default(SharpVk.DescriptorSetLayoutCreateFlags); } pointer->BindingCount = (uint)(Interop.HeapUtil.GetLength(this.Bindings)); if (this.Bindings != null) { var fieldPointer = (SharpVk.Interop.DescriptorSetLayoutBinding *)(Interop.HeapUtil.AllocateAndClear <SharpVk.Interop.DescriptorSetLayoutBinding>(this.Bindings.Length).ToPointer()); for (int index = 0; index < (uint)(this.Bindings.Length); index++) { this.Bindings[index].MarshalTo(&fieldPointer[index]); } pointer->Bindings = fieldPointer; } else { pointer->Bindings = null; } }
public static extern SharpVk.Result vkCreateDescriptorSetLayout(SharpVk.Interop.Device device, SharpVk.Interop.DescriptorSetLayoutCreateInfo *createInfo, SharpVk.Interop.AllocationCallbacks *allocator, SharpVk.Interop.DescriptorSetLayout *setLayout);