load("//bazel:skia_rules.bzl", "skia_cc_library", "skia_objc_library")

package(
    default_applicable_licenses = ["//:license"],
)

licenses(["notice"])

skia_cc_library(
    name = "common_ganesh_utils",
    testonly = True,
    srcs = [
        "AtlasTextOpTools.cpp",
        "AtlasTextOpTools.h",
        "GrAtlasTools.cpp",
        "GrAtlasTools.h",
        "GrTest.cpp",
        "MemoryCache.cpp",
        "MemoryCache.h",
        "ProtectedUtils_Ganesh.cpp",
        "ProxyUtils.cpp",
        "ProxyUtils.h",
        "TestCanvas.cpp",
        "TestContext.cpp",
        "TestContext.h",
        "TestOps.cpp",
        "TestOps.h",
        "//tools/ganesh/mock:srcs",
    ],
    hdrs = [
        "//tools/ganesh:GpuTimer.h",
        "//tools/ganesh:TestCanvas.h",
        "//tools/ganesh/mock:hdrs",
    ],
    visibility = ["//tools/ganesh:__subpackages__"],
    deps = [
        "//:png_encode_codec",
        "//src/gpu/ganesh:ganesh_TEST_UTIL",
        "//tools/gpu:shared_utils",
        "//tools/text/gpu:gpu_text_utils",
    ],
)

# OpenGL needed for CreatePlatformGLTestContext_mac.cpp (which is included as a filegroup).
skia_objc_library(
    name = "ganesh_gl_utils_frameworks",
    sdk_frameworks = ["OpenGL"],
    deps = [],
)

skia_cc_library(
    name = "ganesh_gl_utils",
    testonly = True,
    srcs = [
        "GrContextFactory.cpp",
        "//tools/ganesh/gl:srcs",
    ],
    hdrs = [
        "GrContextFactory.h",
        "//tools/ganesh/gl:private_hdrs",
    ],
    visibility = [
        "//bench:__subpackages__",
        "//dm:__pkg__",
        "//modules/skottie:__pkg__",
        "//tools:__subpackages__",
    ],
    deps = [
        ":common_ganesh_utils",
        "//src/gpu/ganesh/gl:ganesh_gl_TEST_UTIL",
    ] + select({
        "@platforms//os:macos": [
            ":ganesh_gl_utils_frameworks",
            "//src/gpu/ganesh/gl/mac:mac_factory_TEST_UTIL",
            "//tools:autorelease_pool_objc",
            "//tools/ganesh/mtl:ganesh_metal_test_context",
        ],
        "//bazel/common_config_settings:linux_x64": [
            "//src/gpu/ganesh/gl/glx:glx_factory_TEST_UTIL",
        ],
        "@platforms//os:windows": [
            "//src/gpu/ganesh/gl/win:win_factory_TEST_UTIL",
        ],
        "//conditions:default": ["//tools:autorelease_pool"],
    }),
)

skia_cc_library(
    name = "ddl_utils",
    testonly = True,
    srcs = [
        "//tools/ganesh:DDLPromiseImageHelper.cpp",
        "//tools/ganesh:DDLTileHelper.cpp",
    ],
    hdrs = [
        "//tools/ganesh:DDLPromiseImageHelper.h",
        "//tools/ganesh:DDLTileHelper.h",
    ],
    visibility = ["//dm:__pkg__"],
    deps = [
        "//:core",
        "//src/codec:codec_support_priv",
        "//src/gpu/ganesh:ganesh_TEST_UTIL",
    ],
)

skia_cc_library(
    name = "ganesh_d3d_utils",
    testonly = True,
    srcs = [
        "GrContextFactory.cpp",
        "//tools/ganesh/d3d:srcs",
    ],
    hdrs = [
        "GrContextFactory.h",
        "//tools/ganesh/d3d:private_hdrs",
    ],
    target_compatible_with = select({
        "@platforms//os:windows": [],
        "//conditions:default": ["@platforms//:incompatible"],
    }),
    visibility = [
        "//tools:__subpackages__",
    ],
    deps = [
        ":common_ganesh_utils",
        "//src/gpu/ganesh/d3d:ganesh_d3d_TEST_UTIL",
        "//tools:autorelease_pool",
        "@d3d12allocator",
    ],
)
