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

            unmanaged += VkSpecializationInfo.Raw.SizeInBytes;
            *result = s.MarshalDirect(ref unmanaged);
            return(result);
        }
        public static VkSpecializationInfo.Raw MarshalDirect(this VkSpecializationInfo s, ref byte *unmanaged)
        {
            var pMapEntries = s.MapEntries.MarshalDirect(ref unmanaged);

            VkSpecializationInfo.Raw result;
            result.mapEntryCount = s.MapEntries?.Count ?? 0;
            result.pMapEntries   = pMapEntries;
            result.dataSize      = s.DataSize;
            result.pData         = s.Data;
            return(result);
        }
 public static int SizeOfMarshalIndirect(this VkSpecializationInfo s) =>
 s.SizeOfMarshalDirect() + VkSpecializationInfo.Raw.SizeInBytes;
 public static int SizeOfMarshalDirect(this VkSpecializationInfo s)
 {
     return
         (s.MapEntries.SizeOfMarshalDirect());
 }