P4 to Git Change 1396011 by todli@todli-win-opencl-kv1 on 2017/04/09 02:28:44

SWDEV-96241 - Unlike in ORCA, in PAL the actual memory allocated for BusAddressable memory is sometimes larger than "Pow2Align(size, pageSize) + pageSize".
	So virtual address of marker should be calculated in another way for WaitMarker command.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#47 edit
This commit is contained in:
foreman
2017-04-09 02:37:43 -04:00
förälder 39d80ecd15
incheckning e12576cf22
+3 -1
Visa fil
@@ -2794,9 +2794,11 @@ VirtualGPU::submitSignal(amd::SignalCommand & vcmd)
uint32_t size = vcmd.memory().getSize();
addVmMemory(pGpuMemory);
uint32_t offset = pGpuMemory->iMem()->Desc().markerBusAddr - pGpuMemory->iMem()->Desc().surfaceBusAddr;
if (vcmd.type() == CL_COMMAND_WAIT_SIGNAL_AMD) {
iCmd()->CmdWaitMemoryValue(*(pGpuMemory->iMem()), size, value, 0xFFFFFFFF, Pal::CompareFunc::GreaterEqual);
iCmd()->CmdWaitMemoryValue(*(pGpuMemory->iMem()), offset, value, 0xFFFFFFFF, Pal::CompareFunc::GreaterEqual);
}
else if (vcmd.type() == CL_COMMAND_WRITE_SIGNAL_AMD) {
iCmd()->CmdUpdateMemory(*(pGpuMemory->iMem()), size, 4, &value);