// // Copyright 2022 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // #include <gtest/gtest.h> #include <vector> #include "test_utils/ANGLETest.h" #include "test_utils/gl_raii.h" #include "util/OSWindow.h" usingnamespaceangle; class EGLDisplayTest : public ANGLETest<> { … }; // Tests that an eglInitialize can be re-initialized. The spec says: // // > Initializing an already-initialized display is allowed, but the only effect of such a call is // to return EGL_TRUE and update the EGL version numbers TEST_P(EGLDisplayTest, InitializeMultipleTimes) { … } // Test that call eglInitialize() in parallel in multiple threads works // > Initializing an already-initialized display is allowed, but the only effect // of such a call is to return EGL_TRUE and update the EGL version numbers TEST_P(EGLDisplayTest, InitializeMultipleTimesInDifferentThreads) { … } // Tests that an EGLDisplay can be re-initialized. TEST_P(EGLDisplayTest, InitializeTerminateInitialize) { … } // Tests that an EGLDisplay can be re-initialized after it was used to draw into a window surface. TEST_P(EGLDisplayTest, InitializeDrawSwapTerminateLoop) { … } // Tests current Context leaking when call eglTerminate() while it is current. TEST_P(EGLDisplayTest, ContextLeakAfterTerminate) { … } ANGLE_INSTANTIATE_TEST(…);