Exemplo n.º 1
0
 internal unsafe void MarshalTo(SharpVk.Interop.RenderPassCreateInfo *pointer)
 {
     pointer->SType = StructureType.RenderPassCreateInfo;
     pointer->Next  = null;
     if (this.Flags != null)
     {
         pointer->Flags = this.Flags.Value;
     }
     else
     {
         pointer->Flags = default(SharpVk.RenderPassCreateFlags);
     }
     pointer->AttachmentCount = (uint)(this.Attachments?.Length ?? 0);
     if (this.Attachments != null)
     {
         var fieldPointer = (SharpVk.AttachmentDescription *)(Interop.HeapUtil.AllocateAndClear <SharpVk.AttachmentDescription>(this.Attachments.Length).ToPointer());
         for (int index = 0; index < (uint)(this.Attachments.Length); index++)
         {
             fieldPointer[index] = this.Attachments[index];
         }
         pointer->Attachments = fieldPointer;
     }
     else
     {
         pointer->Attachments = null;
     }
     pointer->SubpassCount = (uint)(this.Subpasses?.Length ?? 0);
     if (this.Subpasses != null)
     {
         var fieldPointer = (SharpVk.Interop.SubpassDescription *)(Interop.HeapUtil.AllocateAndClear <SharpVk.Interop.SubpassDescription>(this.Subpasses.Length).ToPointer());
         for (int index = 0; index < (uint)(this.Subpasses.Length); index++)
         {
             this.Subpasses[index].MarshalTo(&fieldPointer[index]);
         }
         pointer->Subpasses = fieldPointer;
     }
     else
     {
         pointer->Subpasses = null;
     }
     pointer->DependencyCount = (uint)(this.Dependencies?.Length ?? 0);
     if (this.Dependencies != null)
     {
         var fieldPointer = (SharpVk.SubpassDependency *)(Interop.HeapUtil.AllocateAndClear <SharpVk.SubpassDependency>(this.Dependencies.Length).ToPointer());
         for (int index = 0; index < (uint)(this.Dependencies.Length); index++)
         {
             fieldPointer[index] = this.Dependencies[index];
         }
         pointer->Dependencies = fieldPointer;
     }
     else
     {
         pointer->Dependencies = null;
     }
 }
Exemplo n.º 2
0
 public static extern SharpVk.Result vkCreateRenderPass(SharpVk.Interop.Device device, SharpVk.Interop.RenderPassCreateInfo *createInfo, SharpVk.Interop.AllocationCallbacks *allocator, SharpVk.Interop.RenderPass *renderPass);