aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arm_compute/core/CL/CLKernelLibrary.h10
-rw-r--r--arm_compute/runtime/CL/CLScheduler.h7
-rw-r--r--src/runtime/CL/CLScheduler.cpp2
3 files changed, 14 insertions, 5 deletions
diff --git a/arm_compute/core/CL/CLKernelLibrary.h b/arm_compute/core/CL/CLKernelLibrary.h
index 4c42d8e23a..2511966102 100644
--- a/arm_compute/core/CL/CLKernelLibrary.h
+++ b/arm_compute/core/CL/CLKernelLibrary.h
@@ -261,6 +261,16 @@ public:
_device = cl_devices[0];
}
}
+
+ /** Accessor for the associated CL context.
+ *
+ * @return A CL context.
+ */
+ cl::Context &context()
+ {
+ return _context;
+ }
+
/** Sets the CL device for which the programs are created.
*
* @param[in] device A CL device.
diff --git a/arm_compute/runtime/CL/CLScheduler.h b/arm_compute/runtime/CL/CLScheduler.h
index 0d81d73182..26b459c42d 100644
--- a/arm_compute/runtime/CL/CLScheduler.h
+++ b/arm_compute/runtime/CL/CLScheduler.h
@@ -123,7 +123,7 @@ public:
void init(cl::Context context = cl::Context::getDefault(), cl::CommandQueue queue = cl::CommandQueue::getDefault(),
cl::Device device = cl::Device::getDefault(), ICLTuner *cl_tuner = nullptr)
{
- _context = std::move(context);
+ set_context(context);
_queue = std::move(queue);
_target = get_target_from_device(device);
_is_initialised = true;
@@ -137,7 +137,7 @@ public:
cl::Context &context()
{
ARM_COMPUTE_ERROR_ON(!_is_initialised);
- return _context;
+ return CLKernelLibrary::get().context();
}
/** Accessor to set the CL context to be used by the scheduler.
@@ -146,7 +146,7 @@ public:
*/
void set_context(cl::Context context)
{
- _context = std::move(context);
+ CLKernelLibrary::get().set_context(context);
}
/** Accessor for the associated CL command queue.
@@ -225,7 +225,6 @@ private:
/** Flag to ensure symbols initialisation is happening before Scheduler creation */
static std::once_flag _initialize_symbols;
- cl::Context _context;
cl::CommandQueue _queue;
GPUTarget _target;
bool _is_initialised;
diff --git a/src/runtime/CL/CLScheduler.cpp b/src/runtime/CL/CLScheduler.cpp
index 2a5d836c33..fdae615108 100644
--- a/src/runtime/CL/CLScheduler.cpp
+++ b/src/runtime/CL/CLScheduler.cpp
@@ -31,7 +31,7 @@ using namespace arm_compute;
std::once_flag CLScheduler::_initialize_symbols;
CLScheduler::CLScheduler()
- : _context(), _queue(), _target(GPUTarget::MIDGARD), _is_initialised(false), _cl_tuner()
+ : _queue(), _target(GPUTarget::MIDGARD), _is_initialised(false), _cl_tuner()
{
}