internal unsafe void MarshalTo(Interop.PipelineLayoutCreateInfo *pointer) { pointer->SType = StructureType.PipelineLayoutCreateInfo; pointer->Next = null; //SetLayouts if (this.SetLayouts != null) { var fieldPointer = (Interop.DescriptorSetLayout *)Interop.HeapUtil.AllocateAndClear <Interop.DescriptorSetLayout>(this.SetLayouts.Length); for (int index = 0; index < this.SetLayouts.Length; index++) { this.SetLayouts[index].MarshalTo(&fieldPointer[index]); } pointer->SetLayouts = fieldPointer; } else { pointer->SetLayouts = null; } //PushConstantRanges if (this.PushConstantRanges != null) { pointer->PushConstantRanges = (PushConstantRange *)Interop.HeapUtil.Allocate <PushConstantRange>(this.PushConstantRanges.Length).ToPointer(); for (int index = 0; index < this.PushConstantRanges.Length; index++) { pointer->PushConstantRanges[index] = this.PushConstantRanges[index]; } } else { pointer->PushConstantRanges = null; } pointer->SetLayoutCount = (uint)(this.SetLayouts?.Length ?? 0); pointer->PushConstantRangeCount = (uint)(this.PushConstantRanges?.Length ?? 0); pointer->Flags = this.Flags; }
internal PipelineLayoutCreateInfo(Interop.PipelineLayoutCreateInfo* ptr) { m = ptr; Initialize (); }
public PipelineLayoutCreateInfo() { m = (Interop.PipelineLayoutCreateInfo*) Interop.Structure.Allocate (typeof (Interop.PipelineLayoutCreateInfo)); Initialize (); }