public static int SizeOfMarshalDirect(this VkDebugMarkerObjectTagInfoEXT s)
        {
            if (s == null)
            {
                throw new InvalidOperationException("Trying to directly marshal a null.");
            }

            return
                (s.Next.SizeOfMarshalIndirect());
        }
        public static VkDebugMarkerObjectTagInfoEXT.Raw *MarshalIndirect(this VkDebugMarkerObjectTagInfoEXT s, ref byte *unmanaged)
        {
            if (s == null)
            {
                return((VkDebugMarkerObjectTagInfoEXT.Raw *) 0);
            }
            var result = (VkDebugMarkerObjectTagInfoEXT.Raw *)unmanaged;

            unmanaged += VkDebugMarkerObjectTagInfoEXT.Raw.SizeInBytes;
            *result = s.MarshalDirect(ref unmanaged);
            return(result);
        }
        public static VkDebugMarkerObjectTagInfoEXT.Raw MarshalDirect(this VkDebugMarkerObjectTagInfoEXT s, ref byte *unmanaged)
        {
            if (s == null)
            {
                throw new InvalidOperationException("Trying to directly marshal a null.");
            }

            var pNext = s.Next.MarshalIndirect(ref unmanaged);

            VkDebugMarkerObjectTagInfoEXT.Raw result;
            result.sType      = VkStructureType.DebugMarkerObjectTagInfoEXT;
            result.pNext      = pNext;
            result.objectType = s.ObjectType;
            result.vkObject   = s.VkObject;
            result.tagName    = s.TagName;
            result.tagSize    = s.TagSize;
            result.pTag       = s.Tag;
            return(result);
        }
 public static int SizeOfMarshalIndirect(this VkDebugMarkerObjectTagInfoEXT s) =>
 s == null ? 0 : s.SizeOfMarshalDirect() + VkDebugMarkerObjectTagInfoEXT.Raw.SizeInBytes;