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 } // deqp 66 67 #endif // _GLCSHADERLIBRARY_HPP 68