diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2019-10-25 18:25:17 +0100 |
---|---|---|
committer | Georgios Pinitas <georgios.pinitas@arm.com> | 2019-11-01 17:26:05 +0000 |
commit | 7ae80a928564eba96c4fef0b91b1c50e1647fb8d (patch) | |
tree | 18a6a38e9d61f09f46cc08ba231802eb4519b846 /arm_compute/runtime/GLES_COMPUTE/GCScheduler.h | |
parent | bfd75d64b99342a6cb46380f7173c39026ed7ea2 (diff) | |
download | ComputeLibrary-7ae80a928564eba96c4fef0b91b1c50e1647fb8d.tar.gz |
COMPMID-2549: Add GLES Runtime Context interfaces.
* Creates interfaces and concrete classes
* Ports GCActivationalLayer
* Adapts test framework and relevant tests
Change-Id: Ide36cd65ebf185958db3c4a5bebd630fcb2f39b3
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/c/2199
Reviewed-by: Pablo Marquez <pablo.tello@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'arm_compute/runtime/GLES_COMPUTE/GCScheduler.h')
-rw-r--r-- | arm_compute/runtime/GLES_COMPUTE/GCScheduler.h | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/arm_compute/runtime/GLES_COMPUTE/GCScheduler.h b/arm_compute/runtime/GLES_COMPUTE/GCScheduler.h index 1cf2af47d7..e26e3112fc 100644 --- a/arm_compute/runtime/GLES_COMPUTE/GCScheduler.h +++ b/arm_compute/runtime/GLES_COMPUTE/GCScheduler.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2018 ARM Limited. + * Copyright (c) 2017-2019 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -30,40 +30,50 @@ namespace arm_compute { +// Forward declarations class IGCKernel; /** Provides global access to a OpenGL ES context and command queue. */ -class GCScheduler +class GCScheduler final { public: + /** 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; /** Access the scheduler singleton. * * @return The scheduler */ static GCScheduler &get(); - /** Initialises the context and command queue used by the scheduler to default values * and sets a default device and kernel path for the @ref GCKernelLibrary. */ void default_init(); - + /** Initializes the context and display used by the Scheduler. + * + * @param[in] display Display to use + * @param[in] ctx Context to use + */ + void default_init_with_context(EGLDisplay display, EGLContext ctx); /** Schedule the execution of the passed kernel if possible. * * @param[in] kernel Kernel to execute. * @param[in] flush (Optional) Specifies if the command queue will be flushed after running the kernel. */ void dispatch(IGCKernel &kernel, bool flush = true); - /** Initialises the display and context to be used by the scheduler. * * @param[in] dpy The EGL display connection * @param[in] ctx The EGL rendering context */ void init(EGLDisplay dpy, EGLContext ctx); - /** Defines a barrier ordering memory transactions. */ void memory_barrier(); - /** Get the target GPU. * * @return The target GPU. @@ -72,7 +82,6 @@ public: { return _target; } - /** Accessor to set target GPU to be used by the scheduler. * * @param[in] target The target GPU. @@ -83,15 +92,6 @@ public: } 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(); |