P4 to Git Change 1275745 by gujin@gujin-sc-win on 2016/06/02 13:34:16
SWDEV-76911 - Set output pipeline of multi-shader compilation in the same way driver sets. Fill output shader pointers only if they will be generated based on the input shaders, otherwise NULL. ReviewBoardURL = http://dxreview.amd.com/r/20059/ Affected files ... ... //depot/stg/sc/Src/Dev/TestEngine.cpp#512 edit
This commit is contained in:
@@ -472,7 +472,7 @@ VirtualGPU::create(bool profiling, uint rtCUs, uint deviceQueueSize,
|
||||
}
|
||||
//!@todo This is not a generic solution and
|
||||
// may have issues with > 8 queues
|
||||
idx = index() % (dev().engines().numComputeRings() +
|
||||
idx = index() % (dev().engines().numComputeRings() +
|
||||
dev().engines().numComputeRingsRT());
|
||||
}
|
||||
// hwRing_ should be set 0 if forced to have single scratch buffer
|
||||
@@ -1839,23 +1839,11 @@ VirtualGPU::submitKernelInternalHSA(
|
||||
pKernelInfo = &kernelInfo;
|
||||
}
|
||||
|
||||
// Set up the dispatch information
|
||||
KernelDispatchInfo dispatchInfo;
|
||||
dispatchInfo.aqlPacket = aqlPkt;
|
||||
dispatchInfo.mems = vmMems();
|
||||
dispatchInfo.numMems = cal_.memCount_;
|
||||
dispatchInfo.scratch = scratch;
|
||||
dispatchInfo.scratchOffset = scratchOffset;
|
||||
dispatchInfo.cpuAqlCode = hsaKernel.cpuAqlCode();
|
||||
dispatchInfo.hsaQueueVA = hsaQueueMem_->vmAddress();
|
||||
dispatchInfo.kernelInfo = pKernelInfo;
|
||||
dispatchInfo.wavesPerSH = hsaKernel.getWavesPerSH(this);
|
||||
dispatchInfo.lastDoppSubmission = kernel.parameters().getExecNewVcop();
|
||||
|
||||
GpuEvent gpuEvent;
|
||||
// Run AQL dispatch in HW
|
||||
eventBegin(MainEngine);
|
||||
cs()->AqlDispatch(&dispatchInfo);
|
||||
cs()->AqlDispatch(aqlPkt, vmMems(), cal_.memCount_, scratch, scratchOffset,
|
||||
hsaKernel.cpuAqlCode(), hsaQueueMem_->vmAddress(), pKernelInfo, hsaKernel.getWavesPerSH(this));
|
||||
eventEnd(MainEngine, gpuEvent);
|
||||
|
||||
if (dbgManager && (NULL != dbgManager->postDispatchCallBackFunc())) {
|
||||
@@ -2155,7 +2143,7 @@ VirtualGPU::submitKernelInternal(
|
||||
}
|
||||
|
||||
// Execute the kernel
|
||||
if (gpuKernel.run(*this, &gpuEvent, lastRun, kernel.parameters().getExecNewVcop())) {
|
||||
if (gpuKernel.run(*this, &gpuEvent, lastRun)) {
|
||||
//! @todo A flush is necessary to make sure
|
||||
// that 2 consecutive runs won't access to the same
|
||||
// private/local memory. CAL has to generate cache flush
|
||||
|
||||
Reference in New Issue
Block a user