/// <summary>
        ///
        /// </summary>
        internal static unsafe SparseMemoryBind MarshalFrom(SharpVk.Interop.SparseMemoryBind *pointer)
        {
            SparseMemoryBind result = default(SparseMemoryBind);

            result.ResourceOffset = pointer->ResourceOffset;
            result.Size           = pointer->Size;
            result.Memory         = new SharpVk.DeviceMemory(default(SharpVk.Device), pointer->Memory);
            result.MemoryOffset   = pointer->MemoryOffset;
            result.Flags          = pointer->Flags;
            return(result);
        }
 /// <summary>
 ///
 /// </summary>
 internal unsafe void MarshalTo(SharpVk.Interop.SparseMemoryBind *pointer)
 {
     pointer->ResourceOffset = this.ResourceOffset;
     pointer->Size           = this.Size;
     pointer->Memory         = this.Memory?.handle ?? default(SharpVk.Interop.DeviceMemory);
     pointer->MemoryOffset   = this.MemoryOffset;
     if (this.Flags != null)
     {
         pointer->Flags = this.Flags.Value;
     }
     else
     {
         pointer->Flags = default(SharpVk.SparseMemoryBindFlags);
     }
 }