public static VkDescriptorSetLayoutBinding.Raw *MarshalIndirect(this VkDescriptorSetLayoutBinding s, ref byte *unmanaged)
        {
            var result = (VkDescriptorSetLayoutBinding.Raw *)unmanaged;

            unmanaged += VkDescriptorSetLayoutBinding.Raw.SizeInBytes;
            *result = s.MarshalDirect(ref unmanaged);
            return(result);
        }
        public static VkDescriptorSetLayoutBinding.Raw MarshalDirect(this VkDescriptorSetLayoutBinding s, ref byte *unmanaged)
        {
            var pImmutableSamplers = s.ImmutableSamplers.MarshalDirect(ref unmanaged);

            VkDescriptorSetLayoutBinding.Raw result;
            result.binding            = s.Binding;
            result.descriptorType     = s.DescriptorType;
            result.descriptorCount    = s.DescriptorCount;
            result.stageFlags         = s.StageFlags;
            result.pImmutableSamplers = pImmutableSamplers;
            return(result);
        }
 public static int SizeOfMarshalIndirect(this VkDescriptorSetLayoutBinding s) =>
 s.SizeOfMarshalDirect() + VkDescriptorSetLayoutBinding.Raw.SizeInBytes;
 public static int SizeOfMarshalDirect(this VkDescriptorSetLayoutBinding s)
 {
     return
         (s.ImmutableSamplers.SizeOfMarshalDirect());
 }