1 /*-------------------------------------------------------------------------
2 * Vulkan Conformance Tests
3 * ------------------------
4 *
5 * Copyright (c) 2015 Google 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 API Tests
22 *//*--------------------------------------------------------------------*/
23
24 #include "vktApiTests.hpp"
25
26 #include "vktTestGroupUtil.hpp"
27 #include "vktApiDeviceInitializationTests.hpp"
28 #include "vktApiDriverPropertiesTests.hpp"
29 #include "vktApiObjectManagementTests.hpp"
30 #include "vktApiBufferTests.hpp"
31 #include "vktApiBufferViewCreateTests.hpp"
32 #include "vktApiBufferViewAccessTests.hpp"
33 #include "vktApiFeatureInfo.hpp"
34 #include "vktApiCommandBuffersTests.hpp"
35 #include "vktApiCopiesAndBlittingTests.hpp"
36 #include "vktApiImageClearingTests.hpp"
37 #include "vktApiFillBufferTests.hpp"
38 #include "vktApiDescriptorPoolTests.hpp"
39 #include "vktApiNullHandleTests.hpp"
40 #include "vktApiGranularityTests.hpp"
41 #include "vktApiGetMemoryCommitment.hpp"
42 #include "vktApiVersionCheck.hpp"
43 #include "vktApiMaintenance3Check.hpp"
44 #include "vktApiDescriptorSetTests.hpp"
45 #include "vktApiPipelineTests.hpp"
46 #include "vktApiMemoryRequirementInvarianceTests.hpp"
47 #include "vktApiBufferMemoryRequirementsTests.hpp"
48 #include "vktApiGetDeviceProcAddrTests.hpp"
49 #include "vktApiMaintenance6Check.hpp"
50 #include "vktApiExtensionDuplicatesTests.hpp"
51
52 #ifndef CTS_USES_VULKANSC
53 #include "vktApiSmokeTests.hpp"
54 #include "vktApiBufferMarkerTests.hpp"
55 #include "vktApiDeviceDrmPropertiesTests.hpp"
56 #include "vktApiExternalMemoryTests.hpp"
57 #include "vktApiToolingInfoTests.hpp"
58 #include "vktApiFormatPropertiesExtendedKHRtests.hpp"
59 #include "vktApiImageCompressionControlTests.hpp"
60 #include "vktApiFrameBoundaryTests.hpp"
61 #include "vktApiPhysicalDeviceFormatPropertiesMaint5Tests.hpp"
62 #endif // CTS_USES_VULKANSC
63
64 namespace vkt
65 {
66 namespace api
67 {
68
69 namespace
70 {
71
createBufferViewTests(tcu::TestCaseGroup * bufferViewTests)72 void createBufferViewTests(tcu::TestCaseGroup *bufferViewTests)
73 {
74 tcu::TestContext &testCtx = bufferViewTests->getTestContext();
75
76 bufferViewTests->addChild(createBufferViewCreateTests(testCtx));
77 bufferViewTests->addChild(createBufferViewAccessTests(testCtx));
78 }
79
createApiTests(tcu::TestCaseGroup * apiTests)80 void createApiTests(tcu::TestCaseGroup *apiTests)
81 {
82 tcu::TestContext &testCtx = apiTests->getTestContext();
83
84 apiTests->addChild(createVersionSanityCheckTests(testCtx));
85 apiTests->addChild(createDriverPropertiesTests(testCtx));
86 #ifndef CTS_USES_VULKANSC
87 apiTests->addChild(createSmokeTests(testCtx));
88 #endif // CTS_USES_VULKANSC
89 apiTests->addChild(api::createFeatureInfoTests(testCtx));
90 #ifndef CTS_USES_VULKANSC
91 apiTests->addChild(createDeviceDrmPropertiesTests(testCtx));
92 #endif // CTS_USES_VULKANSC
93 apiTests->addChild(createDeviceInitializationTests(testCtx));
94 apiTests->addChild(createObjectManagementTests(testCtx));
95 apiTests->addChild(createBufferTests(testCtx));
96 #ifndef CTS_USES_VULKANSC
97 apiTests->addChild(createBufferMarkerTests(testCtx));
98 #endif // CTS_USES_VULKANSC
99 apiTests->addChild(createTestGroup(testCtx, "buffer_view", createBufferViewTests));
100 apiTests->addChild(createCommandBuffersTests(testCtx));
101 apiTests->addChild(createCopiesAndBlittingTests(testCtx));
102 apiTests->addChild(createImageClearingTests(testCtx));
103 apiTests->addChild(createFillAndUpdateBufferTests(testCtx));
104 apiTests->addChild(createDescriptorPoolTests(testCtx));
105 apiTests->addChild(createNullHandleTests(testCtx));
106 apiTests->addChild(createGranularityQueryTests(testCtx));
107 apiTests->addChild(createMemoryCommitmentTests(testCtx));
108 #ifndef CTS_USES_VULKANSC
109 apiTests->addChild(createExternalMemoryTests(testCtx));
110 #endif // CTS_USES_VULKANSC
111 apiTests->addChild(createMaintenance3Tests(testCtx));
112 apiTests->addChild(createDescriptorSetTests(testCtx));
113 apiTests->addChild(createPipelineTests(testCtx));
114 apiTests->addChild(createMemoryRequirementInvarianceTests(testCtx));
115 #ifndef CTS_USES_VULKANSC
116 apiTests->addChild(createToolingInfoTests(testCtx));
117 apiTests->addChild(createFormatPropertiesExtendedKHRTests(testCtx));
118 #endif // CTS_USES_VULKANSC
119 apiTests->addChild(createBufferMemoryRequirementsTests(testCtx));
120 #ifndef CTS_USES_VULKANSC
121 apiTests->addChild(createImageCompressionControlTests(testCtx));
122 apiTests->addChild(createGetDeviceProcAddrTests(testCtx));
123 apiTests->addChild(createMaintenance6Tests(testCtx));
124 apiTests->addChild(createFrameBoundaryTests(testCtx));
125 apiTests->addChild(createMaintenance5Tests(testCtx));
126 #endif
127 apiTests->addChild(createExtensionDuplicatesTests(testCtx));
128 }
129
130 } // namespace
131
createTests(tcu::TestContext & testCtx,const std::string & name)132 tcu::TestCaseGroup *createTests(tcu::TestContext &testCtx, const std::string &name)
133 {
134 return createTestGroup(testCtx, name, createApiTests);
135 }
136
137 } // namespace api
138 } // namespace vkt
139