P4 to Git Change 1306787 by skudchad@skudchad_test_win_opencl2 on 2016/08/24 17:43:49
SWDEV-94442 - [IQE] [EllesmereGL] [Win10 TH2] GPU2GPU ocltst causes hard hang intermittently - Add gpu events for marker wait in runtime ReviewBoardURL = http://ocltc.amd.com/reviews/r/11174/diff/ Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#405 edit
This commit is contained in:
@@ -2624,6 +2624,8 @@ VirtualGPU::submitSignal(amd::SignalCommand & vcmd)
|
||||
amd::ScopedLock lock(execution());
|
||||
profilingBegin(vcmd);
|
||||
gpu::Memory* gpuMemory = dev().getGpuMemory(&vcmd.memory());
|
||||
GpuEvent gpuEvent;
|
||||
eventBegin(MainEngine);
|
||||
if (vcmd.type() == CL_COMMAND_WAIT_SIGNAL_AMD) {
|
||||
uint64_t surfAddr = gpuMemory->gslResource()->getPhysicalAddress(cs());
|
||||
uint64_t markerAddr = gpuMemory->gslResource()->getMarkerAddress(cs());
|
||||
@@ -2632,14 +2634,13 @@ VirtualGPU::submitSignal(amd::SignalCommand & vcmd)
|
||||
markerOffset, false);
|
||||
}
|
||||
else if (vcmd.type() == CL_COMMAND_WRITE_SIGNAL_AMD) {
|
||||
GpuEvent gpuEvent;
|
||||
eventBegin(MainEngine);
|
||||
cs()->p2pMarkerOp(gpuMemory->gslResource(), vcmd.markerValue(), vcmd.markerOffset(), true);
|
||||
eventEnd(MainEngine, gpuEvent);
|
||||
gpuMemory->setBusy(*this, gpuEvent);
|
||||
// Update the global GPU event
|
||||
setGpuEvent(gpuEvent);
|
||||
}
|
||||
eventEnd(MainEngine, gpuEvent);
|
||||
gpuMemory->setBusy(*this, gpuEvent);
|
||||
// Update the global GPU event
|
||||
setGpuEvent(gpuEvent);
|
||||
|
||||
profilingEnd(vcmd);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user