xref: /aosp_15_r20/external/deqp/external/vulkancts/modules/vulkan/ray_tracing/vktRayTracingTests.cpp (revision 35238bce31c2a825756842865a792f8cf7f89930)
1 /*------------------------------------------------------------------------
2  * Vulkan Conformance Tests
3  * ------------------------
4  *
5  * Copyright (c) 2019 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
21  * \brief Ray Tracing tests
22  *//*--------------------------------------------------------------------*/
23 
24 #include "vktRayTracingTests.hpp"
25 #include "vktRayTracingBuiltinTests.hpp"
26 #include "vktRayTracingBuildLargeTests.hpp"
27 #include "vktRayTracingBuildTests.hpp"
28 #include "vktRayTracingCallableShadersTests.hpp"
29 #include "vktRayTracingTraceRaysTests.hpp"
30 #include "vktRayTracingShaderBindingTableTests.hpp"
31 #include "vktRayTracingTraversalControlTests.hpp"
32 #include "vktRayTracingAccelerationStructuresTests.hpp"
33 #include "vktRayTracingProceduralGeometryTests.hpp"
34 #include "vktRayTracingBuildIndirectTests.hpp"
35 #include "vktRayTracingWatertightnessTests.hpp"
36 #include "vktRayTracingPipelineLibraryTests.hpp"
37 #include "vktRayTracingMemGuaranteeTests.hpp"
38 #include "vktRayTracingNullASTests.hpp"
39 #include "vktRayTracingCaptureReplayTests.hpp"
40 #include "vktRayTracingMiscTests.hpp"
41 #include "vktRayTracingComplexControlFlowTests.hpp"
42 #include "vktRayTracingBarrierTests.hpp"
43 #include "vktRayTracingDataSpillTests.hpp"
44 #include "vktRayTracingDirectionTests.hpp"
45 #include "vktRayTracingBarycentricCoordinatesTests.hpp"
46 #include "vktRayTracingNonUniformArgsTests.hpp"
47 #include "vktRayTracingPipelineFlagsTests.hpp"
48 #include "vktRayTracingOpacityMicromapTests.hpp"
49 #include "vktRayTracingPositionFetchTests.hpp"
50 
51 #include "deUniquePtr.hpp"
52 
53 #include "tcuTestCase.hpp"
54 
55 namespace vkt
56 {
57 namespace RayTracing
58 {
59 
createTests(tcu::TestContext & testCtx,const std::string & name)60 tcu::TestCaseGroup *createTests(tcu::TestContext &testCtx, const std::string &name)
61 {
62     de::MovePtr<tcu::TestCaseGroup> group(new tcu::TestCaseGroup(testCtx, name.c_str()));
63 
64     group->addChild(createBuiltinTests(testCtx));
65     group->addChild(createSpecConstantTests(testCtx));
66     group->addChild(createBuildLargeShaderSetTests(testCtx));
67     group->addChild(createBuildTests(testCtx));
68     group->addChild(createCallableShadersTests(testCtx));
69     group->addChild(createTraceRaysTests(testCtx));
70     group->addChild(createTraceRaysMaintenance1Tests(testCtx));
71     group->addChild(createShaderBindingTableTests(testCtx));
72     group->addChild(createTraversalControlTests(testCtx));
73     group->addChild(createAccelerationStructuresTests(testCtx));
74     group->addChild(createProceduralGeometryTests(testCtx));
75     group->addChild(createBuildIndirectTests(testCtx));
76     group->addChild(createWatertightnessTests(testCtx));
77     group->addChild(createPipelineLibraryTests(testCtx));
78     group->addChild(createMemGuaranteeTests(testCtx));
79     group->addChild(createNullAccelerationStructureTests(testCtx));
80     group->addChild(createCaptureReplayTests(testCtx));
81     group->addChild(createMiscTests(testCtx));
82     group->addChild(createComplexControlFlowTests(testCtx));
83     group->addChild(createBarrierTests(testCtx));
84     group->addChild(createDataSpillTests(testCtx));
85     group->addChild(createDirectionLengthTests(testCtx));
86     group->addChild(createInsideAABBsTests(testCtx));
87     group->addChild(createBarycentricCoordinatesTests(testCtx));
88     group->addChild(createNonUniformArgsTests(testCtx));
89     group->addChild(createPipelineFlagsTests(testCtx));
90     group->addChild(createTraceRays2Tests(testCtx));
91     group->addChild(createOpacityMicromapTests(testCtx));
92     group->addChild(createPositionFetchTests(testCtx));
93 
94     return group.release();
95 }
96 
97 } // namespace RayTracing
98 } // namespace vkt
99