diff options
Diffstat (limited to 'arm_compute')
-rw-r--r-- | arm_compute/core/CL/CLKernelLibrary.h | 10 | ||||
-rw-r--r-- | arm_compute/runtime/CL/CLScheduler.h | 7 |
2 files changed, 13 insertions, 4 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; |