1617a3babSopenharmony_ci# Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd. 2617a3babSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3617a3babSopenharmony_ci# you may not use this file except in compliance with the License. 4617a3babSopenharmony_ci# You may obtain a copy of the License at 5617a3babSopenharmony_ci# 6617a3babSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7617a3babSopenharmony_ci# 8617a3babSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9617a3babSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10617a3babSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11617a3babSopenharmony_ci# See the License for the specific language governing permissions and 12617a3babSopenharmony_ci# limitations under the License. 13617a3babSopenharmony_ci 14617a3babSopenharmony_ci# external glslang src SPIRV build 15617a3babSopenharmony_ci 16617a3babSopenharmony_ciimport("//build/ohos.gni") 17617a3babSopenharmony_ciimport("//third_party/vk-gl-cts/vk_gl_cts.gni") 18617a3babSopenharmony_ci 19617a3babSopenharmony_ciconfig("SPIRV_config") { 20617a3babSopenharmony_ci cflags_cc = deqp_common_cflags_cc 21617a3babSopenharmony_ci 22617a3babSopenharmony_ci cflags_cc -= [ 23617a3babSopenharmony_ci "-frtti", 24617a3babSopenharmony_ci "-fexceptions", 25617a3babSopenharmony_ci ] 26617a3babSopenharmony_ci cflags_cc += [ 27617a3babSopenharmony_ci "-fPIC", 28617a3babSopenharmony_ci "-std=c++17", 29617a3babSopenharmony_ci "-Wno-reorder", 30617a3babSopenharmony_ci "-fno-rtti", 31617a3babSopenharmony_ci "-fno-exceptions", 32617a3babSopenharmony_ci "-Wno-sign-compare", 33617a3babSopenharmony_ci "-Wno-unused-parameter", 34617a3babSopenharmony_ci ] 35617a3babSopenharmony_ci 36617a3babSopenharmony_ci defines = deqp_common_defines 37617a3babSopenharmony_ci defines -= [ 38617a3babSopenharmony_ci "DEQP_SUPPORT_DRM=0", 39617a3babSopenharmony_ci "DEQP_TARGET_NAME=\"Default\"", 40617a3babSopenharmony_ci ] 41617a3babSopenharmony_ci defines += [ 42617a3babSopenharmony_ci "ENABLE_HLSL", 43617a3babSopenharmony_ci "ENABLE_OPT=0", 44617a3babSopenharmony_ci "GLSLANG_OSINCLUDE_UNIX", 45617a3babSopenharmony_ci ] 46617a3babSopenharmony_ci} 47617a3babSopenharmony_ci 48617a3babSopenharmony_ci#lib SPIRV 49617a3babSopenharmony_ciohos_source_set("SPIRV_source") { 50617a3babSopenharmony_ci sources = [ 51617a3babSopenharmony_ci "//third_party/glslang/SPIRV/CInterface/spirv_c_interface.cpp", 52617a3babSopenharmony_ci "//third_party/glslang/SPIRV/GlslangToSpv.cpp", 53617a3babSopenharmony_ci "//third_party/glslang/SPIRV/InReadableOrder.cpp", 54617a3babSopenharmony_ci "//third_party/glslang/SPIRV/Logger.cpp", 55617a3babSopenharmony_ci "//third_party/glslang/SPIRV/SpvBuilder.cpp", 56617a3babSopenharmony_ci "//third_party/glslang/SPIRV/SpvPostProcess.cpp", 57617a3babSopenharmony_ci "//third_party/glslang/SPIRV/SpvTools.cpp", 58617a3babSopenharmony_ci "//third_party/glslang/SPIRV/disassemble.cpp", 59617a3babSopenharmony_ci "//third_party/glslang/SPIRV/doc.cpp", 60617a3babSopenharmony_ci ] 61617a3babSopenharmony_ci include_dirs = [ 62617a3babSopenharmony_ci "//third_party/zlib/src", 63617a3babSopenharmony_ci "//third_party/glslang", 64617a3babSopenharmony_ci "//third_party/glslang/glslang/SPIRV", 65617a3babSopenharmony_ci "//third_party/vk-gl-cts/build/include", 66617a3babSopenharmony_ci ] 67617a3babSopenharmony_ci include_dirs += deqp_common_include_dirs 68617a3babSopenharmony_ci 69617a3babSopenharmony_ci deps = [ 70617a3babSopenharmony_ci #"//third_party/glslang/OGLCompilersDLL:libdeqp_OGLCompiler", 71617a3babSopenharmony_ci "//third_party/glslang/glslang:libdeqp_GenericCodeGen", 72617a3babSopenharmony_ci "//third_party/glslang/glslang:libdeqp_MachineIndependent", 73617a3babSopenharmony_ci "//third_party/glslang/glslang:libdeqp_OSDependent", 74617a3babSopenharmony_ci ] 75617a3babSopenharmony_ci configs = [ ":SPIRV_config" ] 76617a3babSopenharmony_ci} 77617a3babSopenharmony_ci 78617a3babSopenharmony_ciohos_shared_library("libdeqp_spirv") { 79617a3babSopenharmony_ci deps = [ ":SPIRV_source" ] 80617a3babSopenharmony_ci part_name = "graphic_2d" 81617a3babSopenharmony_ci subsystem_name = "graphic" 82617a3babSopenharmony_ci} 83617a3babSopenharmony_ci 84617a3babSopenharmony_ci#lib SPVRemapper 85617a3babSopenharmony_ciohos_source_set("SPVRemapper_source") { 86617a3babSopenharmony_ci sources = [ 87617a3babSopenharmony_ci "//third_party/glslang/SPIRV/SPVRemapper.cpp", 88617a3babSopenharmony_ci "//third_party/glslang/SPIRV/doc.cpp", 89617a3babSopenharmony_ci ] 90617a3babSopenharmony_ci include_dirs = [ 91617a3babSopenharmony_ci "//third_party/zlib/src", 92617a3babSopenharmony_ci "//third_party/glslang", 93617a3babSopenharmony_ci "//third_party/glslang/glslang/SPIRV", 94617a3babSopenharmony_ci "//third_party/vk-gl-cts/build/include", 95617a3babSopenharmony_ci ] 96617a3babSopenharmony_ci include_dirs += deqp_common_include_dirs 97617a3babSopenharmony_ci 98617a3babSopenharmony_ci deps = [] 99617a3babSopenharmony_ci configs = [ ":SPIRV_config" ] 100617a3babSopenharmony_ci} 101617a3babSopenharmony_ci 102617a3babSopenharmony_ciohos_shared_library("libdeqp_spvremapper") { 103617a3babSopenharmony_ci deps = [ ":SPVRemapper_source" ] 104617a3babSopenharmony_ci part_name = "graphic_2d" 105617a3babSopenharmony_ci subsystem_name = "graphic" 106617a3babSopenharmony_ci} 107