// // Copyright 2014 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 "gmock/gmock.h" #include "gtest/gtest.h" #include "libANGLE/AttributeMap.h" #include "libANGLE/Config.h" // Create a generic, valid EGL config that can be modified to test sorting and // filtering routines static egl::Config GenerateGenericConfig() { … } static std::vector<egl::Config> GenerateUniqueConfigs(size_t count) { … } // Add unique configs to a ConfigSet and expect that the size of the // set is equal to the number of configs added. TEST(ConfigSetTest, Size) { … } // [EGL 1.5] section 3.4: // EGL_CONFIG_ID is a unique integer identifying different EGLConfigs. Configuration IDs // must be small positive integers starting at 1 and ID assignment should be compact; // that is, if there are N EGLConfigs defined by the EGL implementation, their // configuration IDs should be in the range [1, N]. TEST(ConfigSetTest, IDs) { … } TEST(ConfigSetTest, Filtering_BitSizes) { … } // Verify the sorting, [EGL 1.5] section 3.4.1.2 pg 30: // [configs are sorted] by larger total number of color bits (for an RGB // color buffer this is the sum of EGL_RED_SIZE, EGL_GREEN_SIZE, EGL_BLUE_SIZE, // and EGL_ALPHA_SIZE; for a luminance color buffer, the sum of EGL_LUMINANCE_SIZE // and EGL_ALPHA_SIZE).If the requested number of bits in attrib list for a // particular color component is 0 or EGL_DONT_CARE, then the number of bits // for that component is not considered. TEST(ConfigSetTest, Sorting_BitSizes) { … }