@@ -811,6 +811,7 @@ void BP5Serializer::Marshal(void *Variable, const char *Name, const DataType Typ
811811 else
812812 {
813813 MemorySpace MemSpace = VB->GetMemorySpace (Data);
814+ MemorySpace spanMemSpace = MemSpace;
814815 MetaArrayRec *MetaEntry = (MetaArrayRec *)((char *)(MetadataBuf) + Rec->MetaOffset );
815816 size_t ElemCount = CalcSize (DimCount, Count);
816817 size_t DataOffset = 0 ;
@@ -880,6 +881,7 @@ void BP5Serializer::Marshal(void *Variable, const char *Name, const DataType Typ
880881 {
881882 *Span = CurDataBuffer->Allocate (ElemCount * ElemSize, ElemSize);
882883 DataOffset = m_PriorDataBufferSizeTotal + Span->globalPos ;
884+ spanMemSpace = MemorySpace::Host;
883885 }
884886
885887 if (!AlreadyWritten)
@@ -915,7 +917,7 @@ void BP5Serializer::Marshal(void *Variable, const char *Name, const DataType Typ
915917 }
916918 else
917919 {
918- lf_QueueSpanMinMax (*Span, ElemCount, (DataType)Rec->Type , MemSpace ,
920+ lf_QueueSpanMinMax (*Span, ElemCount, (DataType)Rec->Type , spanMemSpace ,
919921 Rec->MetaOffset , Rec->MinMaxOffset , 0 /* BlockNum*/ );
920922 }
921923 }
@@ -959,7 +961,7 @@ void BP5Serializer::Marshal(void *Variable, const char *Name, const DataType Typ
959961 }
960962 else
961963 {
962- lf_QueueSpanMinMax (*Span, ElemCount, (DataType)Rec->Type , MemSpace ,
964+ lf_QueueSpanMinMax (*Span, ElemCount, (DataType)Rec->Type , spanMemSpace ,
963965 Rec->MetaOffset , Rec->MinMaxOffset ,
964966 MetaEntry->BlockCount - 1 /* BlockNum*/ );
965967 }
0 commit comments