1 #ifndef _TEGLSIMPLECONFIGCASE_HPP 2 #define _TEGLSIMPLECONFIGCASE_HPP 3 /*------------------------------------------------------------------------- 4 * drawElements Quality Program EGL Module 5 * --------------------------------------- 6 * 7 * Copyright 2014 The Android Open Source Project 8 * 9 * Licensed under the Apache License, Version 2.0 (the "License"); 10 * you may not use this file except in compliance with the License. 11 * You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, software 16 * distributed under the License is distributed on an "AS IS" BASIS, 17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * See the License for the specific language governing permissions and 19 * limitations under the License. 20 * 21 *//*! 22 * \file 23 * \brief Simple Context construction test. 24 *//*--------------------------------------------------------------------*/ 25 26 #include "tcuDefs.hpp" 27 #include "teglTestCase.hpp" 28 #include "egluConfigFilter.hpp" 29 30 #include <vector> 31 #include <string> 32 33 namespace deqp 34 { 35 namespace egl 36 { 37 38 class SimpleConfigCase : public TestCase 39 { 40 public: 41 SimpleConfigCase (EglTestContext& eglTestCtx, const char* name, const char* description, const eglu::FilterList& filters); 42 virtual ~SimpleConfigCase (void); 43 44 void init (void); 45 void deinit (void); 46 IterateResult iterate (void); 47 48 protected: getDisplay(void)49 eglw::EGLDisplay getDisplay (void) { return m_display; } 50 51 private: 52 virtual void executeForConfig (eglw::EGLDisplay display, eglw::EGLConfig config) = DE_NULL; 53 54 SimpleConfigCase (const SimpleConfigCase& other); 55 SimpleConfigCase& operator= (const SimpleConfigCase& other); 56 57 const eglu::FilterList m_filters; 58 59 eglw::EGLDisplay m_display; 60 std::vector<eglw::EGLConfig> m_configs; 61 std::vector<eglw::EGLConfig>::iterator m_configIter; 62 }; 63 64 class NamedFilterList : public eglu::FilterList 65 { 66 public: NamedFilterList(const char * name,const char * description)67 NamedFilterList (const char* name, const char* description) : m_name(name), m_description(description) {} 68 getName(void) const69 const char* getName (void) const { return m_name.c_str(); } getDescription(void) const70 const char* getDescription (void) const { return m_description.c_str(); } 71 72 private: 73 std::string m_name; 74 std::string m_description; 75 }; 76 77 void getDefaultFilterLists (std::vector<NamedFilterList>& lists, const eglu::FilterList& baseFilters); 78 79 } // egl 80 } // deqp 81 82 #endif // _TEGLSIMPLECONFIGCASE_HPP 83