1 #ifndef _GLCSHADERLIBRARY_HPP 2 #define _GLCSHADERLIBRARY_HPP 3 /*------------------------------------------------------------------------- 4 * OpenGL Conformance Test Suite 5 * ----------------------------- 6 * 7 * Copyright (c) 2016 Google Inc. 8 * Copyright (c) 2016 The Khronos Group Inc. 9 * 10 * Licensed under the Apache License, Version 2.0 (the "License"); 11 * you may not use this file except in compliance with the License. 12 * You may obtain a copy of the License at 13 * 14 * http://www.apache.org/licenses/LICENSE-2.0 15 * 16 * Unless required by applicable law or agreed to in writing, software 17 * distributed under the License is distributed on an "AS IS" BASIS, 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 19 * See the License for the specific language governing permissions and 20 * limitations under the License. 21 * 22 */ /*! 23 * \file 24 * \brief Shader case library. 25 */ /*-------------------------------------------------------------------*/ 26 27 #include "glcTestCase.hpp" 28 #include "gluDefs.hpp" 29 #include "gluRenderContext.hpp" 30 31 #include <vector> 32 33 namespace deqp 34 { 35 36 class ShaderLibrary 37 { 38 public: 39 ShaderLibrary(tcu::TestContext &testCtx, glu::RenderContext &renderCtx); 40 ~ShaderLibrary(void); 41 42 std::vector<tcu::TestNode *> loadShaderFile(const char *fileName); 43 44 private: 45 ShaderLibrary(const ShaderLibrary &); // not allowed! 46 ShaderLibrary &operator=(const ShaderLibrary &); // not allowed! 47 48 // Member variables. 49 tcu::TestContext &m_testCtx; 50 glu::RenderContext &m_renderCtx; 51 }; 52 53 class ShaderLibraryGroup : public TestCaseGroup 54 { 55 public: 56 ShaderLibraryGroup(Context &context, const char *name, const char *description, const char *filename); 57 ~ShaderLibraryGroup(void); 58 59 void init(void); 60 61 private: 62 std::string m_filename; 63 }; 64 65 } // namespace deqp 66 67 #endif // _GLCSHADERLIBRARY_HPP 68