1/*------------------------------------------------------------------------
2 * Vulkan Conformance Tests
3 * ------------------------
4 *
5 * Copyright (c) 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  vktSparseResourcesTests.cpp
21 * \brief Sparse Resources Tests
22 *//*--------------------------------------------------------------------*/
23
24#include "vktSparseResourcesTests.hpp"
25#include "vktSparseResourcesImageSparseBinding.hpp"
26#include "vktSparseResourcesImageSparseResidency.hpp"
27#include "vktSparseResourcesImageAlignedMipSize.hpp"
28#include "vktSparseResourcesImageBlockShapes.hpp"
29#include "vktSparseResourcesMipmapSparseResidency.hpp"
30#include "vktSparseResourcesImageMemoryAliasing.hpp"
31#include "vktSparseResourcesShaderIntrinsics.hpp"
32#include "vktSparseResourcesQueueBindSparseTests.hpp"
33#include "vktSparseResourcesBufferTests.hpp"
34#include "deUniquePtr.hpp"
35
36namespace vkt
37{
38namespace sparse
39{
40
41tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx, const std::string& name)
42{
43	de::MovePtr<tcu::TestCaseGroup> sparseTests (new tcu::TestCaseGroup(testCtx, name.c_str()));
44
45	sparseTests->addChild(createSparseBufferTests							(testCtx));
46	sparseTests->addChild(createImageSparseBindingTests						(testCtx));
47	sparseTests->addChild(createDeviceGroupImageSparseBindingTests			(testCtx));
48	sparseTests->addChild(createImageSparseResidencyTests					(testCtx));
49	sparseTests->addChild(createImageAlignedMipSizeTests					(testCtx));
50	sparseTests->addChild(createImageBlockShapesTests						(testCtx));
51	sparseTests->addChild(createDeviceGroupImageSparseResidencyTests		(testCtx));
52	sparseTests->addChild(createMipmapSparseResidencyTests					(testCtx));
53	sparseTests->addChild(createDeviceGroupMipmapSparseResidencyTests		(testCtx));
54	sparseTests->addChild(createImageSparseMemoryAliasingTests				(testCtx));
55	sparseTests->addChild(createDeviceGroupImageSparseMemoryAliasingTests	(testCtx));
56	sparseTests->addChild(createSparseResourcesShaderIntrinsicsTests		(testCtx));
57	sparseTests->addChild(createQueueBindSparseTests						(testCtx));
58
59	return sparseTests.release();
60}
61
62} // sparse
63} // vkt
64