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:
@@ -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!");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user