1 /*------------------------------------------------------------------------
2 * Vulkan Conformance Tests
3 * ------------------------
4 *
5 * Copyright (c) 2015 The Khronos Group Inc.
6 * Copyright (c) 2015 Imagination Technologies Ltd.
7 *
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 *
20 *//*!
21 * \file
22 * \brief Pipeline Tests
23 *//*--------------------------------------------------------------------*/
24
25 #include "vktPipelineTests.hpp"
26 #include "vktPipelineStencilTests.hpp"
27 #include "vktPipelineBlendTests.hpp"
28 #include "vktPipelineDepthTests.hpp"
29 #include "vktPipelineDynamicOffsetTests.hpp"
30 #include "vktPipelineEarlyDestroyTests.hpp"
31 #include "vktPipelineLogicOpTests.hpp"
32 #include "vktPipelineImageTests.hpp"
33 #include "vktPipelineInputAssemblyTests.hpp"
34 #include "vktPipelineInterfaceMatchingTests.hpp"
35 #include "vktPipelineSamplerTests.hpp"
36 #include "vktPipelineImageViewTests.hpp"
37 #include "vktPipelinePushConstantTests.hpp"
38 #include "vktPipelinePushDescriptorTests.hpp"
39 #include "vktPipelineSpecConstantTests.hpp"
40 #include "vktPipelineMatchedAttachmentsTests.hpp"
41 #include "vktPipelineMultisampleTests.hpp"
42 #include "vktPipelineMultisampleInterpolationTests.hpp"
43 #include "vktPipelineMultisampleShaderBuiltInTests.hpp"
44 #include "vktPipelineVertexInputTests.hpp"
45 #include "vktPipelineTimestampTests.hpp"
46 #include "vktPipelineCacheTests.hpp"
47 #include "vktPipelineRenderToImageTests.hpp"
48 #include "vktPipelineFramebufferAttachmentTests.hpp"
49 #include "vktPipelineStencilExportTests.hpp"
50 #include "vktPipelineDerivativeTests.hpp"
51 #include "vktPipelineCreationFeedbackTests.hpp"
52 #include "vktPipelineDepthRangeUnrestrictedTests.hpp"
53 #include "vktPipelineExecutablePropertiesTests.hpp"
54 #include "vktPipelineMiscTests.hpp"
55 #include "vktPipelineMaxVaryingsTests.hpp"
56 #include "vktPipelineBlendOperationAdvancedTests.hpp"
57 #include "vktPipelineExtendedDynamicStateTests.hpp"
58 #include "vktPipelineCreationCacheControlTests.hpp"
59 #include "vktPipelineNoPositionTests.hpp"
60 #include "vktPipelineBindPointTests.hpp"
61 #include "vktPipelineColorWriteEnableTests.hpp"
62 #include "vktTestGroupUtil.hpp"
63
64 namespace vkt
65 {
66 namespace pipeline
67 {
68
69 namespace
70 {
71
createChildren(tcu::TestCaseGroup * pipelineTests)72 void createChildren (tcu::TestCaseGroup* pipelineTests)
73 {
74 tcu::TestContext& testCtx = pipelineTests->getTestContext();
75
76 pipelineTests->addChild(createStencilTests (testCtx));
77 pipelineTests->addChild(createBlendTests (testCtx));
78 pipelineTests->addChild(createDepthTests (testCtx));
79 pipelineTests->addChild(createDynamicOffsetTests (testCtx));
80 pipelineTests->addChild(createEarlyDestroyTests (testCtx));
81 pipelineTests->addChild(createImageTests (testCtx));
82 pipelineTests->addChild(createSamplerTests (testCtx));
83 pipelineTests->addChild(createImageViewTests (testCtx));
84 pipelineTests->addChild(createLogicOpTests (testCtx));
85 pipelineTests->addChild(createPushConstantTests (testCtx));
86 pipelineTests->addChild(createPushDescriptorTests (testCtx));
87 pipelineTests->addChild(createSpecConstantTests (testCtx));
88 pipelineTests->addChild(createMatchedAttachmentsTests (testCtx));
89 pipelineTests->addChild(createMultisampleTests (testCtx, false));
90 pipelineTests->addChild(createMultisampleTests (testCtx, true));
91 pipelineTests->addChild(createMultisampleInterpolationTests (testCtx));
92 pipelineTests->addChild(createMultisampleShaderBuiltInTests (testCtx));
93 pipelineTests->addChild(createTestGroup (testCtx, "vertex_input", "", createVertexInputTests));
94 pipelineTests->addChild(createInputAssemblyTests (testCtx));
95 pipelineTests->addChild(createInterfaceMatchingTests (testCtx));
96 pipelineTests->addChild(createTimestampTests (testCtx));
97 pipelineTests->addChild(createCacheTests (testCtx));
98 pipelineTests->addChild(createRenderToImageTests (testCtx));
99 pipelineTests->addChild(createFramebufferAttachmentTests (testCtx));
100 pipelineTests->addChild(createStencilExportTests (testCtx));
101 pipelineTests->addChild(createDerivativeTests (testCtx));
102 pipelineTests->addChild(createCreationFeedbackTests (testCtx));
103 pipelineTests->addChild(createDepthRangeUnrestrictedTests (testCtx));
104 pipelineTests->addChild(createExecutablePropertiesTests (testCtx));
105 pipelineTests->addChild(createMiscTests (testCtx));
106 pipelineTests->addChild(createMaxVaryingsTests (testCtx));
107 pipelineTests->addChild(createBlendOperationAdvancedTests (testCtx));
108 pipelineTests->addChild(createExtendedDynamicStateTests (testCtx));
109 pipelineTests->addChild(createCacheControlTests (testCtx));
110 pipelineTests->addChild(createNoPositionTests (testCtx));
111 pipelineTests->addChild(createBindPointTests (testCtx));
112 pipelineTests->addChild(createColorWriteEnableTests (testCtx));
113 }
114
115 } // anonymous
116
createTests(tcu::TestContext & testCtx)117 tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx)
118 {
119 return createTestGroup(testCtx, "pipeline", "Pipeline Tests", createChildren);
120 }
121
122 } // pipeline
123 } // vkt
124