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# external modules glcts-es31 build
15
16import("//build/ohos.gni")
17import("//third_party/vk-gl-cts/vk_gl_cts.gni")
18
19config("glcts-es31_config") {
20  cflags_cc = [
21    "-Wno-conversion",
22    "-Wno-unused-function",
23  ]
24
25  cflags_cc += deqp_common_cflags_cc
26  defines = deqp_common_defines
27}
28
29ohos_source_set("glcts-es31_source") {
30  sources = [
31    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cArrayOfArraysTests.cpp",
32    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cComputeShaderTests.cpp",
33    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cDrawIndirectTests.cpp",
34    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cExplicitUniformLocationTest.cpp",
35    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cFramebufferNoAttachmentsTests.cpp",
36    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cLayoutBindingTests.cpp",
37    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cProgramInterfaceQueryTests.cpp",
38    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cSampleShadingTests.cpp",
39    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cSeparateShaderObjsTests.cpp",
40    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cShaderAtomicCountersTests.cpp",
41    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cShaderBitfieldOperationTests.cpp",
42    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cShaderImageLoadStoreTests.cpp",
43    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cShaderImageSizeTests.cpp",
44    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cShaderStorageBufferObjectTests.cpp",
45    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cTestPackage.cpp",
46    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cTextureGatherTests.cpp",
47    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cTextureStorageMultisampleDependenciesTests.cpp",
48    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cTextureStorageMultisampleFunctionalTests.cpp",
49    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cTextureStorageMultisampleGLCoverageTests.cpp",
50    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cTextureStorageMultisampleGetActiveUniformTests.cpp",
51    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cTextureStorageMultisampleGetMultisamplefvTests.cpp",
52    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cTextureStorageMultisampleGetTexLevelParameterifvTests.cpp",
53    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cTextureStorageMultisampleSampleMaskiTests.cpp",
54    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cTextureStorageMultisampleTests.cpp",
55    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cTextureStorageMultisampleTexStorage2DMultisampleTests.cpp",
56    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cTextureStorageMultisampleTexStorage3DMultisampleTests.cpp",
57    "//third_party/vk-gl-cts/external/openglcts/modules/gles31/es31cVertexAttribBindingTests.cpp",
58  ]
59  include_dirs = [
60    "//third_party/zlib/src",
61    "//third_party/spirv-headers/include",
62    "//third_party/vk-gl-cts/external/amber",
63    "//third_party/vk-gl-cts/external/renderdoc/src",
64    "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan",
65    "//third_party/vk-gl-cts/external/openglcts/include",
66    "//third_party/vk-gl-cts/external/openglcts/framework/egl/wrapper",
67    "//third_party/vk-gl-cts/external/openglcts/modules/common",
68    "//third_party/vk-gl-cts/external/openglcts/modules/gl",
69    "//third_party/vk-gl-cts/external/openglcts/modules/gles2",
70    "//third_party/vk-gl-cts/external/openglcts/modules/gles3",
71    "//third_party/vk-gl-cts/external/openglcts/modules/gles31",
72    "//third_party/vk-gl-cts/external/openglcts/modules/gles32",
73    "//third_party/vk-gl-cts/external/openglcts/modules/glesext",
74    "//third_party/vk-gl-cts/external/openglcts/modules",
75    "//third_party/vk-gl-cts/modules/glshared",
76    "//third_party/glslang/glslang",
77    "//third_party/vk-gl-cts/build/include",
78    "//third_party/glslang/SPIRV",
79    "//third_party/spirv-tools/include",
80  ]
81  include_dirs += deqp_common_include_dirs
82
83  deps = [
84    "//third_party/libpng:libpng",
85    "//third_party/vk-gl-cts/external/openglcts/modules/common:libdeqp_glcts-common",
86    "//third_party/vk-gl-cts/external/openglcts/modules/gl:libdeqp_glcts-gl",
87    "//third_party/vk-gl-cts/framework/common:libdeqp_tcutil",
88    "//third_party/vk-gl-cts/framework/opengl:libdeqp_glutil",
89    "//third_party/vk-gl-cts/framework/opengl/wrapper:libdeqp_glwrapper",
90  ]
91
92  configs = [ ":glcts-es31_config" ]
93}
94
95ohos_static_library("libdeqp_glcts-es31") {
96  deps = [ ":glcts-es31_source" ]
97  part_name = "graphic_2d"
98  subsystem_name = "graphic"
99}
100