@@ -274,24 +274,22 @@ void ReleaseCommand::printDot(std::ostream &Stream) const {
274
274
}
275
275
}
276
276
277
- MapMemObject::MapMemObject (Requirement SrcReq, AllocaCommandBase *SrcAlloca ,
278
- Requirement *DstAcc , QueueImplPtr Queue)
277
+ MapMemObject::MapMemObject (AllocaCommandBase *SrcAlloca, Requirement *Req ,
278
+ void **DstPtr , QueueImplPtr Queue)
279
279
: Command(CommandType::MAP_MEM_OBJ, std::move(Queue)),
280
- MSrcReq(std::move(SrcReq)), MSrcAlloca(SrcAlloca), MDstAcc(DstAcc),
281
- MDstReq(*DstAcc) {}
280
+ MSrcAlloca(SrcAlloca), MDstPtr(DstPtr), MReq(*Req) {}
282
281
283
282
cl_int MapMemObject::enqueueImp () {
284
283
std::vector<RT::PiEvent> RawEvents =
285
284
Command::prepareEvents (detail::getSyclObjImpl (MQueue->get_context ()));
286
- assert (MDstReq .MDims == 1 );
285
+ assert (MReq .MDims == 1 );
287
286
288
287
RT::PiEvent &Event = MEvent->getHandleRef ();
289
288
void *MappedPtr = MemoryManager::map (
290
289
MSrcAlloca->getSYCLMemObj (), MSrcAlloca->getMemAllocation (), MQueue,
291
- MDstReq.MAccessMode , MDstReq.MDims , MDstReq.MMemoryRange ,
292
- MDstReq.MAccessRange , MDstReq.MOffset , MDstReq.MElemSize ,
293
- std::move (RawEvents), Event);
294
- MDstAcc->MData = MappedPtr;
290
+ MReq.MAccessMode , MReq.MDims , MReq.MMemoryRange , MReq.MAccessRange ,
291
+ MReq.MOffset , MReq.MElemSize , std::move (RawEvents), Event);
292
+ *MDstPtr = MappedPtr;
295
293
return CL_SUCCESS;
296
294
}
297
295
@@ -311,19 +309,19 @@ void MapMemObject::printDot(std::ostream &Stream) const {
311
309
}
312
310
}
313
311
314
- UnMapMemObject::UnMapMemObject (Requirement SrcReq, AllocaCommandBase *SrcAlloca ,
315
- Requirement *DstAcc , QueueImplPtr Queue,
312
+ UnMapMemObject::UnMapMemObject (AllocaCommandBase *DstAlloca, Requirement *Req ,
313
+ void **SrcPtr , QueueImplPtr Queue,
316
314
bool UseExclusiveQueue)
317
315
: Command(CommandType::UNMAP_MEM_OBJ, std::move(Queue), UseExclusiveQueue),
318
- MSrcReq(std::move(SrcReq)), MSrcAlloca(SrcAlloca ), MDstAcc(DstAcc ) {}
316
+ MDstAlloca(DstAlloca), MReq(*Req ), MSrcPtr(SrcPtr ) {}
319
317
320
318
cl_int UnMapMemObject::enqueueImp () {
321
319
std::vector<RT::PiEvent> RawEvents =
322
320
Command::prepareEvents (detail::getSyclObjImpl (MQueue->get_context ()));
323
321
324
322
RT::PiEvent &Event = MEvent->getHandleRef ();
325
- MemoryManager::unmap (MSrcAlloca ->getSYCLMemObj (),
326
- MSrcAlloca ->getMemAllocation (), MQueue, MDstAcc-> MData ,
323
+ MemoryManager::unmap (MDstAlloca ->getSYCLMemObj (),
324
+ MDstAlloca ->getMemAllocation (), MQueue, *MSrcPtr ,
327
325
std::move (RawEvents), MUseExclusiveQueue, Event);
328
326
return CL_SUCCESS;
329
327
}
@@ -427,9 +425,10 @@ cl_int UpdateHostRequirementCommand::enqueueImp() {
427
425
RT::PiEvent &Event = MEvent->getHandleRef ();
428
426
Command::waitForEvents (MQueue, RawEvents, Event);
429
427
430
- assert (MAllocaForReq && " Expected valid alloca command" );
431
- assert (MReqToUpdate && " Expected valid requirement" );
432
- MReqToUpdate->MData = MAllocaForReq->getMemAllocation ();
428
+ assert (MAllocaCmd && " Expected valid alloca command" );
429
+ assert (MAllocaCmd->getMemAllocation () && " Expected valid source pointer" );
430
+ assert (MDstPtr && " Expected valid target pointer" );
431
+ *MDstPtr = MAllocaCmd->getMemAllocation ();
433
432
return CL_SUCCESS;
434
433
}
435
434
@@ -438,12 +437,11 @@ void UpdateHostRequirementCommand::printDot(std::ostream &Stream) const {
438
437
439
438
Stream << " ID = " << this << " \n " ;
440
439
Stream << " UPDATE REQ ON " << deviceToString (MQueue->get_device ()) << " \\ n" ;
441
- bool IsReqOnBuffer = MStoredRequirement. MSYCLMemObj -> getType () ==
442
- SYCLMemObjI::MemObjType::BUFFER;
440
+ bool IsReqOnBuffer =
441
+ MReq. MSYCLMemObj -> getType () == SYCLMemObjI::MemObjType::BUFFER;
443
442
Stream << " TYPE: " << (IsReqOnBuffer ? " Buffer" : " Image" ) << " \\ n" ;
444
443
if (IsReqOnBuffer)
445
- Stream << " Is sub buffer: " << std::boolalpha
446
- << MStoredRequirement.MIsSubBuffer << " \\ n" ;
444
+ Stream << " Is sub buffer: " << std::boolalpha << MReq.MIsSubBuffer << " \\ n" ;
447
445
448
446
Stream << " \" ];" << std::endl;
449
447
@@ -458,11 +456,12 @@ void UpdateHostRequirementCommand::printDot(std::ostream &Stream) const {
458
456
459
457
MemCpyCommandHost::MemCpyCommandHost (Requirement SrcReq,
460
458
AllocaCommandBase *SrcAlloca,
461
- Requirement *DstAcc, QueueImplPtr SrcQueue,
459
+ Requirement DstReq, void **DstPtr,
460
+ QueueImplPtr SrcQueue,
462
461
QueueImplPtr DstQueue)
463
462
: Command(CommandType::COPY_MEMORY, std::move(DstQueue)),
464
463
MSrcQueue(SrcQueue), MSrcReq(std::move(SrcReq)), MSrcAlloca(SrcAlloca),
465
- MDstReq(*DstAcc), MDstAcc(DstAcc ) {
464
+ MDstReq(std::move(DstReq)), MDstPtr(DstPtr ) {
466
465
if (!MSrcQueue->is_host ())
467
466
MEvent->setContextImpl (detail::getSyclObjImpl (MSrcQueue->get_context ()));
468
467
}
@@ -485,7 +484,7 @@ cl_int MemCpyCommandHost::enqueueImp() {
485
484
MemoryManager::copy (
486
485
MSrcAlloca->getSYCLMemObj (), MSrcAlloca->getMemAllocation (), MSrcQueue,
487
486
MSrcReq.MDims , MSrcReq.MMemoryRange , MSrcReq.MAccessRange ,
488
- MSrcReq.MOffset , MSrcReq.MElemSize , MDstAcc-> MData , MQueue, MDstReq.MDims ,
487
+ MSrcReq.MOffset , MSrcReq.MElemSize , *MDstPtr , MQueue, MDstReq.MDims ,
489
488
MDstReq.MMemoryRange , MDstReq.MAccessRange , MDstReq.MOffset ,
490
489
MDstReq.MElemSize , std::move (RawEvents), MUseExclusiveQueue, Event);
491
490
return CL_SUCCESS;
0 commit comments