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 subgroups build
15
16import("//build/ohos.gni")
17import("//third_party/vk-gl-cts/vk_gl_cts.gni")
18
19config("deqp_vk_subgroups_config") {
20  cflags_cc = deqp_common_cflags_cc
21  defines = deqp_common_defines
22
23  #defines += [ "_XOPEN_SOURCE=600" ]
24}
25
26ohos_source_set("deqp_vk_subgroups_source") {
27  sources = [
28    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupUniformControlFlowTests.cpp",
29    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsArithmeticTests.cpp",
30    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotBroadcastTests.cpp",
31    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotMasksTests.cpp",
32    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotOtherTests.cpp",
33    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBallotTests.cpp",
34    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBasicTests.cpp",
35    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBuiltinMaskVarTests.cpp",
36    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsBuiltinVarTests.cpp",
37    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsClusteredTests.cpp",
38    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsMultipleDispatchesUniformSubgroupSizeTests.cpp",
39    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsPartitionedTests.cpp",
40    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsQuadTests.cpp",
41    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsScanHelpers.cpp",
42    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShapeTests.cpp",
43    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsShuffleTests.cpp",
44    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsSizeControlTests.cpp",
45    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTests.cpp",
46    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsTestsUtils.cpp",
47    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups/vktSubgroupsVoteTests.cpp",
48  ]
49
50  include_dirs = deqp_vk_common_include_dirs
51  include_dirs += [
52    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/subgroups",
53    "//third_party/vk-gl-cts/external/vulkancts/modules/vulkan/amber",
54    "//third_party/vk-gl-cts/external/amber/src/include",
55  ]
56
57  deps = [
58    "//third_party/vk-gl-cts/external/amber/src/src:libdeqp_amber",
59    "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan:libdeqp_vkutil",
60    "//third_party/vk-gl-cts/framework/common:libdeqp_tcutil",
61  ]
62  part_name = "acts"
63  subsystem_name = "xts"
64  configs = [ ":deqp_vk_subgroups_config" ]
65}
66ohos_static_library("libdeqp_vk_subgroups") {
67  deps = [ ":deqp_vk_subgroups_source" ]
68  part_name = "acts"
69  subsystem_name = "xts"
70}
71