• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //
2 // Copyright 2015 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 
7 // DeviceImpl.h: Implementation methods of egl::Device
8 
9 #ifndef LIBANGLE_RENDERER_DEVICEIMPL_H_
10 #define LIBANGLE_RENDERER_DEVICEIMPL_H_
11 
12 #include "common/angleutils.h"
13 #include "libANGLE/Caps.h"
14 #include "libANGLE/Error.h"
15 
16 namespace egl
17 {
18 class Device;
19 }
20 
21 namespace rx
22 {
23 class DeviceImpl : angle::NonCopyable
24 {
25   public:
26     DeviceImpl();
27     virtual ~DeviceImpl();
28 
29     virtual egl::Error initialize() = 0;
30 
31     virtual egl::Error getDevice(void **outValue)                               = 0;
32     virtual EGLint getType()                                                    = 0;
33     virtual void generateExtensions(egl::DeviceExtensions *outExtensions) const = 0;
34 };
35 
36 }  // namespace rx
37 
38 #endif  // LIBANGLE_RENDERER_DEVICEIMPL_H_
39