1 #ifndef _GLCPARALLELSHADERCOMPILETESTS_HPP
2 #define _GLCPARALLELSHADERCOMPILETESTS_HPP
3 /*-------------------------------------------------------------------------
4 * OpenGL Conformance Test Suite
5 * -----------------------------
7 * Copyright (c) 2016-2017 The Khronos Group Inc.
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
13 * http://www.apache.org/licenses/LICENSE-2.0
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.
24 */ /*-------------------------------------------------------------------*/
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"
39 /** Test verifies if GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev
40 * queries for MAX_SHADER_COMPILER_THREADS_KHR <pname> returns the same value.
42 class SimpleQueriesTest : public deqp::TestCase
46 SimpleQueriesTest(deqp::Context& context);
48 tcu::TestNode::IterateResult iterate();
55 /** Test verifies if MaxShaderCompilerThreadsKHR function works as expected
57 class MaxShaderCompileThreadsTest : public deqp::TestCase
61 MaxShaderCompileThreadsTest(deqp::Context& context);
63 tcu::TestNode::IterateResult iterate();
70 /** Test verifies if GetShaderiv and GetProgramiv queries returns value as expected
71 * for COMPLETION_STATUS <pname> and non parallel compilation.
73 class CompilationCompletionNonParallelTest : public deqp::TestCase
77 CompilationCompletionNonParallelTest(deqp::Context& context);
79 tcu::TestNode::IterateResult iterate();
86 /** Test verifies if GetShaderiv and GetProgramiv queries returns value as expected
87 * for COMPLETION_STATUS <pname> and parallel compilation.
89 class CompilationCompletionParallelTest : public deqp::TestCase
93 CompilationCompletionParallelTest(deqp::Context& context);
95 tcu::TestNode::IterateResult iterate();
102 /** Test group which encapsulates all sparse buffer conformance tests */
103 class ParallelShaderCompileTests : public deqp::TestCaseGroup
107 ParallelShaderCompileTests(deqp::Context& context);
112 ParallelShaderCompileTests(const ParallelShaderCompileTests& other);
113 ParallelShaderCompileTests& operator=(const ParallelShaderCompileTests& other);
116 } /* glcts namespace */
118 #endif // _GLCPARALLELSHADERCOMPILETESTS_HPP