• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# dEQP-VK
2
3set(DEQP_INL_DIR ${PROJECT_BINARY_DIR}/external/vulkancts/framework/vulkan)
4
5add_subdirectory(api)
6add_subdirectory(pipeline)
7add_subdirectory(binding_model)
8add_subdirectory(spirv_assembly)
9add_subdirectory(shaderrender)
10add_subdirectory(shaderexecutor)
11add_subdirectory(memory)
12add_subdirectory(ubo)
13add_subdirectory(dynamic_state)
14add_subdirectory(ssbo)
15add_subdirectory(query_pool)
16add_subdirectory(conditional_rendering)
17add_subdirectory(draw)
18add_subdirectory(device_group)
19add_subdirectory(compute)
20add_subdirectory(image)
21add_subdirectory(wsi)
22add_subdirectory(sparse_resources)
23add_subdirectory(tessellation)
24add_subdirectory(rasterization)
25add_subdirectory(synchronization)
26add_subdirectory(clipping)
27add_subdirectory(fragment_ops)
28add_subdirectory(geometry)
29add_subdirectory(texture)
30add_subdirectory(robustness)
31add_subdirectory(renderpass)
32add_subdirectory(multiview)
33add_subdirectory(subgroups)
34add_subdirectory(ycbcr)
35add_subdirectory(protected_memory)
36add_subdirectory(memory_model)
37add_subdirectory(transform_feedback)
38add_subdirectory(util)
39add_subdirectory(amber)
40add_subdirectory(imageless_framebuffer)
41add_subdirectory(descriptor_indexing)
42add_subdirectory(fragment_shader_interlock)
43add_subdirectory(modifiers)
44add_subdirectory(ray_tracing)
45add_subdirectory(ray_query)
46add_subdirectory(postmortem)
47add_subdirectory(fragment_shading_rate)
48add_subdirectory(reconvergence)
49add_subdirectory(mesh_shader)
50add_subdirectory(fragment_shading_barycentric)
51add_subdirectory(sc)
52add_subdirectory(video)
53
54include_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	video
102	${DEQP_INL_DIR}
103	sc
104	)
105
106set(DEQP_VK_SRCS
107	vktTestCaseDefs.hpp
108	vktTestCase.cpp
109	vktTestCase.hpp
110	vktTestCaseUtil.cpp
111	vktTestCaseUtil.hpp
112	vktTestPackage.cpp
113	vktTestPackage.hpp
114	vktShaderLibrary.cpp
115	vktShaderLibrary.hpp
116	vktTestGroupUtil.cpp
117	vktTestGroupUtil.hpp
118	vktInfoTests.cpp
119	vktInfoTests.hpp
120	vktCustomInstancesDevices.cpp
121	vktCustomInstancesDevices.hpp
122	)
123
124set(DEQP_VK_LIBS
125	tcutil
126	vkutil
127	glutil
128	deqp-vk-api
129	deqp-vk-pipeline
130	deqp-vk-binding-model
131	deqp-vk-spirv-assembly
132	deqp-vk-shaderrender
133	deqp-vk-shaderexecutor
134	deqp-vk-memory
135	deqp-vk-ubo
136	deqp-vk-dynamic-state
137	deqp-vk-ssbo
138	deqp-vk-query-pool
139	deqp-vk-conditional-rendering
140	deqp-vk-draw
141	deqp-vk-device-group
142	deqp-vk-compute
143	deqp-vk-image
144	deqp-vk-wsi
145	deqp-vk-sparse-resources
146	deqp-vk-tessellation
147	deqp-vk-rasterization
148	deqp-vk-synchronization
149	deqp-vk-clipping
150	deqp-vk-fragment-ops
151	deqp-vk-texture
152	deqp-vk-geometry
153	deqp-vk-robustness
154	deqp-vk-render-pass
155	deqp-vk-multiview
156	deqp-vk-subgroups
157	deqp-vk-ycbcr
158	deqp-vk-protected-memory
159	deqp-vk-memory-model
160	deqp-vk-amber
161	deqp-vk-imageless-framebuffer
162	deqp-vk-transform-feedback
163	deqp-vk-descriptor-indexing
164	deqp-vk-fragment-shader-interlock
165	deqp-vk-modifiers
166	deqp-vk-ray-tracing
167	deqp-vk-ray-query
168	deqp-vk-postmortem
169	deqp-vk-fragment-shading-rate
170	deqp-vk-reconvergence
171	deqp-vk-mesh-shader
172	deqp-vk-fragment-shading-barycentric
173	deqp-vk-video
174	)
175
176set(DEQP_VKSC_LIBS
177	tcutil
178	vkscutil
179	glutil
180	deqp-vksc-api
181	deqp-vksc-pipeline
182	deqp-vksc-binding-model
183	deqp-vksc-spirv-assembly
184	deqp-vksc-shaderrender
185	deqp-vksc-shaderexecutor
186	deqp-vksc-memory
187	deqp-vksc-ubo
188	deqp-vksc-dynamic-state
189	deqp-vksc-ssbo
190	deqp-vksc-query-pool
191#x	deqp-vksc-conditional-rendering
192	deqp-vksc-draw
193	deqp-vksc-device-group
194	deqp-vksc-compute
195	deqp-vksc-image
196#x	deqp-vksc-wsi
197#x	deqp-vksc-sparse-resources
198	deqp-vksc-tessellation
199	deqp-vksc-rasterization
200	deqp-vksc-synchronization
201	deqp-vksc-clipping
202	deqp-vksc-fragment-ops
203	deqp-vksc-texture
204	deqp-vksc-geometry
205	deqp-vksc-robustness
206	deqp-vksc-render-pass
207	deqp-vksc-multiview
208	deqp-vksc-subgroups
209	deqp-vksc-ycbcr
210	deqp-vksc-protected-memory
211	deqp-vksc-memory-model
212#x	deqp-vksc-amber
213	deqp-vksc-imageless-framebuffer
214#x	deqp-vksc-transform-feedback
215	deqp-vksc-descriptor-indexing
216	deqp-vksc-fragment-shader-interlock
217#x	deqp-vksc-modifiers
218#x	deqp-vksc-ray-tracing
219#x	deqp-vksc-ray-query
220#x	deqp-vksc-postmortem
221	deqp-vksc-fragment-shading-rate
222	deqp-vksc-sc
223	)
224
225
226if (DE_COMPILER_IS_MSC AND (DE_PTR_SIZE EQUAL 4))
227	set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE")
228endif ()
229
230PCH(DEQP_VK_SRCS pch.cpp)
231
232add_deqp_module(deqp-vk "${DEQP_VK_SRCS}" "${DEQP_VK_LIBS}" "tcutil-platform" vktTestPackageEntry.cpp )
233
234add_deqp_module_skip_android(deqp-vksc "${DEQP_VK_SRCS}" "${DEQP_VKSC_LIBS}" "tcutil-sc-platform" vktTestPackageEntrySC.cpp)
235target_include_directories(deqp-vksc-package BEFORE PUBLIC ${CMAKE_SOURCE_DIR}/external/vulkancts/framework/vulkan/generated/vulkansc)
236if (NOT DE_OS_IS_ANDROID AND NOT DE_OS_IS_IOS)
237	target_include_directories(deqp-vksc BEFORE PUBLIC ${CMAKE_SOURCE_DIR}/external/vulkancts/framework/vulkan/generated/vulkansc)
238endif ()
239
240add_data_dir(deqp-vk ../../data/vulkan vulkan)
241add_data_dir(deqp-vk ../../mustpass/main/vk-default vk-default)
242
243# add all directories containing android mustpass
244file(GLOB PATHS_MATCHING_PATTERN ${CMAKE_SOURCE_DIR}/android/cts/master/vk-*/)
245FOREACH(FOUND_PATH ${PATHS_MATCHING_PATTERN})
246	IF(IS_DIRECTORY ${FOUND_PATH})
247		SET(LAST_DIRECTORY "")
248		file(RELATIVE_PATH LAST_DIRECTORY ${CMAKE_SOURCE_DIR}/android/cts/master ${FOUND_PATH})
249		add_data_dir(deqp-vk ../../../../android/cts/master/${LAST_DIRECTORY} ${LAST_DIRECTORY})
250	ENDIF()
251ENDFOREACH()
252
253set(BINARY_COPY_DIR "./")
254
255# Video parser used in vulkan video won't be part of android target
256if (DE_OS_IS_WIN32)
257	add_data_dir(deqp-vk ../../../video-parser/src/vk_video_decoder/bin/libs/nv_vkvideo_parser/wddm2_amd64_release	${BINARY_COPY_DIR})
258elseif(DE_OS_IS_UNIX)
259	add_data_dir(deqp-vk ../../../video-parser/src/vk_video_decoder/bin/libs/nv_vkvideo_parser/linux_amd64_release	${BINARY_COPY_DIR})
260endif()
261
262if (DE_OS_IS_WIN32 OR DE_OS_IS_UNIX OR DE_OS_IS_OSX)
263	add_executable(vk-build-programs vktBuildPrograms.cpp)
264	target_link_libraries(vk-build-programs deqp-vk${MODULE_LIB_TARGET_POSTFIX})
265endif ()
266