• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*-------------------------------------------------------------------------
2  * OpenGL Conformance Test Suite
3  * -----------------------------
4  *
5  * Copyright (c) 2014-2016 The Khronos Group Inc.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  */ /*!
20  * \file
21  * \brief
22  */ /*-------------------------------------------------------------------*/
23 
24 #include "esextcTessellationShaderTests.hpp"
25 #include "esextcTessellationShaderBarrier.hpp"
26 #include "esextcTessellationShaderErrors.hpp"
27 #include "esextcTessellationShaderInvariance.hpp"
28 #include "esextcTessellationShaderIsolines.hpp"
29 #include "esextcTessellationShaderMaxPatchVertices.hpp"
30 #include "esextcTessellationShaderPoints.hpp"
31 #include "esextcTessellationShaderPrimitiveCoverage.hpp"
32 #include "esextcTessellationShaderProgramInterfaces.hpp"
33 #include "esextcTessellationShaderProperties.hpp"
34 #include "esextcTessellationShaderQuads.hpp"
35 #include "esextcTessellationShaderTCTE.hpp"
36 #include "esextcTessellationShaderTessellation.hpp"
37 #include "esextcTessellationShaderTriangles.hpp"
38 #include "esextcTessellationShaderVertexOrdering.hpp"
39 #include "esextcTessellationShaderVertexSpacing.hpp"
40 #include "esextcTessellationShaderWinding.hpp"
41 #include "esextcTessellationShaderXFB.hpp"
42 
43 namespace glcts
44 {
45 
46 /** Constructor
47  *
48  * @param context       Test context
49  * @param glslVersion   GLSL version
50  **/
TessellationShaderTests(glcts::Context & context,const ExtParameters & extParams)51 TessellationShaderTests::TessellationShaderTests(glcts::Context& context, const ExtParameters& extParams)
52 	: TestCaseGroupBase(context, extParams, "tessellation_shader", "EXT_tessellation_shader tests")
53 {
54 	/* No implementation needed */
55 }
56 
57 /**
58  * Initializes test groups for geometry shader tests
59  **/
init(void)60 void TessellationShaderTests::init(void)
61 {
62 	TestCaseGroupBase* vertexGroup = new TestCaseGroupBase(m_context, m_extParams, "vertex", "");
63 	vertexGroup->addChild(new TessellationShaderVertexOrdering(m_context, m_extParams));
64 	vertexGroup->addChild(new TessellationShaderVertexSpacing(m_context, m_extParams));
65 	addChild(vertexGroup);
66 
67 	TestCaseGroupBase* singleGroup = new TestCaseGroupBase(m_context, m_extParams, "single", "");
68 
69 	singleGroup->addChild(new TessellationShaderPropertiesDefaultContextWideValues(m_context, m_extParams));
70 
71 	singleGroup->addChild(new TessellationShadersIsolines(m_context, m_extParams));
72 
73 	singleGroup->addChild(new TessellationShaderProgramInterfaces(m_context, m_extParams));
74 
75 	singleGroup->addChild(new TessellationShaderPropertiesProgramObject(m_context, m_extParams));
76 	singleGroup->addChild(new TessellationShaderXFB(m_context, m_extParams));
77 	singleGroup->addChild(new TessellationShaderMaxPatchVertices(m_context, m_extParams));
78 	singleGroup->addChild(new TessellationShaderPrimitiveCoverage(m_context, m_extParams));
79 	addChild(singleGroup);
80 
81 	addChild(new TessellationShaderQuadsTests(m_context, m_extParams));
82 	addChild(new TessellationShaderTCTETests(m_context, m_extParams));
83 	addChild(new TessellationShaderTessellationTests(m_context, m_extParams));
84 	addChild(new TessellationShaderTrianglesTests(m_context, m_extParams));
85 	addChild(new TessellationShaderPointsTests(m_context, m_extParams));
86 	addChild(new TessellationShaderBarrierTests(m_context, m_extParams));
87 	addChild(new TessellationShaderErrors(m_context, m_extParams));
88 	addChild(new TessellationShaderInvarianceTests(m_context, m_extParams));
89 	addChild(new TesselationShaderWindingTests(m_context, m_extParams));
90 }
91 
92 } // namespace glcts
93