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-gl build
15
16import("//build/ohos.gni")
17import("//third_party/vk-gl-cts/vk_gl_cts.gni")
18
19config("glcts-gl_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-gl_source") {
30  sources = [
31    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cClipDistance.cpp",
32    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cCommonBugsTests.cpp",
33    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cCullDistanceTests.cpp",
34    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cGLSLnoperspectiveTests.cpp",
35    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cGPUShader5Tests.cpp",
36    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cTestPackages.cpp",
37    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cTextureSizePromotion.cpp",
38    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cTextureSwizzleTests.cpp",
39    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cTransformFeedbackOverflowQueryTests.cpp",
40    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl3cTransformFeedbackTests.cpp",
41    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cBufferStorageTests.cpp",
42    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cClipControlTests.cpp",
43    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cComputeShaderTests.cpp",
44    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cConditionalRenderInvertedTests.cpp",
45    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cCopyImageTests.cpp",
46    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessBuffersTests.cpp",
47    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessFramebuffersAndRenderbuffersTests.cpp",
48    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessProgramPipelinesTests.cpp",
49    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessQueriesTests.cpp",
50    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessSamplersTests.cpp",
51    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessTests.cpp",
52    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessTexturesTests.cpp",
53    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessVertexArraysTests.cpp",
54    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cDirectStateAccessXFBTests.cpp",
55    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cES31CompatibilitySampleVariablesTests.cpp",
56    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cES31CompatibilityShaderImageLoadStoreTests.cpp",
57    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cES31CompatibilityShaderStorageBufferObjectTests.cpp",
58    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cES31CompatibilityTests.cpp",
59    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cEnhancedLayoutsTests.cpp",
60    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cGPUShaderFP64Tests.cpp",
61    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cGetTextureSubImageTests.cpp",
62    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cGlSpirvTests.cpp",
63    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cIncompleteTextureAccessTests.cpp",
64    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cIndirectParametersTests.cpp",
65    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cLimitsTests.cpp",
66    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cMapBufferAlignmentTests.cpp",
67    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cMultiBindTests.cpp",
68    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cPipelineStatisticsQueryTests.cpp",
69    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cPostDepthCoverageTests.cpp",
70    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cProgramInterfaceQueryTests.cpp",
71    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderAtomicCounterOpsTests.cpp",
72    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderAtomicCountersTests.cpp",
73    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderBallotTests.cpp",
74    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderDrawParametersTests.cpp",
75    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderImageLoadStoreTests.cpp",
76    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderImageSizeTests.cpp",
77    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderStorageBufferObjectTests.cpp",
78    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderSubroutineTests.cpp",
79    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderTextureImageSamplesTests.cpp",
80    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShaderViewportLayerArrayTests.cpp",
81    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cShadingLanguage420PackTests.cpp",
82    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cSparseBufferTests.cpp",
83    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cSparseTexture2Tests.cpp",
84    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cSparseTextureClampTests.cpp",
85    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cSparseTextureTests.cpp",
86    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cSpirvExtensionsTests.cpp",
87    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cStencilTexturingTests.cpp",
88    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cSyncTests.cpp",
89    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cTestPackages.cpp",
90    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cTextureBarrierTests.cpp",
91    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cTextureFilterMinmaxTests.cpp",
92    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cTextureGatherTests.cpp",
93    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cTextureViewTests.cpp",
94    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cVertexAttrib64BitTest.cpp",
95    "//third_party/vk-gl-cts/external/openglcts/modules/gl/gl4cVertexAttribBindingTests.cpp",
96  ]
97  include_dirs = [
98    "//third_party/zlib/src",
99    "//third_party/spirv-headers/include",
100
101    #"//third_party/vk-gl-cts/external/amber",
102    #"//third_party/vk-gl-cts/external/renderdoc/src",
103    "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan",
104    "//third_party/vk-gl-cts/external/openglcts/include",
105    "//third_party/vk-gl-cts/external/openglcts/framework/egl/wrapper",
106    "//third_party/vk-gl-cts/external/openglcts/modules/common",
107    "//third_party/vk-gl-cts/external/openglcts/modules/gl",
108    "//third_party/vk-gl-cts/external/openglcts/modules/gles2",
109    "//third_party/vk-gl-cts/external/openglcts/modules/gles3",
110    "//third_party/vk-gl-cts/external/openglcts/modules/gles31",
111    "//third_party/vk-gl-cts/external/openglcts/modules/gles32",
112    "//third_party/vk-gl-cts/external/openglcts/modules/glesext",
113    "//third_party/vk-gl-cts/external/openglcts/modules",
114    "//third_party/vk-gl-cts/modules/glshared",
115
116    #"//third_party/vk-gl-cts/build/external/vulkancts/framework/vulkan",
117    "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan/generated/vulkan",
118    "//third_party/glslang/glslang",
119    "//third_party/vk-gl-cts/build/include",
120    "//third_party/glslang/SPIRV",
121    "//third_party/spirv-tools/include",
122  ]
123  include_dirs += deqp_common_include_dirs
124
125  deps = [
126    "//third_party/libpng:libpng",
127    "//third_party/vk-gl-cts/external/openglcts/modules/common:libdeqp_glcts-common",
128    "//third_party/vk-gl-cts/external/vulkancts/framework/vulkan:libdeqp_vkutilnoshader",
129    "//third_party/vk-gl-cts/framework/common:libdeqp_tcutil",
130    "//third_party/vk-gl-cts/framework/opengl:libdeqp_glutil",
131    "//third_party/vk-gl-cts/framework/opengl/wrapper:libdeqp_glwrapper",
132  ]
133
134  configs = [ ":glcts-gl_config" ]
135}
136
137ohos_static_library("libdeqp_glcts-gl") {
138  deps = [ ":glcts-gl_source" ]
139  part_name = "graphic_2d"
140  subsystem_name = "graphic"
141}
142