P4 to Git Change 1482914 by wchau@wchau_OCL_boltzmann on 2017/11/15 16:12:45

SWDEV-137374 - Collecting counters from some TCC, TCP and TA block instances causes kernel to hang
	- fixed by using the new AQLProfile feature to obtain precise size for command/data buffers

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/roccounters.cpp#2 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/rocvirtual.cpp#46 edit


[ROCm/clr commit: 0e9cee7205]
This commit is contained in:
foreman
2017-11-15 16:22:18 -05:00
parent c56619ed03
commit 787941237c
2 changed files with 26 additions and 25 deletions
@@ -1984,7 +1984,11 @@ void VirtualGPU::submitPerfCounter(amd::PerfCounterCommand& vcmd) {
}
// create the AQL packet for start profiling
profileRef->createStartPacket();
if (profileRef->createStartPacket() == nullptr) {
LogError("Failed to create AQL packet for start profiling");
vcmd.setStatus(CL_INVALID_OPERATION);
}
dispatchCounterAqlPacket(profileRef->prePacket(), counter->gfxVersion(), false,
profileRef->api());
@@ -1997,7 +2001,10 @@ void VirtualGPU::submitPerfCounter(amd::PerfCounterCommand& vcmd) {
PerfCounterProfile* profileRef = counter->profileRef();
// create the AQL packet for stop profiling
profileRef->createStopPacket();
if (profileRef->createStopPacket() == nullptr) {
LogError("Failed to create AQL packet for stop profiling");
vcmd.setStatus(CL_INVALID_OPERATION);
}
dispatchCounterAqlPacket(profileRef->postPacket(), counter->gfxVersion(), true,
profileRef->api());
} else {