public DescriptorSetLayout(Device device, DescriptorSetLayoutCreateInfo info) { if (device == null) { throw new ArgumentNullException(nameof(device)); } if (info == null) { throw new ArgumentNullException(nameof(info)); } Device = device; CreateDescriptorSetLayout(info); }
void CreateDescriptorSetLayout(DescriptorSetLayoutCreateInfo mInfo) { var info = new VkDescriptorSetLayoutCreateInfo(); info.sType = VkStructureType.DescriptorSetLayoutCreateInfo; var bindingsMarshalled = new MarshalledArray <VkDescriptorSetLayoutBinding>(mInfo.bindings); info.bindingCount = (uint)bindingsMarshalled.Count; info.pBindings = bindingsMarshalled.Address; using (bindingsMarshalled) { var result = Device.Commands.createDescriptorSetLayout(Device.Native, ref info, Device.Instance.AllocationCallbacks, out descriptorSetLayout); if (result != VkResult.Success) { throw new DescriptorSetLayoutException(string.Format("Error creating description set layout: {0}", result)); } } }