1 // 2 // Copyright (c) 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/Error.h" 14 #include "libANGLE/Caps.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 getDevice(void **outValue) = 0; 30 virtual EGLint getType() = 0; 31 virtual void generateExtensions(egl::DeviceExtensions *outExtensions) const = 0; 32 virtual bool deviceExternallySourced() = 0; 33 }; 34 35 } 36 37 #endif // LIBANGLE_RENDERER_DEVICEIMPL_H_ 38