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 "vktSparseResourcesTransferQueueTests.hpp"
35 #include "deUniquePtr.hpp"
36 
37 namespace vkt
38 {
39 namespace sparse
40 {
41 
createTests(tcu::TestContext & testCtx,const std::string & name)42 tcu::TestCaseGroup *createTests(tcu::TestContext &testCtx, const std::string &name)
43 {
44     de::MovePtr<tcu::TestCaseGroup> sparseTests(new tcu::TestCaseGroup(testCtx, name.c_str()));
45 
46     sparseTests->addChild(createSparseBufferTests(testCtx));
47     sparseTests->addChild(createImageSparseBindingTests(testCtx));
48     sparseTests->addChild(createDeviceGroupImageSparseBindingTests(testCtx));
49     sparseTests->addChild(createImageSparseResidencyTests(testCtx));
50     sparseTests->addChild(createImageAlignedMipSizeTests(testCtx));
51     sparseTests->addChild(createImageBlockShapesTests(testCtx));
52     sparseTests->addChild(createDeviceGroupImageSparseResidencyTests(testCtx));
53     sparseTests->addChild(createMipmapSparseResidencyTests(testCtx));
54     sparseTests->addChild(createDeviceGroupMipmapSparseResidencyTests(testCtx));
55     sparseTests->addChild(createImageSparseMemoryAliasingTests(testCtx));
56     sparseTests->addChild(createDeviceGroupImageSparseMemoryAliasingTests(testCtx));
57     sparseTests->addChild(createSparseResourcesShaderIntrinsicsTests(testCtx));
58     sparseTests->addChild(createQueueBindSparseTests(testCtx));
59     sparseTests->addChild(createTransferQueueTests(testCtx));
60 
61     return sparseTests.release();
62 }
63 
64 } // namespace sparse
65 } // namespace vkt
66