1 // 2 // Copyright 2021 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 // DeviceMtl: Metal implementation of egl::Device 8 9 #ifndef LIBANGLE_RENDERER_METAL_DEVICEMTL_H_ 10 #define LIBANGLE_RENDERER_METAL_DEVICEMTL_H_ 11 12 #include "libANGLE/Device.h" 13 #include "libANGLE/renderer/DeviceImpl.h" 14 15 namespace rx 16 { 17 18 // DeviceMTL implementation, implements DeviceImpl 19 class DeviceMtl : public DeviceImpl 20 { 21 public: 22 DeviceMtl(); 23 ~DeviceMtl() override; 24 25 egl::Error initialize() override; 26 egl::Error getAttribute(const egl::Display *display, 27 EGLint attribute, 28 void **outValue) override; 29 EGLint getType() override; 30 void generateExtensions(egl::DeviceExtensions *outExtensions) const override; 31 }; 32 33 } // namespace rx 34 35 #endif // LIBANGLE_RENDERER_METAL_DEVICEMTL_H_ 36