1 /*------------------------------------------------------------------------- 2 * Vulkan Conformance Tests 3 * ------------------------ 4 * 5 * Copyright (c) 2021 The Khronos Group Inc. 6 * Copyright (c) 2021 Valve Corporation. 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 Mesh Shader Tests 23 *//*--------------------------------------------------------------------*/ 24 25 #include "vktMeshShaderTests.hpp" 26 #include "vktMeshShaderSmokeTests.hpp" 27 #include "vktMeshShaderSyncTests.hpp" 28 #include "vktMeshShaderApiTests.hpp" 29 #include "vktMeshShaderPropertyTests.hpp" 30 #include "vktMeshShaderBuiltinTests.hpp" 31 #include "vktMeshShaderMiscTests.hpp" 32 33 #include "deUniquePtr.hpp" 34 35 namespace vkt 36 { 37 namespace MeshShader 38 { 39 40 namespace 41 { 42 using GroupPtr = de::MovePtr<tcu::TestCaseGroup>; 43 } 44 createTests(tcu::TestContext & testCtx)45tcu::TestCaseGroup* createTests (tcu::TestContext& testCtx) 46 { 47 GroupPtr mainGroup (new tcu::TestCaseGroup(testCtx, "mesh_shader", "Mesh Shader Tests")); 48 GroupPtr nvGroup (new tcu::TestCaseGroup(testCtx, "nv", "Tests for VK_NV_mesh_shader")); 49 50 nvGroup->addChild(createMeshShaderSmokeTests(testCtx)); 51 nvGroup->addChild(createMeshShaderApiTests(testCtx)); 52 nvGroup->addChild(createMeshShaderSyncTests(testCtx)); 53 nvGroup->addChild(createMeshShaderPropertyTests(testCtx)); 54 nvGroup->addChild(createMeshShaderBuiltinTests(testCtx)); 55 nvGroup->addChild(createMeshShaderMiscTests(testCtx)); 56 57 mainGroup->addChild(nvGroup.release()); 58 return mainGroup.release(); 59 } 60 61 } // MeshShader 62 } // vkt 63