P4 to Git Change 1537347 by gandryey@gera-w8 on 2018/04/05 17:42:56
SWDEV-79445 - OCL generic changes and code clean-up - Remove obsolete code in the interop logic Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#81 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palmemory.cpp#20 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palmemory.hpp#4 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#86 edit
This commit is contained in:
@@ -2489,25 +2489,6 @@ void VirtualGPU::submitAcquireExtObjects(amd::AcquireExtObjectsCommand& vcmd) {
|
||||
// If resource is a shared copy of original resource, then
|
||||
// runtime needs to copy data from original resource
|
||||
it->getInteropObj()->copyOrigToShared();
|
||||
|
||||
// Check if OpenCL has direct access to the interop memory
|
||||
if (memory->interopType() == Memory::InteropDirectAccess) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Does interop use HW emulation?
|
||||
if (memory->interopType() == Memory::InteropHwEmulation) {
|
||||
static const bool Entire = true;
|
||||
amd::Coord3D origin(0, 0, 0);
|
||||
amd::Coord3D region(memory->size());
|
||||
|
||||
// Synchronize the object
|
||||
if (!blitMgr().copyBuffer(*memory->interop(), *memory, origin, origin, region, Entire)) {
|
||||
LogError("submitAcquireExtObjects - Interop synchronization failed!");
|
||||
vcmd.setStatus(CL_INVALID_OPERATION);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
profilingEnd(vcmd);
|
||||
@@ -2524,24 +2505,6 @@ void VirtualGPU::submitReleaseExtObjects(amd::ReleaseExtObjectsCommand& vcmd) {
|
||||
assert(it && "Memory object for interop is nullptr");
|
||||
pal::Memory* memory = dev().getGpuMemory(it);
|
||||
|
||||
// Check if we can use HW interop
|
||||
if (memory->interopType() == Memory::InteropHwEmulation) {
|
||||
static const bool Entire = true;
|
||||
amd::Coord3D origin(0, 0, 0);
|
||||
amd::Coord3D region(memory->size());
|
||||
|
||||
// Synchronize the object
|
||||
if (!blitMgr().copyBuffer(*memory, *memory->interop(), origin, origin, region, Entire)) {
|
||||
LogError("submitReleaseExtObjects interop synchronization failed!");
|
||||
vcmd.setStatus(CL_INVALID_OPERATION);
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (memory->interopType() != Memory::InteropDirectAccess) {
|
||||
LogError("None interop release!");
|
||||
}
|
||||
}
|
||||
|
||||
// If resource is a shared copy of original resource, then
|
||||
// runtime needs to copy data back to original resource
|
||||
it->getInteropObj()->copySharedToOrig();
|
||||
|
||||
Reference in New Issue
Block a user