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_vkutil_config") { 20 cflags_cc = deqp_common_cflags_cc 21 defines = deqp_common_defines 22 defines += [ 23 "_XOPEN_SOURCE=600", 24 "VK_USE_PLATFORM_OHOS_OPENHARMONY", 25 "DISABLE_SHADERCACHE_IPC", 26 ] 27} 28 29ohos_source_set("deqp_vkutilnoshader_source") { 30 sources = [ 31 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkAllocationCallbackUtil.cpp", 32 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkApiVersion.cpp", 33 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkAppParamsUtil.cpp", 34 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkBarrierUtil.cpp", 35 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkBinaryRegistry.cpp", 36 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkBufferWithMemory.cpp", 37 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkBuilderUtil.cpp", 38 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkCmdUtil.cpp", 39 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkComputePipelineConstructionUtil.cpp", 40 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkDebugReportUtil.cpp", 41 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkDefs.cpp", 42 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkDeviceFeatures.cpp", 43 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkDeviceProperties.cpp", 44 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkDeviceUtil.cpp", 45 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkImageUtil.cpp", 46 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkImageWithMemory.cpp", 47 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkMd5Sum.hpp", 48 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkMemUtil.cpp", 49 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkNullDriver.cpp", 50 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkObjUtil.cpp", 51 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkPipelineConstructionUtil.cpp", 52 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkPlatform.cpp", 53 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkQueryUtil.cpp", 54 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkRayTracingUtil.cpp", 55 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkRef.cpp", 56 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkRefUtil.cpp", 57 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkRenderDocUtil.cpp", 58 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkResourceInterface.cpp", 59 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkSafetyCriticalUtil.cpp", 60 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkShaderObjectUtil.cpp", 61 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkShaderProgram.cpp", 62 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkStrUtil.cpp", 63 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkTypeUtil.cpp", 64 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkWsiPlatform.cpp", 65 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkWsiUtil.cpp", 66 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkYCbCrImageWithMemory.cpp", 67 ] 68 69 include_dirs = deqp_common_include_dirs 70 include_dirs += [ 71 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan", 72 73 #"//third_party/vk-gl-cts/build/external/vulkancts/framework/vulkan", 74 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/generated/vulkan", 75 "//third_party/glslang", 76 "//third_party/spirv-tools/include", 77 "//third_party/spirv-tools/source", 78 ] 79 80 deps = [ 81 # "//third_party/glslang/OGLCompilersDLL:libdeqp_OGLCompiler", 82 "//third_party/glslang/SPIRV:libdeqp_spirv", 83 "//third_party/glslang/SPIRV:libdeqp_spvremapper", 84 "//third_party/glslang/glslang:libdeqp_GenericCodeGen", 85 "//third_party/glslang/glslang:libdeqp_MachineIndependent", 86 "//third_party/glslang/glslang:libdeqp_OSDependent", 87 88 #":gen_framework_c", 89 "//third_party/glslang/glslang:libdeqp_glslang", 90 91 #"//third_party/glslang/hlsl:libdeqp_hlsl", 92 "//third_party/spirv-tools:libdeqp_spirvtools", 93 "//third_party/spirv-tools/source/link:libdeqp_spirvtools-link", 94 "//third_party/spirv-tools/source/opt:libdeqp_spirvtools-opt", 95 "//third_party/spirv-tools/source/reduce:libdeqp_spirvtools-reduce", 96 "//third_party/spirv-tools/source/val:libdeqp_spirvtools-val", 97 "//third_party/vk-gl-cts/framework/common:libdeqp_tcutil", 98 "//third_party/vk-gl-cts/framework/delibs/depool:libdeqp_depool", 99 "//third_party/vk-gl-cts/framework/opengl:libdeqp_glutil", 100 "//third_party/vk-gl-cts/framework/xexml:libdeqp_xexml", 101 "//third_party/zlib:libz", 102 ] 103 part_name = "acts" 104 subsystem_name = "xts" 105 configs = [ ":deqp_vkutil_config" ] 106} 107 108ohos_static_library("libdeqp_vkutilnoshader") { 109 deps = [ ":deqp_vkutilnoshader_source" ] 110 part_name = "acts" 111 subsystem_name = "xts" 112} 113 114action("gen_ext_deps") { 115 script = "//third_party/vk-gl-cts/external/vulkancts/scripts/ohos_gen_ext_deps.py -o ../../../external/vulkancts/framework/vulkan/generated/vulkan" 116 outputs = [ "$target_out_dir/gen_ext_deps.log" ] 117 118 out_path = rebase_path( 119 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/generated/vulkan") 120 args = [ "$out_path" ] 121} 122 123action("gen_framework") { 124 script = "//third_party/vk-gl-cts/external/vulkancts/scripts/ohos_gen_framework.py -o ../../../external/vulkancts/framework/vulkan/generated/vulkan" 125 outputs = [ "$target_out_dir/gen_framework.log" ] 126 127 out_path = rebase_path( 128 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/generated/vulkan") 129 args = [ "$out_path" ] 130 deps = [ ":gen_ext_deps" ] 131} 132 133action("gen_framework_c") { 134 script = "//third_party/vk-gl-cts/external/vulkancts/scripts/ohos_gen_framework_c.py -o ../../../external/vulkancts/framework/vulkan/generated/vulkan" 135 outputs = [ "$target_out_dir/gen_framework_c.log" ] 136 137 out_path = rebase_path( 138 #"//third_party/vk-gl-cts/build/external/vulkancts/framework/vulkan") 139 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/generated/vulkan") 140 args = [ "$out_path" ] 141 deps = [ ":gen_framework" ] 142} 143 144ohos_source_set("deqp_vkutil_source") { 145 sources = [ 146 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkPrograms.cpp", 147 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkShaderToSpirV.cpp", 148 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkSpirVAsm.cpp", 149 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/vkSpirVProgram.cpp", 150 ] 151 include_dirs = deqp_common_include_dirs 152 include_dirs += [ 153 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan", 154 155 #"//third_party/vk-gl-cts/build/external/vulkancts/framework/vulkan", 156 "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/generated/vulkan", 157 "//third_party/glslang", 158 "//third_party/spirv-tools/include", 159 ] 160 161 deps = [ 162 ":libdeqp_vkutilnoshader", 163 164 # "//third_party/glslang/OGLCompilersDLL:libdeqp_OGLCompiler", 165 "//third_party/glslang/SPIRV:libdeqp_spirv", 166 "//third_party/glslang/SPIRV:libdeqp_spvremapper", 167 "//third_party/glslang/glslang:libdeqp_GenericCodeGen", 168 "//third_party/glslang/glslang:libdeqp_MachineIndependent", 169 "//third_party/glslang/glslang:libdeqp_OSDependent", 170 "//third_party/glslang/glslang:libdeqp_glslang", 171 172 #"//third_party/glslang/hlsl:libdeqp_hlsl", 173 "//third_party/spirv-tools:libdeqp_spirvtools", 174 "//third_party/spirv-tools/source/link:libdeqp_spirvtools-link", 175 "//third_party/spirv-tools/source/opt:libdeqp_spirvtools-opt", 176 "//third_party/spirv-tools/source/reduce:libdeqp_spirvtools-reduce", 177 "//third_party/spirv-tools/source/val:libdeqp_spirvtools-val", 178 "//third_party/vk-gl-cts/framework/common:libdeqp_tcutil", 179 "//third_party/vk-gl-cts/framework/opengl:libdeqp_glutil", 180 "//third_party/zlib:libz", 181 ] 182 part_name = "acts" 183 subsystem_name = "xts" 184 configs = [ ":deqp_vkutil_config" ] 185} 186ohos_static_library("libdeqp_vkutil") { 187 deps = [ ":deqp_vkutil_source" ] 188 part_name = "acts" 189 subsystem_name = "xts" 190} 191