xref: /aosp_15_r20/external/deqp/external/vulkancts/modules/vulkan/shader_object/vktShaderObjectTests.cpp (revision 35238bce31c2a825756842865a792f8cf7f89930)
1 /*-------------------------------------------------------------------------
2  * Vulkan Conformance Tests
3  * ------------------------
4  *
5  * Copyright (c) 2023 LunarG, Inc.
6  * Copyright (c) 2023 Nintendo
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 Shader Object Tests
23  *//*--------------------------------------------------------------------*/
24 
25 #include "deUniquePtr.hpp"
26 #include "vktShaderObjectApiTests.hpp"
27 #include "vktShaderObjectCreateTests.hpp"
28 #include "vktShaderObjectLinkTests.hpp"
29 #include "vktShaderObjectBinaryTests.hpp"
30 #include "vktShaderObjectPipelineInteractionTests.hpp"
31 #include "vktShaderObjectBindingTests.hpp"
32 #include "vktShaderObjectPerformanceTests.hpp"
33 #include "vktShaderObjectRenderingTests.hpp"
34 #include "vktShaderObjectMiscTests.hpp"
35 
36 namespace vkt
37 {
38 namespace ShaderObject
39 {
40 
41 namespace
42 {
43 using GroupPtr = de::MovePtr<tcu::TestCaseGroup>;
44 }
45 
createTests(tcu::TestContext & testCtx,const std::string & name)46 tcu::TestCaseGroup *createTests(tcu::TestContext &testCtx, const std::string &name)
47 {
48     GroupPtr mainGroup(new tcu::TestCaseGroup(testCtx, name.c_str()));
49 
50     mainGroup->addChild(createShaderObjectApiTests(testCtx));
51     mainGroup->addChild(createShaderObjectCreateTests(testCtx));
52     mainGroup->addChild(createShaderObjectLinkTests(testCtx));
53     mainGroup->addChild(createShaderObjectBinaryTests(testCtx));
54     mainGroup->addChild(createShaderObjectPipelineInteractionTests(testCtx));
55     mainGroup->addChild(createShaderObjectBindingTests(testCtx));
56     mainGroup->addChild(createShaderObjectPerformanceTests(testCtx));
57     mainGroup->addChild(createShaderObjectRenderingTests(testCtx));
58     mainGroup->addChild(createShaderObjectMiscTests(testCtx));
59 
60     return mainGroup.release();
61 }
62 
63 } // namespace ShaderObject
64 } // namespace vkt
65