Merge vk-gl-cts/dev/VK_KHR_fragment_shader_barycentric into vk-gl-cts/main
[platform/upstream/VK-GL-CTS.git] / external / vulkancts / modules / vulkan / CMakeLists.txt
1 # dEQP-VK
2
3 set(DEQP_INL_DIR ${PROJECT_BINARY_DIR}/external/vulkancts/framework/vulkan)
4
5 add_subdirectory(api)
6 add_subdirectory(pipeline)
7 add_subdirectory(binding_model)
8 add_subdirectory(spirv_assembly)
9 add_subdirectory(shaderrender)
10 add_subdirectory(shaderexecutor)
11 add_subdirectory(memory)
12 add_subdirectory(ubo)
13 add_subdirectory(dynamic_state)
14 add_subdirectory(ssbo)
15 add_subdirectory(query_pool)
16 add_subdirectory(conditional_rendering)
17 add_subdirectory(draw)
18 add_subdirectory(device_group)
19 add_subdirectory(compute)
20 add_subdirectory(image)
21 add_subdirectory(wsi)
22 add_subdirectory(sparse_resources)
23 add_subdirectory(tessellation)
24 add_subdirectory(rasterization)
25 add_subdirectory(synchronization)
26 add_subdirectory(clipping)
27 add_subdirectory(fragment_ops)
28 add_subdirectory(geometry)
29 add_subdirectory(texture)
30 add_subdirectory(robustness)
31 add_subdirectory(renderpass)
32 add_subdirectory(multiview)
33 add_subdirectory(subgroups)
34 add_subdirectory(ycbcr)
35 add_subdirectory(protected_memory)
36 add_subdirectory(memory_model)
37 add_subdirectory(transform_feedback)
38 add_subdirectory(util)
39 add_subdirectory(amber)
40 add_subdirectory(imageless_framebuffer)
41 add_subdirectory(descriptor_indexing)
42 add_subdirectory(fragment_shader_interlock)
43 add_subdirectory(modifiers)
44 add_subdirectory(ray_tracing)
45 add_subdirectory(ray_query)
46 add_subdirectory(postmortem)
47 add_subdirectory(fragment_shading_rate)
48 add_subdirectory(reconvergence)
49 add_subdirectory(mesh_shader)
50 add_subdirectory(fragment_shading_barycentric)
51 add_subdirectory(sc)
52
53
54 include_directories(
55         api
56         pipeline
57         binding_model
58         spirv_assembly
59         shaderrender
60         shaderexecutor
61         memory
62         ubo
63         dynamic_state
64         ssbo
65         query_pool
66         conditional_rendering
67         draw
68         device_group
69         compute
70         image
71         wsi
72         sparse_resources
73         tessellation
74         rasterization
75         synchronization
76         clipping
77         fragment_ops
78         texture
79         geometry
80         robustness
81         renderpass
82         multiview
83         subgroups
84         ycbcr
85         protected_memory
86         memory_model
87         transform_feedback
88         util
89         amber
90         imageless_framebuffer
91         descriptor_indexing
92         fragment_shader_interlock
93         fragment_shading_rate
94         modifiers
95         ray_tracing
96         ray_query
97         postmortem
98         reconvergence
99         mesh_shader
100         fragment_shading_barycentric
101         ${DEQP_INL_DIR}
102         sc
103         )
104
105 set(DEQP_VK_SRCS
106         vktTestCaseDefs.hpp
107         vktTestCase.cpp
108         vktTestCase.hpp
109         vktTestCaseUtil.cpp
110         vktTestCaseUtil.hpp
111         vktTestPackage.cpp
112         vktTestPackage.hpp
113         vktShaderLibrary.cpp
114         vktShaderLibrary.hpp
115         vktTestGroupUtil.cpp
116         vktTestGroupUtil.hpp
117         vktInfoTests.cpp
118         vktInfoTests.hpp
119         vktCustomInstancesDevices.cpp
120         vktCustomInstancesDevices.hpp
121         )
122
123 set(DEQP_VK_LIBS
124         tcutil
125         vkutil
126         glutil
127         deqp-vk-api
128         deqp-vk-pipeline
129         deqp-vk-binding-model
130         deqp-vk-spirv-assembly
131         deqp-vk-shaderrender
132         deqp-vk-shaderexecutor
133         deqp-vk-memory
134         deqp-vk-ubo
135         deqp-vk-dynamic-state
136         deqp-vk-ssbo
137         deqp-vk-query-pool
138         deqp-vk-conditional-rendering
139         deqp-vk-draw
140         deqp-vk-device-group
141         deqp-vk-compute
142         deqp-vk-image
143         deqp-vk-wsi
144         deqp-vk-sparse-resources
145         deqp-vk-tessellation
146         deqp-vk-rasterization
147         deqp-vk-synchronization
148         deqp-vk-clipping
149         deqp-vk-fragment-ops
150         deqp-vk-texture
151         deqp-vk-geometry
152         deqp-vk-robustness
153         deqp-vk-render-pass
154         deqp-vk-multiview
155         deqp-vk-subgroups
156         deqp-vk-ycbcr
157         deqp-vk-protected-memory
158         deqp-vk-memory-model
159         deqp-vk-amber
160         deqp-vk-imageless-framebuffer
161         deqp-vk-transform-feedback
162         deqp-vk-descriptor-indexing
163         deqp-vk-fragment-shader-interlock
164         deqp-vk-modifiers
165         deqp-vk-ray-tracing
166         deqp-vk-ray-query
167         deqp-vk-postmortem
168         deqp-vk-fragment-shading-rate
169         deqp-vk-reconvergence
170         deqp-vk-mesh-shader
171         deqp-vk-fragment-shading-barycentric
172         )
173
174
175 set(DEQP_VKSC_LIBS
176         tcutil
177         vkscutil
178         glutil
179         deqp-vksc-api
180         deqp-vksc-pipeline
181         deqp-vksc-binding-model
182         deqp-vksc-spirv-assembly
183         deqp-vksc-shaderrender
184         deqp-vksc-shaderexecutor
185         deqp-vksc-memory
186         deqp-vksc-ubo
187         deqp-vksc-dynamic-state
188         deqp-vksc-ssbo
189         deqp-vksc-query-pool
190 #x      deqp-vksc-conditional-rendering
191         deqp-vksc-draw
192         deqp-vksc-device-group
193         deqp-vksc-compute
194         deqp-vksc-image
195 #x      deqp-vksc-wsi
196 #x      deqp-vksc-sparse-resources
197         deqp-vksc-tessellation
198         deqp-vksc-rasterization
199         deqp-vksc-synchronization
200         deqp-vksc-clipping
201         deqp-vksc-fragment-ops
202         deqp-vksc-texture
203         deqp-vksc-geometry
204         deqp-vksc-robustness
205         deqp-vksc-render-pass
206         deqp-vksc-multiview
207         deqp-vksc-subgroups
208         deqp-vksc-ycbcr
209         deqp-vksc-protected-memory
210         deqp-vksc-memory-model
211 #x      deqp-vksc-amber
212         deqp-vksc-imageless-framebuffer
213 #x      deqp-vksc-transform-feedback
214         deqp-vksc-descriptor-indexing
215         deqp-vksc-fragment-shader-interlock
216 #x      deqp-vksc-modifiers
217 #x      deqp-vksc-ray-tracing
218 #x      deqp-vksc-ray-query
219 #x      deqp-vksc-postmortem
220         deqp-vksc-fragment-shading-rate
221         deqp-vksc-sc
222         )
223
224
225 if (DE_COMPILER_IS_MSC AND (DE_PTR_SIZE EQUAL 4))
226         set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE")
227 endif ()
228
229 PCH(DEQP_VK_SRCS pch.cpp)
230
231 add_deqp_module(deqp-vk "${DEQP_VK_SRCS}" "${DEQP_VK_LIBS}" "tcutil-platform" vktTestPackageEntry.cpp )
232
233 add_deqp_module_skip_android(deqp-vksc "${DEQP_VK_SRCS}" "${DEQP_VKSC_LIBS}" "tcutil-sc-platform" vktTestPackageEntrySC.cpp)
234 target_include_directories(deqp-vksc-package BEFORE PUBLIC ${CMAKE_SOURCE_DIR}/external/vulkancts/framework/vulkan/generated/vulkansc)
235 if (NOT DE_OS_IS_ANDROID AND NOT DE_OS_IS_IOS)
236         target_include_directories(deqp-vksc BEFORE PUBLIC ${CMAKE_SOURCE_DIR}/external/vulkancts/framework/vulkan/generated/vulkansc)
237 endif ()
238
239 add_data_dir(deqp-vk ../../data/vulkan vulkan)
240 add_data_dir(deqp-vk ../../mustpass/main/vk-default vk-default)
241
242 # add all directories containing android mustpass
243 file(GLOB PATHS_MATCHING_PATTERN ${CMAKE_SOURCE_DIR}/android/cts/master/vk-*/)
244 FOREACH(FOUND_PATH ${PATHS_MATCHING_PATTERN})
245         IF(IS_DIRECTORY ${FOUND_PATH})
246                 SET(LAST_DIRECTORY "")
247                 file(RELATIVE_PATH LAST_DIRECTORY ${CMAKE_SOURCE_DIR}/android/cts/master ${FOUND_PATH})
248                 add_data_dir(deqp-vk ../../../../android/cts/master/${LAST_DIRECTORY} ${LAST_DIRECTORY})
249         ENDIF()
250 ENDFOREACH()
251
252 if (DE_OS_IS_WIN32 OR DE_OS_IS_UNIX OR DE_OS_IS_OSX)
253         add_executable(vk-build-programs vktBuildPrograms.cpp)
254         target_link_libraries(vk-build-programs deqp-vk${MODULE_LIB_TARGET_POSTFIX})
255 endif ()