1e5c31af7Sopenharmony_ci# Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd.
2e5c31af7Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
3e5c31af7Sopenharmony_ci# you may not use this file except in compliance with the License.
4e5c31af7Sopenharmony_ci# You may obtain a copy of the License at
5e5c31af7Sopenharmony_ci#
6e5c31af7Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
7e5c31af7Sopenharmony_ci#
8e5c31af7Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
9e5c31af7Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
10e5c31af7Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11e5c31af7Sopenharmony_ci# See the License for the specific language governing permissions and
12e5c31af7Sopenharmony_ci# limitations under the License.
13e5c31af7Sopenharmony_ci
14e5c31af7Sopenharmony_ci# external modules glcts-gl build
15e5c31af7Sopenharmony_ci
16e5c31af7Sopenharmony_ciimport("//build/ohos.gni")
17e5c31af7Sopenharmony_ciimport("//third_party/vk-gl-cts/vk_gl_cts.gni")
18e5c31af7Sopenharmony_ci
19e5c31af7Sopenharmony_ciconfig("glcts-gl_config") {
20e5c31af7Sopenharmony_ci  cflags_cc = [
21e5c31af7Sopenharmony_ci    "-Wno-conversion",
22e5c31af7Sopenharmony_ci    "-Wno-unused-function",
23e5c31af7Sopenharmony_ci  ]
24e5c31af7Sopenharmony_ci
25e5c31af7Sopenharmony_ci  cflags_cc += deqp_common_cflags_cc
26e5c31af7Sopenharmony_ci  defines = deqp_common_defines
27e5c31af7Sopenharmony_ci}
28e5c31af7Sopenharmony_ci
29e5c31af7Sopenharmony_ciohos_source_set("glcts-gl_source") {
30e5c31af7Sopenharmony_ci  sources = [
31e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cClipDistance.cpp",
32e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cCommonBugsTests.cpp",
33e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cCullDistanceTests.cpp",
34e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cGLSLnoperspectiveTests.cpp",
35e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cGPUShader5Tests.cpp",
36e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cTestPackages.cpp",
37e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cTextureSizePromotion.cpp",
38e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cTextureSwizzleTests.cpp",
39e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cTransformFeedbackOverflowQueryTests.cpp",
40e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cTransformFeedbackTests.cpp",
41e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cBufferStorageTests.cpp",
42e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cClipControlTests.cpp",
43e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cComputeShaderTests.cpp",
44e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cConditionalRenderInvertedTests.cpp",
45e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cCopyImageTests.cpp",
46e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessBuffersTests.cpp",
47e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessFramebuffersAndRenderbuffersTests.cpp",
48e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessProgramPipelinesTests.cpp",
49e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessQueriesTests.cpp",
50e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessSamplersTests.cpp",
51e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessTests.cpp",
52e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessTexturesTests.cpp",
53e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessVertexArraysTests.cpp",
54e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessXFBTests.cpp",
55e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cES31CompatibilitySampleVariablesTests.cpp",
56e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cES31CompatibilityShaderImageLoadStoreTests.cpp",
57e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cES31CompatibilityShaderStorageBufferObjectTests.cpp",
58e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cES31CompatibilityTests.cpp",
59e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp",
60e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cGPUShaderFP64Tests.cpp",
61e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cGetTextureSubImageTests.cpp",
62e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cGlSpirvTests.cpp",
63e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cIncompleteTextureAccessTests.cpp",
64e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cIndirectParametersTests.cpp",
65e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cLimitsTests.cpp",
66e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cMapBufferAlignmentTests.cpp",
67e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cMultiBindTests.cpp",
68e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cPipelineStatisticsQueryTests.cpp",
69e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cPostDepthCoverageTests.cpp",
70e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cProgramInterfaceQueryTests.cpp",
71e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderAtomicCounterOpsTests.cpp",
72e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderAtomicCountersTests.cpp",
73e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderBallotTests.cpp",
74e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderDrawParametersTests.cpp",
75e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderImageLoadStoreTests.cpp",
76e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderImageSizeTests.cpp",
77e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderStorageBufferObjectTests.cpp",
78e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderSubroutineTests.cpp",
79e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderTextureImageSamplesTests.cpp",
80e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderViewportLayerArrayTests.cpp",
81e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShadingLanguage420PackTests.cpp",
82e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cSparseBufferTests.cpp",
83e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cSparseTexture2Tests.cpp",
84e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cSparseTextureClampTests.cpp",
85e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cSparseTextureTests.cpp",
86e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cSpirvExtensionsTests.cpp",
87e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cStencilTexturingTests.cpp",
88e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cSyncTests.cpp",
89e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cTestPackages.cpp",
90e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cTextureBarrierTests.cpp",
91e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cTextureFilterMinmaxTests.cpp",
92e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cTextureGatherTests.cpp",
93e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cTextureViewTests.cpp",
94e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cVertexAttrib64BitTest.cpp",
95e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cVertexAttribBindingTests.cpp",
96e5c31af7Sopenharmony_ci  ]
97e5c31af7Sopenharmony_ci  include_dirs = [
98e5c31af7Sopenharmony_ci    "//third_party/zlib/src",
99e5c31af7Sopenharmony_ci    "//third_party/spirv-headers/include",
100e5c31af7Sopenharmony_ci
101e5c31af7Sopenharmony_ci    #"//third_party/vk-gl-cts/external/amber",
102e5c31af7Sopenharmony_ci    #"//third_party/vk-gl-cts/external/renderdoc/src",
103e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan",
104e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/include",
105e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/framework/egl/wrapper",
106e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/common",
107e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gl",
108e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gles2",
109e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gles3",
110e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gles31",
111e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/gles32",
112e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/glesext",
113e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules",
114e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/modules/glshared",
115e5c31af7Sopenharmony_ci
116e5c31af7Sopenharmony_ci    #"//third_party/vk-gl-cts/build/external/vulkancts/framework/vulkan",
117e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/generated/vulkan",
118e5c31af7Sopenharmony_ci    "//third_party/glslang/glslang",
119e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/build/include",
120e5c31af7Sopenharmony_ci    "//third_party/glslang/SPIRV",
121e5c31af7Sopenharmony_ci    "//third_party/spirv-tools/include",
122e5c31af7Sopenharmony_ci  ]
123e5c31af7Sopenharmony_ci  include_dirs += deqp_common_include_dirs
124e5c31af7Sopenharmony_ci
125e5c31af7Sopenharmony_ci  deps = [
126e5c31af7Sopenharmony_ci    "//third_party/libpng:libpng",
127e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/openglcts/modules/common:libdeqp_glcts-common",
128e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan:libdeqp_vkutilnoshader",
129e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/framework/common:libdeqp_tcutil",
130e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/framework/opengl:libdeqp_glutil",
131e5c31af7Sopenharmony_ci    "//third_party/vk-gl-cts/framework/opengl/wrapper:libdeqp_glwrapper",
132e5c31af7Sopenharmony_ci  ]
133e5c31af7Sopenharmony_ci
134e5c31af7Sopenharmony_ci  configs = [ ":glcts-gl_config" ]
135e5c31af7Sopenharmony_ci}
136e5c31af7Sopenharmony_ci
137e5c31af7Sopenharmony_ciohos_static_library("libdeqp_glcts-gl") {
138e5c31af7Sopenharmony_ci  deps = [ ":glcts-gl_source" ]
139e5c31af7Sopenharmony_ci  part_name = "graphic_2d"
140e5c31af7Sopenharmony_ci  subsystem_name = "graphic"
141e5c31af7Sopenharmony_ci}
142