From 77eb21f7d9c6e34e985dfa96152fb8b6c40f9a8a Mon Sep 17 00:00:00 2001 From: Ioan-Cristian Szabo Date: Fri, 22 Dec 2017 17:32:17 +0000 Subject: Fix destruction order of singleton objects and resolve hang GLES issue. Change-Id: I9df42d4255b371b275a74aa521406e6796ee436b Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/113901 Reviewed-by: Anthony Barbier Tested-by: Anthony Barbier --- src/runtime/CL/CLScheduler.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/runtime/CL/CLScheduler.cpp') diff --git a/src/runtime/CL/CLScheduler.cpp b/src/runtime/CL/CLScheduler.cpp index 71a749fe52..bf13a25693 100644 --- a/src/runtime/CL/CLScheduler.cpp +++ b/src/runtime/CL/CLScheduler.cpp @@ -28,6 +28,8 @@ using namespace arm_compute; +std::once_flag CLScheduler::_initialize_symbols; + CLScheduler::CLScheduler() : _context(), _queue(), _target(GPUTarget::MIDGARD), _is_initialised(false), _cl_tuner() { @@ -35,6 +37,7 @@ CLScheduler::CLScheduler() CLScheduler &CLScheduler::get() { + std::call_once(_initialize_symbols, opencl_is_available); static CLScheduler scheduler; return scheduler; } @@ -59,4 +62,4 @@ void CLScheduler::enqueue(ICLKernel &kernel, bool flush) { _queue.flush(); } -} \ No newline at end of file +} -- cgit v1.2.1