1load("//bazel:flags.bzl", "bool_flag") 2load("//bazel:skia_rules.bzl", "exports_files_legacy", "generate_cpp_files_for_headers", "skia_cc_deps", "skia_cc_library", "skia_filegroup", "split_srcs_and_hdrs") 3 4package( 5 default_applicable_licenses = ["//:license"], 6) 7 8licenses(["notice"]) 9 10exports_files_legacy() 11 12CORE_FILES = [ 13 "GrGLAssembleGLESInterfaceAutogen.cpp", 14 "GrGLAssembleGLInterfaceAutogen.cpp", 15 "GrGLAssembleHelpers.cpp", 16 "GrGLAssembleInterface.cpp", 17 "GrGLAssembleWebGLInterfaceAutogen.cpp", 18 "GrGLAttachment.cpp", 19 "GrGLAttachment.h", 20 "GrGLBuffer.cpp", 21 "GrGLBuffer.h", 22 "GrGLCaps.cpp", 23 "GrGLCaps.h", 24 "GrGLContext.cpp", 25 "GrGLContext.h", 26 "GrGLCoreFunctions.h", 27 "GrGLDefines.h", 28 "GrGLDirectContext.cpp", 29 "GrGLExtensions.cpp", 30 "GrGLBackendSurface.cpp", 31 "GrGLBackendSurfacePriv.h", 32 "GrGLFinishCallbacks.cpp", 33 "GrGLFinishCallbacks.h", 34 "GrGLGLSL.cpp", 35 "GrGLGLSL.h", 36 "GrGLGpu.cpp", 37 "GrGLGpu.h", 38 "GrGLGpuProgramCache.cpp", 39 "GrGLInterfaceAutogen.cpp", 40 "GrGLOpsRenderPass.cpp", 41 "GrGLOpsRenderPass.h", 42 "GrGLProgram.cpp", 43 "GrGLProgram.h", 44 "GrGLProgramDataManager.cpp", 45 "GrGLProgramDataManager.h", 46 "GrGLRenderTarget.cpp", 47 "GrGLRenderTarget.h", 48 "GrGLSemaphore.cpp", 49 "GrGLSemaphore.h", 50 "GrGLTexture.cpp", 51 "GrGLTexture.h", 52 "GrGLTextureRenderTarget.cpp", 53 "GrGLTextureRenderTarget.h", 54 "GrGLTypesPriv.cpp", 55 "GrGLTypesPriv.h", 56 "GrGLUniformHandler.cpp", 57 "GrGLUniformHandler.h", 58 "GrGLUtil.cpp", 59 "GrGLUtil.h", 60 "GrGLVaryingHandler.h", 61 "GrGLVertexArray.cpp", 62 "GrGLVertexArray.h", 63] 64 65split_srcs_and_hdrs( 66 name = "core", 67 files = CORE_FILES, 68) 69 70bool_flag( 71 name = "enable_native_interface", 72 default = True, 73) 74 75# In own group for mapping to //gn/gpu.gni:skia_null_gpu_sources. 76skia_filegroup( 77 name = "native_interface_none", 78 srcs = ["GrGLMakeNativeInterface_none.cpp"], 79) 80 81skia_filegroup( 82 name = "native_interface", 83 srcs = select({ 84 "//bazel/common_config_settings:linux_x64": ["//src/gpu/ganesh/gl/glx:srcs"], 85 "//bazel/common_config_settings:cpu_wasm": ["//src/gpu/ganesh/gl/webgl:srcs"], 86 "@platforms//os:android": ["//src/gpu/ganesh/gl/egl:srcs"], 87 "@platforms//os:ios": ["//src/gpu/ganesh/gl/iOS:srcs"], 88 "@platforms//os:macos": ["//src/gpu/ganesh/gl/mac:srcs"], 89 "@platforms//os:windows": ["//src/gpu/ganesh/gl/win:srcs"], 90 "//conditions:default": [":native_interface_none"], 91 }), 92) 93 94skia_filegroup( 95 name = "android_srcs", 96 srcs = ["AHardwareBufferGL.cpp"], 97) 98 99skia_filegroup( 100 name = "srcs", 101 srcs = [ 102 ":android_srcs", 103 ":core_srcs", 104 "//src/gpu/ganesh/gl/builders:srcs", 105 ] + select({ 106 ":enable_native_interface_true": [":native_interface"], 107 ":enable_native_interface_false": [":native_interface_none"], 108 }), 109 visibility = ["//src/gpu/ganesh:__pkg__"], 110) 111 112skia_filegroup( 113 name = "private_hdrs", 114 srcs = [ 115 ":core_hdrs", 116 "//src/gpu/ganesh/gl/builders:private_hdrs", 117 ], 118 visibility = ["//src/gpu/ganesh:__pkg__"], 119) 120 121skia_cc_deps( 122 name = "deps", 123 linkopts = select({ 124 "@platforms//os:android": ["-lGLESv2"], 125 "@platforms//os:linux": ["-lGL"], 126 # TODO(kjlubick) need OpenGL32.lib for non-arm windows 127 "//conditions:default": [], 128 }), 129 visibility = ["//src/gpu/ganesh:__pkg__"], 130) 131 132skia_cc_library( 133 name = "ganesh_gl", 134 srcs = [ 135 ":core_hdrs", 136 ":core_srcs", 137 "//src/gpu/ganesh/gl/builders:private_hdrs", 138 "//src/gpu/ganesh/gl/builders:srcs", 139 ], 140 hdrs = [ 141 "//include/gpu:ganesh_hdrs", 142 "//include/gpu/ganesh:ganesh_hdrs", 143 "//include/gpu/ganesh/gl:public_hdrs", 144 "//include/gpu/gl:ganesh_gl_hdrs", 145 ], 146 defines = [ 147 "SK_DISABLE_LEGACY_GL_MAKE_NATIVE_INTERFACE", 148 "SK_GL", 149 ], 150 features = ["layering_check"], 151 visibility = ["//:__pkg__"], 152 deps = [ 153 "//:core", 154 "//src/base", 155 "//src/core:core_priv", 156 "//src/gpu", 157 "//src/gpu/ganesh", 158 "//src/sksl/codegen:glsl", 159 ], 160) 161 162skia_cc_library( 163 name = "ganesh_gl_TEST_UTIL", 164 testonly = True, 165 srcs = [ 166 ":core_hdrs", 167 ":core_srcs", 168 "//src/gpu/ganesh/gl/builders:private_hdrs", 169 "//src/gpu/ganesh/gl/builders:srcs", 170 ], 171 hdrs = [ 172 "//include/gpu:ganesh_hdrs", 173 "//include/gpu/ganesh:ganesh_hdrs", 174 "//include/gpu/ganesh/gl:public_hdrs", 175 "//include/gpu/gl:ganesh_gl_hdrs", 176 ], 177 defines = [ 178 "SK_DISABLE_LEGACY_GL_MAKE_NATIVE_INTERFACE", 179 "GR_TEST_UTILS", 180 "SK_GL", 181 ], 182 features = ["layering_check"], 183 visibility = [ 184 "//modules/skottie:__pkg__", 185 "//tools:__subpackages__", 186 ], 187 deps = [ 188 "//:core", 189 "//src/base", 190 "//src/core:core_priv", 191 "//src/gpu", 192 "//src/gpu/ganesh:ganesh_TEST_UTIL", 193 "//src/sksl/codegen:glsl", 194 ], 195) 196 197generate_cpp_files_for_headers( 198 name = "headers_to_compile", 199 headers = [ 200 "GrGLBackendSurfacePriv.h", 201 ], 202) 203