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 // DeviceD3D.h: D3D implementation of egl::Device 8 9 #ifndef LIBANGLE_RENDERER_D3D_DEVICED3D_H_ 10 #define LIBANGLE_RENDERER_D3D_DEVICED3D_H_ 11 12 #include "libANGLE/Device.h" 13 #include "libANGLE/renderer/DeviceImpl.h" 14 #include "libANGLE/renderer/d3d/RendererD3D.h" 15 16 namespace rx 17 { 18 class DeviceD3D : public DeviceImpl 19 { 20 public: 21 DeviceD3D(EGLint deviceType, void *nativeDevice); 22 ~DeviceD3D() override; 23 24 egl::Error initialize() override; 25 egl::Error getAttribute(const egl::Display *display, 26 EGLint attribute, 27 void **outValue) override; 28 EGLint getType() override; 29 void generateExtensions(egl::DeviceExtensions *outExtensions) const override; 30 31 private: 32 void *mDevice; 33 EGLint mDeviceType; 34 bool mIsInitialized; 35 }; 36 37 } // namespace rx 38 39 #endif // LIBANGLE_RENDERER_D3D_DEVICED3D_H_ 40