P4 to Git Change 1109955 by wchau@wchau_WINDOWS7_OCL on 2015/01/08 14:00:03

ECR #399840 - OpenCL Runtime HW Debug support development - HW debeg core and runtime support

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_debugger_amd.cpp#2 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_debugger_amd.h#2 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#236 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudebugger.hpp#1 add
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudebugmanager.cpp#1 add
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudebugmanager.hpp#1 add
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#488 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.hpp#135 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#273 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.hpp#104 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuresource.cpp#198 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuscsi.cpp#28 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpusettings.cpp#295 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.cpp#344 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuvirtual.hpp#122 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.cpp#67 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gslbe/src/rt/GSLContext.h#40 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/hwdebug.cpp#1 add
... //depot/stg/opencl/drivers/opencl/runtime/device/hwdebug.hpp#2 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#221 edit
This commit is contained in:
foreman
2015-01-08 14:10:34 -05:00
parent dc57153e6f
commit 2a38e43932
18 ha cambiato i file con 1287 aggiunte e 129 eliminazioni
@@ -440,7 +440,7 @@ CALGSLContext::isDone(GpuEvent* event)
if (m_eventQueue[event->engineId_].isDone(event->id))
{
event->invalidate();
return true;
return true;
}
return false;
}
@@ -1269,10 +1269,10 @@ CALGSLContext::writeTimer(bool sdma, const gslMemObject mem, uint32 offset) cons
void
CALGSLContext::runAqlDispatch(GpuEvent& event, const void* aqlPacket,
const gslMemObject* mems, uint32 numMems, gslMemObject scratch, uint32 scratchOffset,
const void* cpuKernelCode, uint64 hsaQueueVA)
const void* cpuKernelCode, uint64 hsaQueueVA, const void* kernelInfo)
{
eventBegin(MainEngine);
m_cs->AqlDispatch(aqlPacket, mems, numMems, scratch, scratchOffset, cpuKernelCode, hsaQueueVA);
m_cs->AqlDispatch(aqlPacket, mems, numMems, scratch, scratchOffset, cpuKernelCode, hsaQueueVA, kernelInfo);
eventEnd(MainEngine, event);
}
@@ -1299,3 +1299,30 @@ CALGSLContext::virtualQueueHandshake(GpuEvent& event, const gslMemObject mem, mc
m_cs->VirtualQueueHandshake(mem, parentState, newStateValue, parentChildCounter, signal, dedicatedQueue);
eventEnd(MainEngine, event);
}
bool
CALGSLContext::RegisterHwDebugger(uint64 debugMessages)
{
return m_cs->registerHwDebugger(debugMessages);
}
bool
CALGSLContext::ExceptionNotification(osEventHandle debugEvent)
{
return m_cs->exceptionNotification(debugEvent);
}
void
CALGSLContext::InvalidateSqCaches(bool instInvalidate, bool dataInvalidate, bool tcL1, bool tcL2)
{
// invalidating instruction/data L1 caches using Escape
if (instInvalidate || dataInvalidate) {
m_cs->invalidateSqCaches(instInvalidate, dataInvalidate);
}
if (tcL1) {
flushCUCaches(tcL2);
}
}
@@ -44,7 +44,8 @@ public:
bool runProgramGrid(GpuEvent& event, const ProgramGrid* pProgramGrid, const gslMemObject* mems, uint32 numMems);
bool runProgramVideoDecode(GpuEvent& event, gslMemObject mo, const CALprogramVideoDecode& decode);
void runAqlDispatch(GpuEvent& event, const void* aqlPacket, const gslMemObject* mems,
uint32 numMems, gslMemObject scratch, uint32 scratchOffset, const void* cpuKernelCode, uint64 hsaQueueVA);
uint32 numMems, gslMemObject scratch, uint32 scratchOffset, const void* cpuKernelCode,
uint64 hsaQueueVA, const void* kernelInfo);
mcaddr virtualQueueDispatcherStart();
void virtualQueueDispatcherEnd(GpuEvent& event, const gslMemObject* mems, uint32 numMems,
mcaddr signal, mcaddr loopStart, uint32 numTemplates);
@@ -140,6 +141,11 @@ public:
void writeTimer(bool sdma, const gslMemObject mem, uint32 offset) const;
void writeSurfRaw(GpuEvent& event, gslMemObject mem, size_t size, const void* data);
/// HW Debug support functions
bool RegisterHwDebugger(uint64 debugMessages);
bool ExceptionNotification(osEventHandle debugEvent);
void InvalidateSqCaches(bool instInvalidate = true, bool dataInvalidate = true, bool tcL1 = true, bool tcL2 = true);
protected:
void setScratchBuffer(gslMemObject mem, int32 engineId);
virtual void profileEvent(EngineType engine, bool type) const {}