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 "vktMeshShaderSmokeTestsEXT.hpp" 28 #include "vktMeshShaderSyncTests.hpp" 29 #include "vktMeshShaderSyncTestsEXT.hpp" 30 #include "vktMeshShaderApiTests.hpp" 31 #include "vktMeshShaderApiTestsEXT.hpp" 32 #include "vktMeshShaderPropertyTests.hpp" 33 #include "vktMeshShaderBuiltinTests.hpp" 34 #include "vktMeshShaderBuiltinTestsEXT.hpp" 35 #include "vktMeshShaderMiscTests.hpp" 36 #include "vktMeshShaderMiscTestsEXT.hpp" 37 #include "vktMeshShaderInOutTestsEXT.hpp" 38 #include "vktMeshShaderPropertyTestsEXT.hpp" 39 #include "vktMeshShaderConditionalRenderingTestsEXT.hpp" 40 #include "vktMeshShaderProvokingVertexTestsEXT.hpp" 41 #include "vktMeshShaderQueryTestsEXT.hpp" 42 43 #include "deUniquePtr.hpp" 44 45 namespace vkt 46 { 47 namespace MeshShader 48 { 49 50 namespace 51 { 52 using GroupPtr = de::MovePtr<tcu::TestCaseGroup>; 53 } 54 createTests(tcu::TestContext & testCtx,const std::string & name)55tcu::TestCaseGroup *createTests(tcu::TestContext &testCtx, const std::string &name) 56 { 57 GroupPtr mainGroup(new tcu::TestCaseGroup(testCtx, name.c_str())); 58 // Tests for VK_NV_mesh_shader 59 GroupPtr nvGroup(new tcu::TestCaseGroup(testCtx, "nv")); 60 // Tests for VK_EXT_mesh_shader 61 GroupPtr extGroup(new tcu::TestCaseGroup(testCtx, "ext")); 62 63 nvGroup->addChild(createMeshShaderSmokeTests(testCtx)); 64 nvGroup->addChild(createMeshShaderApiTests(testCtx)); 65 nvGroup->addChild(createMeshShaderSyncTests(testCtx)); 66 nvGroup->addChild(createMeshShaderPropertyTests(testCtx)); 67 nvGroup->addChild(createMeshShaderBuiltinTests(testCtx)); 68 nvGroup->addChild(createMeshShaderMiscTests(testCtx)); 69 nvGroup->addChild(createMeshShaderInOutTests(testCtx)); 70 71 extGroup->addChild(createMeshShaderSmokeTestsEXT(testCtx)); 72 extGroup->addChild(createMeshShaderApiTestsEXT(testCtx)); 73 extGroup->addChild(createMeshShaderSyncTestsEXT(testCtx)); 74 extGroup->addChild(createMeshShaderBuiltinTestsEXT(testCtx)); 75 extGroup->addChild(createMeshShaderMiscTestsEXT(testCtx)); 76 extGroup->addChild(createMeshShaderInOutTestsEXT(testCtx)); 77 extGroup->addChild(createMeshShaderPropertyTestsEXT(testCtx)); 78 extGroup->addChild(createMeshShaderConditionalRenderingTestsEXT(testCtx)); 79 extGroup->addChild(createMeshShaderProvokingVertexTestsEXT(testCtx)); 80 extGroup->addChild(createMeshShaderQueryTestsEXT(testCtx)); 81 82 mainGroup->addChild(nvGroup.release()); 83 mainGroup->addChild(extGroup.release()); 84 return mainGroup.release(); 85 } 86 87 } // namespace MeshShader 88 } // namespace vkt 89