| load("//bazel:macros.bzl", "bool_flag", "exports_files_legacy", "skia_cc_deps", "split_srcs_and_hdrs") |
| |
| licenses(["notice"]) |
| |
| exports_files_legacy() |
| |
| CORE_FILES = [ |
| "GrGLAssembleGLESInterfaceAutogen.cpp", |
| "GrGLAssembleGLInterfaceAutogen.cpp", |
| "GrGLAssembleHelpers.cpp", |
| "GrGLAssembleInterface.cpp", |
| "GrGLAssembleWebGLInterfaceAutogen.cpp", |
| "GrGLAttachment.cpp", |
| "GrGLAttachment.h", |
| "GrGLBuffer.cpp", |
| "GrGLBuffer.h", |
| "GrGLCaps.cpp", |
| "GrGLCaps.h", |
| "GrGLContext.cpp", |
| "GrGLContext.h", |
| "GrGLDefines_impl.h", |
| "GrGLExtensions.cpp", |
| "GrGLGLSL.cpp", |
| "GrGLGLSL.h", |
| "GrGLGpu.cpp", |
| "GrGLGpu.h", |
| "GrGLGpuProgramCache.cpp", |
| "GrGLInterfaceAutogen.cpp", |
| "GrGLOpsRenderPass.cpp", |
| "GrGLOpsRenderPass.h", |
| "GrGLProgram.cpp", |
| "GrGLProgram.h", |
| "GrGLProgramDataManager.cpp", |
| "GrGLProgramDataManager.h", |
| "GrGLRenderTarget.cpp", |
| "GrGLRenderTarget.h", |
| "GrGLSemaphore.cpp", |
| "GrGLSemaphore.h", |
| "GrGLTexture.cpp", |
| "GrGLTexture.h", |
| "GrGLTextureRenderTarget.cpp", |
| "GrGLTextureRenderTarget.h", |
| "GrGLTypesPriv.cpp", |
| "GrGLUniformHandler.cpp", |
| "GrGLUniformHandler.h", |
| "GrGLUtil.cpp", |
| "GrGLUtil.h", |
| "GrGLVaryingHandler.h", |
| "GrGLVertexArray.cpp", |
| "GrGLVertexArray.h", |
| ] |
| |
| split_srcs_and_hdrs( |
| name = "core", |
| files = CORE_FILES, |
| ) |
| |
| bool_flag( |
| name = "enable_native_interface", |
| default = True, |
| ) |
| |
| # In own group for mapping to //gn/gpu.gni:skia_null_gpu_sources. |
| filegroup( |
| name = "native_interface_none", |
| srcs = ["GrGLMakeNativeInterface_none.cpp"], |
| ) |
| |
| filegroup( |
| name = "native_interface", |
| srcs = select({ |
| "//bazel/common_config_settings:linux_x64": ["//src/gpu/ganesh/gl/glx:srcs"], |
| "//bazel/common_config_settings:cpu_wasm": ["//src/gpu/ganesh/gl/webgl:srcs"], |
| "@platforms//os:android": ["//src/gpu/ganesh/gl/egl:srcs"], |
| "@platforms//os:ios": ["//src/gpu/ganesh/gl/iOS:srcs"], |
| "@platforms//os:macos": ["//src/gpu/ganesh/gl/mac:srcs"], |
| "@platforms//os:windows": ["//src/gpu/ganesh/gl/win:srcs"], |
| "//conditions:default": [":native_interface_none"], |
| }), |
| ) |
| |
| filegroup( |
| name = "srcs", |
| srcs = [ |
| ":core_srcs", |
| "//src/gpu/ganesh/gl/builders:srcs", |
| ] + select({ |
| ":enable_native_interface_true": [":native_interface"], |
| ":enable_native_interface_false": [":native_interface_none"], |
| }), |
| visibility = ["//src/gpu/ganesh:__pkg__"], |
| ) |
| |
| filegroup( |
| name = "private_hdrs", |
| srcs = [ |
| ":core_hdrs", |
| "//src/gpu/ganesh/gl/builders:private_hdrs", |
| ], |
| visibility = ["//src/gpu/ganesh:__pkg__"], |
| ) |
| |
| skia_cc_deps( |
| name = "deps", |
| linkopts = select({ |
| "@platforms//os:android": ["-landroid"], |
| "@platforms//os:linux": ["-lGL"], |
| # TODO(kjlubick) need OpenGL32.lib for non-arm windows |
| "//conditions:default": [], |
| }), |
| visibility = ["//src/gpu/ganesh:__pkg__"], |
| ) |