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) 50 51 52include_directories( 53 api 54 pipeline 55 binding_model 56 spirv_assembly 57 shaderrender 58 shaderexecutor 59 memory 60 ubo 61 dynamic_state 62 ssbo 63 query_pool 64 conditional_rendering 65 draw 66 device_group 67 compute 68 image 69 wsi 70 sparse_resources 71 tessellation 72 rasterization 73 synchronization 74 clipping 75 fragment_ops 76 texture 77 geometry 78 robustness 79 renderpass 80 multiview 81 subgroups 82 ycbcr 83 protected_memory 84 memory_model 85 transform_feedback 86 util 87 amber 88 imageless_framebuffer 89 descriptor_indexing 90 fragment_shader_interlock 91 fragment_shading_rate 92 modifiers 93 ray_tracing 94 ray_query 95 postmortem 96 reconvergence 97 mesh_shader 98 ${DEQP_INL_DIR} 99 ) 100 101set(DEQP_VK_SRCS 102 vktTestCaseDefs.hpp 103 vktTestCase.cpp 104 vktTestCase.hpp 105 vktTestCaseUtil.cpp 106 vktTestCaseUtil.hpp 107 vktTestPackage.cpp 108 vktTestPackage.hpp 109 vktShaderLibrary.cpp 110 vktShaderLibrary.hpp 111 vktTestGroupUtil.cpp 112 vktTestGroupUtil.hpp 113 vktInfoTests.cpp 114 vktInfoTests.hpp 115 vktCustomInstancesDevices.cpp 116 vktCustomInstancesDevices.hpp 117 ) 118 119set(DEQP_VK_LIBS 120 tcutil 121 vkutil 122 glutil 123 deqp-vk-api 124 deqp-vk-pipeline 125 deqp-vk-binding-model 126 deqp-vk-spirv-assembly 127 deqp-vk-shaderrender 128 deqp-vk-shaderexecutor 129 deqp-vk-memory 130 deqp-vk-ubo 131 deqp-vk-dynamic-state 132 deqp-vk-ssbo 133 deqp-vk-query-pool 134 deqp-vk-conditional-rendering 135 deqp-vk-draw 136 deqp-vk-device-group 137 deqp-vk-compute 138 deqp-vk-image 139 deqp-vk-wsi 140 deqp-vk-sparse-resources 141 deqp-vk-tessellation 142 deqp-vk-rasterization 143 deqp-vk-synchronization 144 deqp-vk-clipping 145 deqp-vk-fragment-ops 146 deqp-vk-texture 147 deqp-vk-geometry 148 deqp-vk-robustness 149 deqp-vk-render-pass 150 deqp-vk-multiview 151 deqp-vk-subgroups 152 deqp-vk-ycbcr 153 deqp-vk-protected-memory 154 deqp-vk-memory-model 155 deqp-vk-amber 156 deqp-vk-imageless-framebuffer 157 deqp-vk-transform-feedback 158 deqp-vk-descriptor-indexing 159 deqp-vk-fragment-shader-interlock 160 deqp-vk-modifiers 161 deqp-vk-ray-tracing 162 deqp-vk-ray-query 163 deqp-vk-postmortem 164 deqp-vk-fragment-shading-rate 165 deqp-vk-reconvergence 166 deqp-vk-mesh-shader 167 ) 168 169if (DE_COMPILER_IS_MSC AND (DE_PTR_SIZE EQUAL 4)) 170 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE") 171endif () 172 173PCH(DEQP_VK_SRCS pch.cpp) 174 175add_deqp_module(deqp-vk "${DEQP_VK_SRCS}" "${DEQP_VK_LIBS}" vktTestPackageEntry.cpp) 176 177 178add_data_dir(deqp-vk ../../data/vulkan vulkan) 179add_data_dir(deqp-vk ../../mustpass/master/vk-default vk-default) 180 181# add all directories containing android mustpass 182file(GLOB PATHS_MATCHING_PATTERN ${CMAKE_SOURCE_DIR}/android/cts/master/vk-*/) 183FOREACH(FOUND_PATH ${PATHS_MATCHING_PATTERN}) 184 IF(IS_DIRECTORY ${FOUND_PATH}) 185 SET(LAST_DIRECTORY "") 186 file(RELATIVE_PATH LAST_DIRECTORY ${CMAKE_SOURCE_DIR}/android/cts/master ${FOUND_PATH}) 187 add_data_dir(deqp-vk ../../../../android/cts/master/${LAST_DIRECTORY} ${LAST_DIRECTORY}) 188 ENDIF() 189ENDFOREACH() 190 191if (DE_OS_IS_WIN32 OR DE_OS_IS_UNIX OR DE_OS_IS_OSX) 192 add_executable(vk-build-programs vktBuildPrograms.cpp) 193 target_link_libraries(vk-build-programs deqp-vk${MODULE_LIB_TARGET_POSTFIX}) 194endif () 195