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) 53add_subdirectory(shader_object) 54 55include_directories( 56 api 57 pipeline 58 binding_model 59 spirv_assembly 60 shaderrender 61 shaderexecutor 62 memory 63 ubo 64 dynamic_state 65 ssbo 66 query_pool 67 conditional_rendering 68 draw 69 device_group 70 compute 71 image 72 wsi 73 sparse_resources 74 tessellation 75 rasterization 76 synchronization 77 clipping 78 fragment_ops 79 texture 80 geometry 81 robustness 82 renderpass 83 multiview 84 subgroups 85 ycbcr 86 protected_memory 87 memory_model 88 transform_feedback 89 util 90 amber 91 imageless_framebuffer 92 descriptor_indexing 93 fragment_shader_interlock 94 fragment_shading_rate 95 modifiers 96 ray_tracing 97 ray_query 98 postmortem 99 reconvergence 100 mesh_shader 101 fragment_shading_barycentric 102 video 103 ${DEQP_INL_DIR} 104 sc 105 video 106 shader_object 107 ) 108 109set(DEQP_VK_SRCS 110 vktTestCaseDefs.hpp 111 vktTestCase.cpp 112 vktTestCase.hpp 113 vktTestCaseUtil.cpp 114 vktTestCaseUtil.hpp 115 vktTestPackage.cpp 116 vktTestPackage.hpp 117 vktShaderLibrary.cpp 118 vktShaderLibrary.hpp 119 vktTestGroupUtil.cpp 120 vktTestGroupUtil.hpp 121 vktInfoTests.cpp 122 vktInfoTests.hpp 123 vktCustomInstancesDevices.cpp 124 vktCustomInstancesDevices.hpp 125 ) 126 127set(DEQP_VK_LIBS 128 tcutil 129 vkutil 130 glutil 131 deqp-vk-api 132 deqp-vk-pipeline 133 deqp-vk-binding-model 134 deqp-vk-spirv-assembly 135 deqp-vk-shaderrender 136 deqp-vk-shaderexecutor 137 deqp-vk-memory 138 deqp-vk-ubo 139 deqp-vk-dynamic-state 140 deqp-vk-ssbo 141 deqp-vk-query-pool 142 deqp-vk-conditional-rendering 143 deqp-vk-draw 144 deqp-vk-device-group 145 deqp-vk-compute 146 deqp-vk-image 147 deqp-vk-wsi 148 deqp-vk-sparse-resources 149 deqp-vk-tessellation 150 deqp-vk-rasterization 151 deqp-vk-synchronization 152 deqp-vk-clipping 153 deqp-vk-fragment-ops 154 deqp-vk-texture 155 deqp-vk-geometry 156 deqp-vk-robustness 157 deqp-vk-render-pass 158 deqp-vk-multiview 159 deqp-vk-subgroups 160 deqp-vk-ycbcr 161 deqp-vk-protected-memory 162 deqp-vk-memory-model 163 deqp-vk-amber 164 deqp-vk-imageless-framebuffer 165 deqp-vk-transform-feedback 166 deqp-vk-descriptor-indexing 167 deqp-vk-fragment-shader-interlock 168 deqp-vk-modifiers 169 deqp-vk-ray-tracing 170 deqp-vk-ray-query 171 deqp-vk-postmortem 172 deqp-vk-fragment-shading-rate 173 deqp-vk-reconvergence 174 deqp-vk-mesh-shader 175 deqp-vk-fragment-shading-barycentric 176 deqp-vk-video 177 deqp-vk-shader-object 178 ) 179 180set(DEQP_VKSC_LIBS 181 tcutil 182 vkscutil 183 glutil 184 deqp-vksc-api 185 deqp-vksc-pipeline 186 deqp-vksc-binding-model 187 deqp-vksc-spirv-assembly 188 deqp-vksc-shaderrender 189 deqp-vksc-shaderexecutor 190 deqp-vksc-memory 191 deqp-vksc-ubo 192 deqp-vksc-dynamic-state 193 deqp-vksc-ssbo 194 deqp-vksc-query-pool 195#x deqp-vksc-conditional-rendering 196 deqp-vksc-draw 197 deqp-vksc-device-group 198 deqp-vksc-compute 199 deqp-vksc-image 200#x deqp-vksc-wsi 201#x deqp-vksc-sparse-resources 202 deqp-vksc-tessellation 203 deqp-vksc-rasterization 204 deqp-vksc-synchronization 205 deqp-vksc-clipping 206 deqp-vksc-fragment-ops 207 deqp-vksc-texture 208 deqp-vksc-geometry 209 deqp-vksc-robustness 210 deqp-vksc-render-pass 211 deqp-vksc-multiview 212 deqp-vksc-subgroups 213 deqp-vksc-ycbcr 214 deqp-vksc-protected-memory 215 deqp-vksc-memory-model 216#x deqp-vksc-amber 217 deqp-vksc-imageless-framebuffer 218#x deqp-vksc-transform-feedback 219 deqp-vksc-descriptor-indexing 220 deqp-vksc-fragment-shader-interlock 221#x deqp-vksc-modifiers 222#x deqp-vksc-ray-tracing 223#x deqp-vksc-ray-query 224#x deqp-vksc-postmortem 225 deqp-vksc-fragment-shading-rate 226 deqp-vksc-sc 227 ) 228 229 230if (DE_COMPILER_IS_MSC AND (DE_PTR_SIZE EQUAL 4)) 231 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE") 232endif () 233 234PCH(DEQP_VK_SRCS pch.cpp) 235 236add_deqp_module(deqp-vk "${DEQP_VK_SRCS}" "${DEQP_VK_LIBS}" "tcutil-platform" vktTestPackageEntry.cpp ) 237 238add_deqp_module_skip_android(deqp-vksc "${DEQP_VK_SRCS}" "${DEQP_VKSC_LIBS}" "tcutil-sc-platform" vktTestPackageEntrySC.cpp) 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 255if (DE_OS_IS_WIN32 OR DE_OS_IS_UNIX OR DE_OS_IS_OSX) 256 add_executable(vk-build-programs vktBuildPrograms.cpp) 257 target_link_libraries(vk-build-programs deqp-vk${MODULE_LIB_TARGET_POSTFIX}) 258endif () 259 260if(DE_OS_IS_ANDROID) 261 add_definitions(-DDEQP_EXCLUDE_VK_VIDEO_TESTS) 262endif()