/// <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;
     }
 }
示例#2
0
 public static extern SharpVk.Result vkCreateDescriptorSetLayout(SharpVk.Interop.Device device, SharpVk.Interop.DescriptorSetLayoutCreateInfo *createInfo, SharpVk.Interop.AllocationCallbacks *allocator, SharpVk.Interop.DescriptorSetLayout *setLayout);