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 "vktPipelineImageTests.hpp"
30#include "vktPipelineInputAssemblyTests.hpp"
31#include "vktPipelineSamplerTests.hpp"
32#include "vktPipelineImageViewTests.hpp"
33#include "vktPipelinePushConstantTests.hpp"
34#include "vktPipelineSpecConstantTests.hpp"
35#include "vktPipelineMultisampleTests.hpp"
36#include "vktPipelineMultisampleInterpolationTests.hpp"
37#include "vktPipelineMultisampleShaderBuiltInTests.hpp"
38#include "vktPipelineVertexInputTests.hpp"
39#include "vktPipelineTimestampTests.hpp"
40#include "vktPipelineCacheTests.hpp"
41#include "vktPipelineRenderToImageTests.hpp"
42#include "vktPipelineFramebufferAttachmentTests.hpp"
43#include "vktTestGroupUtil.hpp"
44
45namespace vkt
46{
47namespace pipeline
48{
49
50namespace
51{
52
53void createChildren (tcu::TestCaseGroup* pipelineTests)
54{
55	tcu::TestContext&	testCtx	= pipelineTests->getTestContext();
56
57	pipelineTests->addChild(createStencilTests					(testCtx));
58	pipelineTests->addChild(createBlendTests					(testCtx));
59	pipelineTests->addChild(createDepthTests					(testCtx));
60	pipelineTests->addChild(createImageTests					(testCtx));
61	pipelineTests->addChild(createSamplerTests					(testCtx));
62	pipelineTests->addChild(createImageViewTests				(testCtx));
63	pipelineTests->addChild(createPushConstantTests				(testCtx));
64	pipelineTests->addChild(createSpecConstantTests				(testCtx));
65	pipelineTests->addChild(createMultisampleTests				(testCtx));
66	pipelineTests->addChild(createMultisampleInterpolationTests	(testCtx));
67	pipelineTests->addChild(createMultisampleShaderBuiltInTests	(testCtx));
68	pipelineTests->addChild(createTestGroup						(testCtx,	"vertex_input", "", createVertexInputTests));
69	pipelineTests->addChild(createInputAssemblyTests			(testCtx));
70	pipelineTests->addChild(createTimestampTests				(testCtx));
71	pipelineTests->addChild(createCacheTests					(testCtx));
72	pipelineTests->addChild(createRenderToImageTests			(testCtx));
73	pipelineTests->addChild(createFramebufferAttachmentTests	(testCtx));
74}
75
76} // anonymous
77
78tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx)
79{
80	return createTestGroup(testCtx, "pipeline", "Pipeline Tests", createChildren);
81}
82
83} // pipeline
84} // vkt
85