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