fe763c5eec661c31657331f1563d7135068f785a
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / modules / vulkan / CMakeLists.txt
1 # dEQP-VK
2
3 add_subdirectory(api)
4 add_subdirectory(pipeline)
5 add_subdirectory(binding_model)
6 add_subdirectory(spirv_assembly)
7 add_subdirectory(shaderrender)
8 add_subdirectory(shaderexecutor)
9 add_subdirectory(memory)
10 add_subdirectory(ubo)
11 add_subdirectory(dynamic_state)
12 add_subdirectory(ssbo)
13 add_subdirectory(query_pool)
14 add_subdirectory(conditional_rendering)
15 add_subdirectory(draw)
16 add_subdirectory(device_group)
17 add_subdirectory(compute)
18 add_subdirectory(image)
19 add_subdirectory(wsi)
20 add_subdirectory(sparse_resources)
21 add_subdirectory(tessellation)
22 add_subdirectory(rasterization)
23 add_subdirectory(synchronization)
24 add_subdirectory(clipping)
25 add_subdirectory(fragment_ops)
26 add_subdirectory(geometry)
27 add_subdirectory(texture)
28 add_subdirectory(robustness)
29 add_subdirectory(renderpass)
30 add_subdirectory(multiview)
31 add_subdirectory(subgroups)
32 add_subdirectory(ycbcr)
33 add_subdirectory(protected_memory)
34 add_subdirectory(memory_model)
35 add_subdirectory(transform_feedback)
36 add_subdirectory(util)
37 add_subdirectory(amber)
38 add_subdirectory(imageless_framebuffer)
39 add_subdirectory(descriptor_indexing)
40 add_subdirectory(fragment_shader_interlock)
41 add_subdirectory(modifiers)
42 add_subdirectory(ray_tracing)
43 add_subdirectory(ray_query)
44 add_subdirectory(postmortem)
45 add_subdirectory(fragment_shading_rate)
46 add_subdirectory(reconvergence)
47 add_subdirectory(dynamic_rendering)
48
49
50 include_directories(
51         api
52         pipeline
53         binding_model
54         spirv_assembly
55         shaderrender
56         shaderexecutor
57         memory
58         ubo
59         dynamic_state
60         ssbo
61         query_pool
62         conditional_rendering
63         draw
64         device_group
65         compute
66         image
67         wsi
68         sparse_resources
69         tessellation
70         rasterization
71         synchronization
72         clipping
73         fragment_ops
74         texture
75         geometry
76         robustness
77         renderpass
78         multiview
79         subgroups
80         ycbcr
81         protected_memory
82         memory_model
83         transform_feedback
84         util
85         amber
86         imageless_framebuffer
87         descriptor_indexing
88         fragment_shader_interlock
89         fragment_shading_rate
90         modifiers
91         ray_tracing
92         ray_query
93         postmortem
94         reconvergence
95         dynamic_rendering
96         )
97
98 set(DEQP_VK_SRCS
99         vktTestCaseDefs.hpp
100         vktTestCase.cpp
101         vktTestCase.hpp
102         vktTestCaseUtil.cpp
103         vktTestCaseUtil.hpp
104         vktTestPackage.cpp
105         vktTestPackage.hpp
106         vktShaderLibrary.cpp
107         vktShaderLibrary.hpp
108         vktTestGroupUtil.cpp
109         vktTestGroupUtil.hpp
110         vktInfoTests.cpp
111         vktInfoTests.hpp
112         vktCustomInstancesDevices.cpp
113         vktCustomInstancesDevices.hpp
114         )
115
116 set(DEQP_VK_LIBS
117         tcutil
118         vkutil
119         glutil
120         deqp-vk-api
121         deqp-vk-pipeline
122         deqp-vk-binding-model
123         deqp-vk-spirv-assembly
124         deqp-vk-shaderrender
125         deqp-vk-shaderexecutor
126         deqp-vk-memory
127         deqp-vk-ubo
128         deqp-vk-dynamic-state
129         deqp-vk-ssbo
130         deqp-vk-query-pool
131         deqp-vk-conditional-rendering
132         deqp-vk-draw
133         deqp-vk-device-group
134         deqp-vk-compute
135         deqp-vk-image
136         deqp-vk-wsi
137         deqp-vk-sparse-resources
138         deqp-vk-tessellation
139         deqp-vk-rasterization
140         deqp-vk-synchronization
141         deqp-vk-clipping
142         deqp-vk-fragment-ops
143         deqp-vk-texture
144         deqp-vk-geometry
145         deqp-vk-robustness
146         deqp-vk-render-pass
147         deqp-vk-multiview
148         deqp-vk-subgroups
149         deqp-vk-ycbcr
150         deqp-vk-protected-memory
151         deqp-vk-memory-model
152         deqp-vk-amber
153         deqp-vk-imageless-framebuffer
154         deqp-vk-transform-feedback
155         deqp-vk-descriptor-indexing
156         deqp-vk-fragment-shader-interlock
157         deqp-vk-modifiers
158         deqp-vk-ray-tracing
159         deqp-vk-ray-query
160         deqp-vk-postmortem
161         deqp-vk-fragment-shading-rate
162         deqp-vk-reconvergence
163         deqp-vk-dynamic-rendering
164         )
165
166 if (DE_COMPILER_IS_MSC AND (DE_PTR_SIZE EQUAL 4))
167         set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE")
168 endif ()
169
170 PCH(DEQP_VK_SRCS pch.cpp)
171
172 add_deqp_module(deqp-vk "${DEQP_VK_SRCS}" "${DEQP_VK_LIBS}" vktTestPackageEntry.cpp)
173
174
175 add_data_dir(deqp-vk ../../data/vulkan vulkan)
176 add_data_dir(deqp-vk ../../mustpass/master/vk-default vk-default)
177
178 # add all directories containing android mustpass
179 file(GLOB PATHS_MATCHING_PATTERN ${CMAKE_SOURCE_DIR}/android/cts/master/vk-*/)
180 FOREACH(FOUND_PATH ${PATHS_MATCHING_PATTERN})
181         IF(IS_DIRECTORY ${FOUND_PATH})
182                 SET(LAST_DIRECTORY "")
183                 file(RELATIVE_PATH LAST_DIRECTORY ${CMAKE_SOURCE_DIR}/android/cts/master ${FOUND_PATH})
184                 add_data_dir(deqp-vk ../../../../android/cts/master/${LAST_DIRECTORY} ${LAST_DIRECTORY})
185         ENDIF()
186 ENDFOREACH()
187
188 if (DE_OS_IS_WIN32 OR DE_OS_IS_UNIX OR DE_OS_IS_OSX)
189         add_executable(vk-build-programs vktBuildPrograms.cpp)
190         target_link_libraries(vk-build-programs deqp-vk${MODULE_LIB_TARGET_POSTFIX})
191 endif ()