diff options
Diffstat (limited to 'arm_compute/runtime')
-rw-r--r-- | arm_compute/runtime/CL/CLScheduler.h | 3 | ||||
-rw-r--r-- | arm_compute/runtime/GLES_COMPUTE/GCScheduler.h | 24 |
2 files changed, 22 insertions, 5 deletions
diff --git a/arm_compute/runtime/CL/CLScheduler.h b/arm_compute/runtime/CL/CLScheduler.h index 1a7befc046..f700bbb679 100644 --- a/arm_compute/runtime/CL/CLScheduler.h +++ b/arm_compute/runtime/CL/CLScheduler.h @@ -199,6 +199,9 @@ private: */ cl::NDRange tune_kernel(ICLKernel &kernel); + /** Flag to ensure symbols initialisation is happening before Scheduler creation */ + static std::once_flag _initialize_symbols; + cl::Context _context; cl::CommandQueue _queue; GPUTarget _target; diff --git a/arm_compute/runtime/GLES_COMPUTE/GCScheduler.h b/arm_compute/runtime/GLES_COMPUTE/GCScheduler.h index 817f8b54b1..8aac9c4023 100644 --- a/arm_compute/runtime/GLES_COMPUTE/GCScheduler.h +++ b/arm_compute/runtime/GLES_COMPUTE/GCScheduler.h @@ -35,10 +35,6 @@ class IGCKernel; /** Provides global access to a OpenGL ES context and command queue. */ class GCScheduler { -private: - /** Constructor */ - GCScheduler(); - public: /** Access the scheduler singleton. * @@ -67,7 +63,25 @@ public: /** Blocks until all commands in the associated command queue have finished. */ void sync(); + +private: + /** Constructor */ + GCScheduler(); + /** Destructor */ + ~GCScheduler(); + /** Prevent instances of this class from being copied */ + GCScheduler(const GCScheduler &) = delete; + /** Prevent instances of this class from being copied */ + GCScheduler &operator=(const GCScheduler &) = delete; + + /** Set up EGL context */ + void setup_context(); + + /** Flag to ensure symbols initialisation is happening before Scheduler creation */ + static std::once_flag _initialize_symbols; + + EGLDisplay _display; /**< Underlying EGL Display. */ + EGLContext _context; /**< Underlying EGL Context. */ }; } - #endif /* __ARM_COMPUTE_GCSCHEDULER_H__ */ |