1# Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14# deqp external vkutil build 15 16import("//build/ohos.gni") 17import("//third_party/vk-gl-cts/vk_gl_cts.gni") 18 19config("deqp_vk_package_config") { 20 cflags_cc = deqp_common_cflags_cc 21 defines = deqp_common_defines 22 defines += [ 23 "_XOPEN_SOURCE=600", 24 "CTS_USES_VULKAN", 25 ] 26} 27 28vk_common_include_dirs = deqp_vk_common_include_dirs 29vk_common_include_dirs += [ 30 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/api", 31 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/pipeline", 32 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/binding_model", 33 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly", 34 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/shaderrender", 35 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/shaderexecutor", 36 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/shader_object", 37 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/memory", 38 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/ubo", 39 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/dynamic_state", 40 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/ssbo", 41 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/query_pool", 42 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/conditional_rendering", 43 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/draw", 44 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/device_group", 45 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/compute", 46 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/image", 47 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/wsi", 48 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/sparse_resources", 49 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/tessellation", 50 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/rasterization", 51 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/synchronization", 52 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/clipping", 53 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/fragment_ops", 54 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/texture", 55 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/geometry", 56 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/robustness", 57 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/renderpass", 58 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/multiview", 59 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups", 60 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/ycbcr", 61 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/protected_memory", 62 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/memory_model", 63 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/transform_feedback", 64 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/util", 65 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/amber", 66 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/imageless_framebuffer", 67 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/descriptor_indexing", 68 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/fragment_shader_interlock", 69 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/fragment_shading_rate", 70 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/modifiers", 71 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/ray_tracing", 72 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/ray_query", 73 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/postmortem", 74 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/reconvergence", 75 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/mesh_shader", 76 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/fragment_shading_barycentric", 77 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/video", 78 "//third_party/zlib", 79 "//third_party/spirv-headers/include", 80 "//third_party/vk-gl-cts/external/amber", 81 "//third_party/vk-gl-cts/build/include", 82 "//third_party/glslang", 83 "//third_party/spirv-tools/include", 84 "//third_party/spirv-tools/source", 85 "//third_party/vk-gl-cts/external/amber/src/include", 86] 87 88vk_common_deps = [ 89 # "//third_party/glslang/OGLCompilersDLL:libdeqp_OGLCompiler", 90 "//third_party/glslang/SPIRV:libdeqp_spirv", 91 "//third_party/glslang/SPIRV:libdeqp_spvremapper", 92 "//third_party/glslang/glslang:libdeqp_GenericCodeGen", 93 "//third_party/glslang/glslang:libdeqp_MachineIndependent", 94 "//third_party/glslang/glslang:libdeqp_OSDependent", 95 "//third_party/glslang/glslang:libdeqp_glslang", 96 "//third_party/libpng:libpng", 97 "//third_party/spirv-tools:libdeqp_spirvtools", 98 "//third_party/spirv-tools/source/opt:libdeqp_spirvtools-opt", 99 "//third_party/vk-gl-cts/external/amber/src/src:libdeqp_amber", 100 "//third_party/vk-gl-cts/external/amber/src/src/vulkan:libdeqp_amberenginevulkan", 101 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan:libdeqp_vkutil", 102 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan:libdeqp_vkutilnoshader", 103 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/amber:libdeqp_vk_amber", 104 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/api:libdeqp_vk_api", 105 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/binding_model:libdeqp_vk_binding_model", 106 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/clipping:libdeqp_vk_clipping", 107 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/compute:libdeqp_vk_compute", 108 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/conditional_rendering:libdeqp_vk_conditional_rendering", 109 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/descriptor_indexing:libdeqp_vk_descriptor_indexing", 110 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/device_group:libdeqp_vk_device_group", 111 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/draw:libdeqp_vk_draw", 112 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/dynamic_state:libdeqp_vk_dynamic_state", 113 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/fragment_ops:libdeqp_vk_fragment_ops", 114 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/fragment_shader_interlock:libdeqp_vk_fragment_shader_interlock", 115 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/fragment_shading_barycentric:libdeqp_vk_fragment_shading_barycentric", 116 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/fragment_shading_rate:libdeqp_vk_fragment_shading_rate", 117 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/geometry:libdeqp_vk_geometry", 118 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/image:libdeqp_vk_image", 119 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/imageless_framebuffer:libdeqp_vk_imageless_framebuffer", 120 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/memory:libdeqp_vk_memory", 121 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/memory_model:libdeqp_vk_memory_model", 122 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/mesh_shader:libdeqp_vk_mesh_shader", 123 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/modifiers:libdeqp_vk_modifiers", 124 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/multiview:libdeqp_vk_multiview", 125 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/pipeline:libdeqp_vk_pipeline", 126 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/postmortem:libdeqp_vk_postmortem", 127 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/protected_memory:libdeqp_vk_protected_memory", 128 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/query_pool:libdeqp_vk_query_pool", 129 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/rasterization:libdeqp_vk_rasterization", 130 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/ray_query:libdeqp_vk_ray_query", 131 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/ray_tracing:libdeqp_vk_ray_tracing", 132 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/reconvergence:libdeqp_vk_reconvergence", 133 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/renderpass:libdeqp_vk_renderpass", 134 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/robustness:libdeqp_vk_robustness", 135 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/shader_object:libdeqp_vk_shader_object", 136 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/shaderexecutor:libdeqp_vk_shaderexecutor", 137 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/shaderrender:libdeqp_vk_shaderrender", 138 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/sparse_resources:libdeqp_vk_sparse_resources", 139 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly:libdeqp_vk_spirv_assembly", 140 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/ssbo:libdeqp_vk_ssbo", 141 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups:libdeqp_vk_subgroups", 142 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/synchronization:libdeqp_vk_synchronization", 143 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/tessellation:libdeqp_vk_tessellation", 144 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/texture:libdeqp_vk_texture", 145 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/transform_feedback:libdeqp_vk_transform_feedback", 146 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/ubo:libdeqp_vk_ubo", 147 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/util:libdeqp_vk_util", 148 149 # "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/video:libdeqp_vk_video", 150 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/wsi:libdeqp_vk_wsi", 151 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/ycbcr:libdeqp_vk_ycbcr", 152 "//third_party/vk-gl-cts/framework/common:libdeqp_tcutil", 153 "//third_party/vk-gl-cts/framework/delibs/debase:libdeqp_debase", 154 "//third_party/vk-gl-cts/framework/delibs/decpp:libdeqp_decpp", 155 "//third_party/vk-gl-cts/framework/delibs/depool:libdeqp_depool", 156 "//third_party/vk-gl-cts/framework/delibs/dethread:libdeqp_dethread", 157 "//third_party/vk-gl-cts/framework/delibs/deutil:libdeqp_deutil", 158 "//third_party/vk-gl-cts/framework/opengl:libdeqp_glutil", 159 "//third_party/vk-gl-cts/framework/opengl/wrapper:libdeqp_glwrapper", 160 "//third_party/vk-gl-cts/framework/qphelper:libdeqp_qphelper", 161 "//third_party/vk-gl-cts/framework/referencerenderer:libdeqp_referencerenderer", 162 "//third_party/vk-gl-cts/framework/xexml:libdeqp_xexml", 163 "//third_party/zlib:libz", 164] 165 166ohos_source_set("deqp_vk_package_source") { 167 sources = [ 168 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktCustomInstancesDevices.cpp", 169 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktCustomInstancesDevices.hpp", 170 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktInfoTests.cpp", 171 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktInfoTests.hpp", 172 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktShaderLibrary.cpp", 173 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktShaderLibrary.hpp", 174 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktTestCase.cpp", 175 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktTestCase.hpp", 176 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktTestCaseDefs.hpp", 177 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktTestCaseUtil.cpp", 178 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktTestCaseUtil.hpp", 179 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktTestGroupUtil.cpp", 180 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktTestGroupUtil.hpp", 181 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktTestPackage.cpp", 182 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktTestPackage.hpp", 183 ] 184 185 include_dirs = vk_common_include_dirs 186 deps = vk_common_deps 187 part_name = "acts" 188 subsystem_name = "xts" 189 configs = [ ":deqp_vk_package_config" ] 190} 191 192ohos_static_library("libdeqp_vk_package") { 193 deps = [ ":deqp_vk_package_source" ] 194 part_name = "acts" 195 subsystem_name = "xts" 196} 197 198ohos_executable("deqp_vk_execute") { 199 sources = [ 200 "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktTestPackageEntry.cpp", 201 "//third_party/vk-gl-cts/framework/platform/ohos/vkMain.cpp", 202 ] 203 include_dirs = vk_common_include_dirs 204 include_dirs += [ "//third_party/vk-gl-cts/framework/platform/ohos" ] 205 206 deps = vk_common_deps 207 deps += [ 208 ":libdeqp_vk_package", 209 "//third_party/vk-gl-cts/framework/platform:libdeqp_ohos_platform", 210 ] 211 212 configs = [ ":deqp_vk_package_config" ] 213 part_name = "acts" 214 subsystem_name = "xts" 215} 216 217ohos_executable("deqp_vk_build") { 218 sources = [ "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/vktBuildPrograms.cpp" ] 219 220 include_dirs = vk_common_include_dirs 221 222 deps = vk_common_deps 223 deps += [ ":libdeqp_vk_package" ] 224 225 configs = [ ":deqp_vk_package_config" ] 226 part_name = "acts" 227 subsystem_name = "xts" 228} 229