diff --git a/projects/clr/rocclr/device/pal/palvirtual.cpp b/projects/clr/rocclr/device/pal/palvirtual.cpp index a9a05d0e25..234ef67882 100644 --- a/projects/clr/rocclr/device/pal/palvirtual.cpp +++ b/projects/clr/rocclr/device/pal/palvirtual.cpp @@ -2812,6 +2812,7 @@ void VirtualGPU::submitExternalSemaphoreCmd(amd::ExternalSemaphoreCmd& cmd) { if (cmd.semaphoreCmd() == amd::ExternalSemaphoreCmd::COMMAND_SIGNAL_EXTSEMAPHORE) { + flushDMA(MainEngine); queues_[MainEngine]->iQueue_->SignalQueueSemaphore(const_cast(sem), cmd.fence()); } else { diff --git a/projects/clr/rocclr/platform/command.hpp b/projects/clr/rocclr/platform/command.hpp index 6409fc08b7..b45c9067ae 100644 --- a/projects/clr/rocclr/platform/command.hpp +++ b/projects/clr/rocclr/platform/command.hpp @@ -1223,8 +1223,7 @@ class ExternalSemaphoreCmd : public Command { public: ExternalSemaphoreCmd(HostQueue& queue, const void* sem_ptr, uint64_t fence, ExternalSemaphoreCmdType cmd_type) - : Command::Command(queue, CL_COMMAND_USER, nullWaitList, cmd_type == COMMAND_SIGNAL_EXTSEMAPHORE ? 1 : 0), - sem_ptr_(sem_ptr), fence_(fence), cmd_type_(cmd_type) {} + : Command::Command(queue, CL_COMMAND_USER), sem_ptr_(sem_ptr), fence_(fence), cmd_type_(cmd_type) {} virtual void submit(device::VirtualDevice& device) { device.submitExternalSemaphoreCmd(*this);