P4 to Git Change 2016282 by gandryey@gera-win10 on 2019/10/18 17:41:12
SWDEV-79445 - OCL generic changes and code clean-up
- Remove cl_amd_command_intercept extension
Affected files ...
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl1.2/CL/cl_ext.h#21 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.0/CL/cl_ext.h#38 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.1/CL/cl_ext.h#15 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/headers/opencl2.2/CL/cl_ext.h#9 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/commandqueue.cpp#31 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/context.cpp#53 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/context.hpp#30 edit
[ROCm/clr commit: 902353adc6]
Этот коммит содержится в:
@@ -19,8 +19,7 @@ namespace amd {
|
||||
|
||||
HostQueue::HostQueue(Context& context, Device& device, cl_command_queue_properties properties,
|
||||
uint queueRTCUs, Priority priority)
|
||||
: CommandQueue(context, device, properties,
|
||||
device.info().queueProperties_ | CL_QUEUE_COMMAND_INTERCEPT_ENABLE_AMD,
|
||||
: CommandQueue(context, device, properties, device.info().queueProperties_,
|
||||
queueRTCUs, priority),
|
||||
lastEnqueueCommand_(nullptr) {
|
||||
if (thread_.state() >= Thread::INITIALIZED) {
|
||||
@@ -83,10 +82,6 @@ void HostQueue::finish() {
|
||||
}
|
||||
|
||||
void HostQueue::loop(device::VirtualDevice* virtualDevice) {
|
||||
cl_int(CL_CALLBACK * commandIntercept)(cl_event, cl_int*) =
|
||||
properties().test(CL_QUEUE_COMMAND_INTERCEPT_ENABLE_AMD) ? context().info().commandIntercept_
|
||||
: NULL;
|
||||
|
||||
// Notify the caller that the queue is ready to accept commands.
|
||||
{
|
||||
ScopedLock sl(queueLock_);
|
||||
@@ -138,20 +133,11 @@ void HostQueue::loop(device::VirtualDevice* virtualDevice) {
|
||||
}
|
||||
|
||||
command->setStatus(CL_SUBMITTED);
|
||||
|
||||
cl_int result;
|
||||
if ((commandIntercept != NULL) && commandIntercept(as_cl<Event>(command), &result)) {
|
||||
// The command was handled by the callback.
|
||||
command->setStatus(CL_RUNNING, command->profilingInfo().submitted_);
|
||||
command->setStatus(result);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Submit to the device queue.
|
||||
command->submit(*virtualDevice);
|
||||
|
||||
// if we are in intercept mode or this is a user invisible marker command
|
||||
if ((0 == command->type()) || (commandIntercept != NULL)) {
|
||||
// if this is a user invisible marker command, then flush
|
||||
if (0 == command->type()) {
|
||||
virtualDevice->flush(head);
|
||||
tail = head = NULL;
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user