1 #ifndef _GLCPARALLELSHADERCOMPILETESTS_HPP 2 #define _GLCPARALLELSHADERCOMPILETESTS_HPP 3 /*------------------------------------------------------------------------- 4 * OpenGL Conformance Test Suite 5 * ----------------------------- 6 * 7 * Copyright (c) 2016-2017 The Khronos Group Inc. 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 24 */ /*-------------------------------------------------------------------*/ 25 26 /** 27 */ /*! 28 * \file glcParallelShaderCompileTests.hpp 29 * \brief Conformance tests for the GL_KHR_parallel_shader_compile functionality. 30 */ /*-------------------------------------------------------------------*/ 31 #include "glcTestCase.hpp" 32 #include "glwDefs.hpp" 33 #include "tcuDefs.hpp" 34 #include <vector> 35 36 namespace glcts 37 { 38 39 /** Test verifies if GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev 40 * queries for MAX_SHADER_COMPILER_THREADS_KHR <pname> returns the same value. 41 **/ 42 class SimpleQueriesTest : public deqp::TestCase 43 { 44 public: 45 /* Public methods */ 46 SimpleQueriesTest(deqp::Context &context); 47 48 tcu::TestNode::IterateResult iterate(); 49 50 private: 51 /* Private methods */ 52 /* Private members */ 53 }; 54 55 /** Test verifies if MaxShaderCompilerThreadsKHR function works as expected 56 **/ 57 class MaxShaderCompileThreadsTest : public deqp::TestCase 58 { 59 public: 60 /* Public methods */ 61 MaxShaderCompileThreadsTest(deqp::Context &context); 62 63 tcu::TestNode::IterateResult iterate(); 64 65 private: 66 /* Private methods */ 67 /* Private members */ 68 }; 69 70 /** Test verifies if GetShaderiv and GetProgramiv queries returns value as expected 71 * for COMPLETION_STATUS <pname> and parallel compilation. 72 **/ 73 class CompilationCompletionParallelTest : public deqp::TestCase 74 { 75 public: 76 /* Public methods */ 77 CompilationCompletionParallelTest(deqp::Context &context); 78 79 tcu::TestNode::IterateResult iterate(); 80 81 private: 82 /* Private methods */ 83 /* Private members */ 84 }; 85 86 /** Test group which encapsulates all sparse buffer conformance tests */ 87 class ParallelShaderCompileTests : public deqp::TestCaseGroup 88 { 89 public: 90 /* Public methods */ 91 ParallelShaderCompileTests(deqp::Context &context); 92 93 void init(); 94 95 private: 96 ParallelShaderCompileTests(const ParallelShaderCompileTests &other); 97 ParallelShaderCompileTests &operator=(const ParallelShaderCompileTests &other); 98 }; 99 100 } // namespace glcts 101 102 #endif // _GLCPARALLELSHADERCOMPILETESTS_HPP 103