P4 to Git Change 1270658 by gandryey@gera-w8 on 2016/05/18 17:53:45

SWDEV-86035 - Add PAL backend to OpenCL
	- Fix a crash in the pipe test. Device layer can't use device blit queue directly, but requires a blit manager call, which will perform correct wait for idle sequence.

Affected files ...

... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.cpp#3 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.hpp#3 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#5 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palmemory.cpp#5 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#3 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#8 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/runtime/OCLRTQueue.cpp#2 edit
This commit is contained in:
foreman
2016-05-18 18:11:40 -04:00
parent 11c0c4e127
commit a94fa4eabb
7 changed files with 39 additions and 38 deletions
+2 -12
View File
@@ -151,14 +151,8 @@ Memory::create(
reinterpret_cast<Resource::ViewParams*>(params);
// Check if parent was allocated in system memory
if ((view->resource_->memoryType() == Resource::Pinned) ||
(((view->resource_->memoryType() == Resource::Remote) ||
(view->resource_->memoryType() == Resource::RemoteUSWC)) &&
// @todo Enable unconditional optimization for remote memory
// Check for external allocation, to avoid the optimization
// for non-VM (double copy) mode
(owner() != nullptr) &&
((owner()->getMemFlags() & CL_MEM_ALLOC_HOST_PTR) ||
dev().settings().remoteAlloc_))) {
(view->resource_->memoryType() == Resource::Remote) ||
(view->resource_->memoryType() == Resource::RemoteUSWC)) {
// Marks memory object for direct GPU access to the host memory
flags_ |= HostMemoryDirectAccess;
}
@@ -578,10 +572,6 @@ Memory::syncCacheFromHost(VirtualGPU& gpu, device::Memory::SyncFlags syncFlags)
}
}
//!@todo A wait isn't really necessary. However
//! Linux no-VM may have extra random failures.
wait(gpu);
// Should never fail
assert(result && "Memory synchronization failed!");
}