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_spirv_assembly_config") {
20  cflags_cc = deqp_common_cflags_cc
21  defines = deqp_common_defines
22  defines += [
23    #"_XOPEN_SOURCE=600",
24    "FE_TONEAREST=0x00000000",
25    "FE_UPWARD=0x00400000",
26    "FE_DOWNWARD=0x00800000",
27    "FE_TOWARDZERO=0x00c00000",
28  ]
29}
30
31ohos_source_set("deqp_vk_spirv_assembly_source") {
32  sources = [
33    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsm16bitStorageTests.cpp",
34    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsm16bitStorageTests.hpp",
35    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsm64bitCompareTests.cpp",
36    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsm64bitCompareTests.hpp",
37    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsm8bitStorageTests.cpp",
38    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsm8bitStorageTests.hpp",
39    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmCompositeInsertTests.cpp",
40    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmCompositeInsertTests.hpp",
41    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderCase.cpp",
42    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderCase.hpp",
43    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderTestUtil.cpp",
44    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderTestUtil.hpp",
45    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmConditionalBranchTests.cpp",
46    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmConditionalBranchTests.hpp",
47    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmCrossStageInterfaceTests.cpp",
48    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmCrossStageInterfaceTests.hpp",
49    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmEmptyStructTests.cpp",
50    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmEmptyStructTests.hpp",
51    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsExtensionlessTests.cpp",
52    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsExtensionlessTests.hpp",
53    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.cpp",
54    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFloatControlsTests.hpp",
55    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFromHlslTests.cpp",
56    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmFromHlslTests.hpp",
57    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmGraphicsShaderTestUtil.cpp",
58    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmGraphicsShaderTestUtil.hpp",
59    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmImageSamplerTests.cpp",
60    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmImageSamplerTests.hpp",
61    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmIndexingTests.cpp",
62    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmIndexingTests.hpp",
63    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp",
64    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.hpp",
65    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmIntegerDotProductTests.cpp",
66    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmIntegerDotProductTests.hpp",
67    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmLoopDepInfTests.cpp",
68    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmLoopDepInfTests.hpp",
69    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmLoopDepLenTests.cpp",
70    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmLoopDepLenTests.hpp",
71    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.cpp",
72    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmNonSemanticInfoTests.hpp",
73    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmPhysicalStorageBufferPointerTests.cpp",
74    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmPhysicalStorageBufferPointerTests.hpp",
75    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmPointerParameterTests.cpp",
76    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmPointerParameterTests.hpp",
77    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmPtrAccessChainTests.cpp",
78    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmPtrAccessChainTests.hpp",
79    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmSignedIntCompareTests.cpp",
80    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmSignedIntCompareTests.hpp",
81    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmSignedOpTests.cpp",
82    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmSignedOpTests.hpp",
83    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmSpirvVersion1p4Tests.cpp",
84    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmSpirvVersion1p4Tests.hpp",
85    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmSpirvVersionTests.cpp",
86    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmSpirvVersionTests.hpp",
87    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmTerminateInvocationTests.cpp",
88    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmTerminateInvocationTests.hpp",
89    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmTests.cpp",
90    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmTests.hpp",
91    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmTrinaryMinMaxTests.cpp",
92    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmTrinaryMinMaxTests.hpp",
93    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmTypeTests.cpp",
94    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmTypeTests.hpp",
95    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmUboMatrixPaddingTests.cpp",
96    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmUboMatrixPaddingTests.hpp",
97    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmUtils.cpp",
98    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmUtils.hpp",
99    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmVariableInitTests.cpp",
100    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmVariableInitTests.hpp",
101    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmVariablePointersTests.cpp",
102    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmVariablePointersTests.hpp",
103    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmVaryingNameTests.cpp",
104    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmVaryingNameTests.hpp",
105    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmVectorShuffleTests.cpp",
106    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmVectorShuffleTests.hpp",
107    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmWorkgroupMemoryTests.cpp",
108    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmWorkgroupMemoryTests.hpp",
109  ]
110
111  include_dirs = deqp_vk_common_include_dirs
112  include_dirs += [
113    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/spirv_assembly",
114    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/amber",
115    "//third_party/vk-gl-cts/external/amber/src/include",
116    "//third_party/spirv-headers/include",
117  ]
118
119  deps = [
120    "//third_party/vk-gl-cts/external/amber/src/src:libdeqp_amber",
121    "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan:libdeqp_vkutil",
122    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/amber:libdeqp_vk_amber",
123    "//third_party/vk-gl-cts/framework/common:libdeqp_tcutil",
124  ]
125  part_name = "acts"
126  subsystem_name = "xts"
127  configs = [ ":deqp_vk_spirv_assembly_config" ]
128}
129ohos_static_library("libdeqp_vk_spirv_assembly") {
130  deps = [ ":deqp_vk_spirv_assembly_source" ]
131  part_name = "acts"
132  subsystem_name = "xts"
133}
134