[infra] Experiment generating BUILD.bazel files

This uses the gazelle extension from
https://skia-review.googlesource.com/c/buildbot/+/473357

Review Tips:
 - Ignore any changes to .h or .cpp files. Those have been
   pulled out into their own CLs.
 - Start with bazel/macros.bzl.
 - Read the CL with the generation code, if you haven't already.
 - Look at third_party/file_map_for_bazel.json.
 - See experimental/bazel_test for an idea of how a cc_binary
   would be made.
 - Spot check one or two of the BUILD.bazel files.

This CL generates the "atomic" rules for src/, include/ and
modules/skshaper, as a starting point.

`bazel build --config clang //include/...` works

`bazel build --config clang //src/...` starts compiling,
(which verifies that the BUILD.bazel files are all valid),
but runs into errors because not all third_party deps have
been resolved, and there are some files missing from the
toolchain still (e.g. EGL headers).

Change-Id: Ib7e0fb0efdb9f08655f06cbc56e9bb4cf416294b
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/474240
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
diff --git a/bazel/macros.bzl b/bazel/macros.bzl
index d53208b..12458db 100644
--- a/bazel/macros.bzl
+++ b/bazel/macros.bzl
@@ -49,3 +49,21 @@
             "//conditions:default": default,
         })
     return rv
+
+def generated_cc_atom(name, **kwargs):
+    """A self-annotating label for a generated cc_library for exactly one file.
+
+    Args:
+        name: string, the name of the cc_library
+        **kwargs: All other arguments are passed verbatim to cc_library
+    """
+    if len(kwargs.get("srcs", [])) > 1 or len(kwargs.get("hdrs", [])) > 1:
+        fail("Cannot have more than one src or hdr file in generated_cc_atom")
+    if len(kwargs.get("srcs", [])) > 0 and len(kwargs.get("hdrs", [])) > 0:
+        fail("Cannot set both srcs and hdrs in generated_cc_atom")
+    if len(kwargs.get("srcs", [])) == 0 and len(kwargs.get("hdrs", [])) == 0:
+        fail("Must set exactly one of srcs or hdrs in generated_cc_atom")
+    native.cc_library(
+        name = name,
+        **kwargs
+    )
diff --git a/experimental/bazel_test/BUILD.bazel b/experimental/bazel_test/BUILD.bazel
index 10e62b4..16d57c7 100644
--- a/experimental/bazel_test/BUILD.bazel
+++ b/experimental/bazel_test/BUILD.bazel
@@ -1,8 +1,25 @@
-package(default_visibility = ["//:__subpackages__"])
+load("//bazel:macros.bzl", "generated_cc_atom")
+load("@rules_cc//cc:defs.bzl", "cc_binary")
 
-filegroup(
-    name = "srcs",
-    srcs = [
-        "bazel_test.cpp",
+cc_binary(
+    name = "bazel_test_exe",
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":bazel_test_src",
+        "//third_party:musl_compat",
+    ] + select({
+        "@platforms//os:windows": ["//src/ports:SkDebug_win_src"],
+        "@platforms//os:android": ["//src/ports:SkDebug_android_src"],
+        "//conditions:default": ["//src/ports:SkDebug_stdio_src"],
+    }),
+)
+
+generated_cc_atom(
+    name = "bazel_test_src",
+    srcs = ["bazel_test.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//third_party:libpng",
     ],
 )
diff --git a/experimental/bazel_test/bazel_test.cpp b/experimental/bazel_test/bazel_test.cpp
index 810447d..290a87d 100644
--- a/experimental/bazel_test/bazel_test.cpp
+++ b/experimental/bazel_test/bazel_test.cpp
@@ -1,6 +1,6 @@
 // Copyright 2020 Google LLC.
 // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
-#include <png.h>
+#include "png.h"
 #include <ctime>
 #include <iostream>
 
diff --git a/include/android/BUILD.bazel b/include/android/BUILD.bazel
index 0e6a7b3..0ee0f5a 100644
--- a/include/android/BUILD.bazel
+++ b/include/android/BUILD.bazel
@@ -1,9 +1,24 @@
-package(default_visibility = ["//visibility:public"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "hdrs",
-    srcs = [
-        "SkAndroidFrameworkUtils.h",
-        "SkAnimatedImage.h",
+generated_cc_atom(
+    name = "SkAndroidFrameworkUtils_hdr",
+    hdrs = ["SkAndroidFrameworkUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAnimatedImage_hdr",
+    hdrs = ["SkAnimatedImage.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/codec:SkCodecAnimation_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkDrawable_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkRect_hdr",
     ],
 )
diff --git a/include/c/BUILD.bazel b/include/c/BUILD.bazel
new file mode 100644
index 0000000..ffb4f7f
--- /dev/null
+++ b/include/c/BUILD.bazel
@@ -0,0 +1,91 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "sk_canvas_hdr",
+    hdrs = ["sk_canvas.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":sk_types_hdr"],
+)
+
+generated_cc_atom(
+    name = "sk_colorspace_hdr",
+    hdrs = ["sk_colorspace.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":sk_types_hdr"],
+)
+
+generated_cc_atom(
+    name = "sk_data_hdr",
+    hdrs = ["sk_data.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":sk_types_hdr"],
+)
+
+generated_cc_atom(
+    name = "sk_image_hdr",
+    hdrs = ["sk_image.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":sk_types_hdr"],
+)
+
+generated_cc_atom(
+    name = "sk_imageinfo_hdr",
+    hdrs = ["sk_imageinfo.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":sk_types_hdr"],
+)
+
+generated_cc_atom(
+    name = "sk_maskfilter_hdr",
+    hdrs = ["sk_maskfilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":sk_types_hdr"],
+)
+
+generated_cc_atom(
+    name = "sk_matrix_hdr",
+    hdrs = ["sk_matrix.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":sk_types_hdr"],
+)
+
+generated_cc_atom(
+    name = "sk_paint_hdr",
+    hdrs = ["sk_paint.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":sk_types_hdr"],
+)
+
+generated_cc_atom(
+    name = "sk_path_hdr",
+    hdrs = ["sk_path.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":sk_types_hdr"],
+)
+
+generated_cc_atom(
+    name = "sk_picture_hdr",
+    hdrs = ["sk_picture.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":sk_types_hdr"],
+)
+
+generated_cc_atom(
+    name = "sk_shader_hdr",
+    hdrs = ["sk_shader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":sk_types_hdr"],
+)
+
+generated_cc_atom(
+    name = "sk_surface_hdr",
+    hdrs = ["sk_surface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":sk_types_hdr"],
+)
+
+generated_cc_atom(
+    name = "sk_types_hdr",
+    hdrs = ["sk_types.h"],
+    visibility = ["//:__subpackages__"],
+)
diff --git a/include/codec/BUILD.bazel b/include/codec/BUILD.bazel
index 9f767fc..27db9c4 100644
--- a/include/codec/BUILD.bazel
+++ b/include/codec/BUILD.bazel
@@ -1,11 +1,47 @@
-package(default_visibility = ["//visibility:public"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "hdrs",
-    srcs = [
-        "SkAndroidCodec.h",
-        "SkCodec.h",
-        "SkCodecAnimation.h",
-        "SkEncodedOrigin.h",
+generated_cc_atom(
+    name = "SkAndroidCodec_hdr",
+    hdrs = ["SkAndroidCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodec_hdr",
+        "//include/core:SkEncodedImageFormat_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
     ],
 )
+
+generated_cc_atom(
+    name = "SkCodecAnimation_hdr",
+    hdrs = ["SkCodecAnimation.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkCodec_hdr",
+    hdrs = ["SkCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecAnimation_hdr",
+        ":SkEncodedOrigin_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkEncodedImageFormat_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkPixmap_hdr",
+        "//include/core:SkSize_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/core:SkYUVAPixmaps_hdr",
+        "//include/private:SkEncodedInfo_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkEncodedOrigin_hdr",
+    hdrs = ["SkEncodedOrigin.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkMatrix_hdr"],
+)
diff --git a/include/config/BUILD.bazel b/include/config/BUILD.bazel
index 06bcaa7..ad2d64d 100644
--- a/include/config/BUILD.bazel
+++ b/include/config/BUILD.bazel
@@ -1,8 +1,7 @@
-package(default_visibility = ["//:__subpackages__"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "hdrs",
-    srcs = [
-        "SkUserConfig.h",
-    ],
+generated_cc_atom(
+    name = "SkUserConfig_hdr",
+    hdrs = ["SkUserConfig.h"],
+    visibility = ["//:__subpackages__"],
 )
diff --git a/include/core/BUILD.bazel b/include/core/BUILD.bazel
index 26e0a22..c42ddfe 100644
--- a/include/core/BUILD.bazel
+++ b/include/core/BUILD.bazel
@@ -1,98 +1,936 @@
-package(default_visibility = ["//visibility:public"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "hdrs",
-    srcs = [
-        "SkAnnotation.h",
-        "SkBBHFactory.h",
-        "SkBitmap.h",
-        "SkBlendMode.h",
-        "SkBlender.h",
-        "SkBlurTypes.h",
-        "SkCanvas.h",
-        "SkCanvasVirtualEnforcer.h",
-        "SkClipOp.h",
-        "SkColor.h",
-        "SkColorFilter.h",
-        "SkColorPriv.h",
-        "SkColorSpace.h",
-        "SkContourMeasure.h",
-        "SkCoverageMode.h",
-        "SkCubicMap.h",
-        "SkData.h",
-        "SkDataTable.h",
-        "SkDeferredDisplayList.h",
-        "SkDeferredDisplayListRecorder.h",
-        "SkDocument.h",
-        "SkDrawLooper.h",
-        "SkDrawable.h",
-        "SkEncodedImageFormat.h",
-        "SkExecutor.h",
-        "SkFlattenable.h",
-        "SkFont.h",
-        "SkFontArguments.h",
-        "SkFontMetrics.h",
-        "SkFontMgr.h",
-        "SkFontParameters.h",
-        "SkFontStyle.h",
-        "SkFontTypes.h",
-        "SkGraphics.h",
-        "SkICC.h",
-        "SkImage.h",
-        "SkImageEncoder.h",
-        "SkImageFilter.h",
-        "SkImageGenerator.h",
-        "SkImageInfo.h",
-        "SkM44.h",
-        "SkMallocPixelRef.h",
-        "SkMaskFilter.h",
-        "SkMath.h",
-        "SkMatrix.h",
-        "SkMilestone.h",
-        "SkOverdrawCanvas.h",
-        "SkPaint.h",
-        "SkPath.h",
-        "SkPathBuilder.h",
-        "SkPathEffect.h",
-        "SkPathMeasure.h",
-        "SkPathTypes.h",
-        "SkPicture.h",
-        "SkPictureRecorder.h",
-        "SkPixelRef.h",
-        "SkPixmap.h",
-        "SkPngChunkReader.h",
-        "SkPoint.h",
-        "SkPoint3.h",
-        "SkPromiseImageTexture.h",
-        "SkRRect.h",
-        "SkRSXform.h",
-        "SkRasterHandleAllocator.h",
-        "SkRect.h",
-        "SkRefCnt.h",
-        "SkRegion.h",
-        "SkSamplingOptions.h",
-        "SkScalar.h",
-        "SkSerialProcs.h",
-        "SkShader.h",
-        "SkSize.h",
-        "SkSpan.h",
-        "SkStream.h",
-        "SkString.h",
-        "SkStringView.h",
-        "SkStrokeRec.h",
-        "SkSurface.h",
-        "SkSurfaceCharacterization.h",
-        "SkSurfaceProps.h",
-        "SkSwizzle.h",
-        "SkTextBlob.h",
-        "SkTileMode.h",
-        "SkTime.h",
-        "SkTraceMemoryDump.h",
-        "SkTypeface.h",
-        "SkTypes.h",
-        "SkUnPreMultiply.h",
-        "SkVertices.h",
-        "SkYUVAInfo.h",
-        "SkYUVAPixmaps.h",
+generated_cc_atom(
+    name = "SkAnnotation_hdr",
+    hdrs = ["SkAnnotation.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkBBHFactory_hdr",
+    hdrs = ["SkBBHFactory.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRect_hdr",
+        ":SkRefCnt_hdr",
+        ":SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBitmap_hdr",
+    hdrs = ["SkBitmap.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColor_hdr",
+        ":SkImageInfo_hdr",
+        ":SkMatrix_hdr",
+        ":SkPixmap_hdr",
+        ":SkPoint_hdr",
+        ":SkRefCnt_hdr",
+        ":SkShader_hdr",
+        ":SkTileMode_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlendMode_hdr",
+    hdrs = ["SkBlendMode.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkBlender_hdr",
+    hdrs = ["SkBlender.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlendMode_hdr",
+        ":SkFlattenable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlurTypes_hdr",
+    hdrs = ["SkBlurTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkCanvasVirtualEnforcer_hdr",
+    hdrs = ["SkCanvasVirtualEnforcer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkCanvas_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkCanvas_hdr",
+    hdrs = ["SkCanvas.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlendMode_hdr",
+        ":SkClipOp_hdr",
+        ":SkColor_hdr",
+        ":SkFontTypes_hdr",
+        ":SkImageInfo_hdr",
+        ":SkM44_hdr",
+        ":SkMatrix_hdr",
+        ":SkPaint_hdr",
+        ":SkPoint_hdr",
+        ":SkRasterHandleAllocator_hdr",
+        ":SkRect_hdr",
+        ":SkRefCnt_hdr",
+        ":SkSamplingOptions_hdr",
+        ":SkScalar_hdr",
+        ":SkSize_hdr",
+        ":SkString_hdr",
+        ":SkSurfaceProps_hdr",
+        ":SkTypes_hdr",
+        "//include/private:SkDeque_hdr",
+        "//include/private:SkMacros_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkClipOp_hdr",
+    hdrs = ["SkClipOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkColorFilter_hdr",
+    hdrs = ["SkColorFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlendMode_hdr",
+        ":SkColor_hdr",
+        ":SkFlattenable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorPriv_hdr",
+    hdrs = ["SkColorPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColor_hdr",
+        ":SkMath_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorSpace_hdr",
+    hdrs = ["SkColorSpace.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRefCnt_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkOnce_hdr",
+        "//include/third_party/skcms:skcms_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColor_hdr",
+    hdrs = ["SkColor.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImageInfo_hdr",
+        ":SkScalar_hdr",
+        ":SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkContourMeasure_hdr",
+    hdrs = ["SkContourMeasure.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPath_hdr",
+        ":SkRefCnt_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCoverageMode_hdr",
+    hdrs = ["SkCoverageMode.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkCubicMap_hdr",
+    hdrs = ["SkCubicMap.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkPoint_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkDataTable_hdr",
+    hdrs = ["SkDataTable.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkData_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkData_hdr",
+    hdrs = ["SkData.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkRefCnt_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkDeferredDisplayListRecorder_hdr",
+    hdrs = ["SkDeferredDisplayListRecorder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDeferredDisplayList_hdr",
+        ":SkImageInfo_hdr",
+        ":SkImage_hdr",
+        ":SkRefCnt_hdr",
+        ":SkSurfaceCharacterization_hdr",
+        ":SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDeferredDisplayList_hdr",
+    hdrs = ["SkDeferredDisplayList.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRefCnt_hdr",
+        ":SkSurfaceCharacterization_hdr",
+        ":SkTypes_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDocument_hdr",
+    hdrs = ["SkDocument.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRefCnt_hdr",
+        ":SkScalar_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDrawLooper_hdr",
+    hdrs = ["SkDrawLooper.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlurTypes_hdr",
+        ":SkColor_hdr",
+        ":SkFlattenable_hdr",
+        ":SkPoint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDrawable_hdr",
+    hdrs = ["SkDrawable.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFlattenable_hdr",
+        ":SkImageInfo_hdr",
+        ":SkScalar_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkEncodedImageFormat_hdr",
+    hdrs = ["SkEncodedImageFormat.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkExecutor_hdr",
+    hdrs = ["SkExecutor.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkFlattenable_hdr",
+    hdrs = ["SkFlattenable.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkRefCnt_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkFontArguments_hdr",
+    hdrs = ["SkFontArguments.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkScalar_hdr",
+        ":SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMetrics_hdr",
+    hdrs = ["SkFontMetrics.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkScalar_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_hdr",
+    hdrs = ["SkFontMgr.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontArguments_hdr",
+        ":SkFontStyle_hdr",
+        ":SkRefCnt_hdr",
+        ":SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontParameters_hdr",
+    hdrs = ["SkFontParameters.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkScalar_hdr",
+        ":SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontStyle_hdr",
+    hdrs = ["SkFontStyle.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTypes_hdr",
+        "//include/private:SkTPin_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontTypes_hdr",
+    hdrs = ["SkFontTypes.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkFont_hdr",
+    hdrs = ["SkFont.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontTypes_hdr",
+        ":SkScalar_hdr",
+        ":SkTypeface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGraphics_hdr",
+    hdrs = ["SkGraphics.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkRefCnt_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkICC_hdr",
+    hdrs = ["SkICC.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkData_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkImageEncoder_hdr",
+    hdrs = ["SkImageEncoder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmap_hdr",
+        ":SkData_hdr",
+        ":SkEncodedImageFormat_hdr",
+        ":SkPixmap_hdr",
+        ":SkStream_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageFilter_hdr",
+    hdrs = ["SkImageFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFlattenable_hdr",
+        ":SkMatrix_hdr",
+        ":SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageGenerator_hdr",
+    hdrs = ["SkImageGenerator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmap_hdr",
+        ":SkColor_hdr",
+        ":SkImageInfo_hdr",
+        ":SkImage_hdr",
+        ":SkYUVAPixmaps_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageInfo_hdr",
+    hdrs = ["SkImageInfo.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorSpace_hdr",
+        ":SkMath_hdr",
+        ":SkRect_hdr",
+        ":SkSize_hdr",
+        "//include/private:SkTFitsIn_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImage_hdr",
+    hdrs = ["SkImage.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImageEncoder_hdr",
+        ":SkImageInfo_hdr",
+        ":SkM44_hdr",
+        ":SkRefCnt_hdr",
+        ":SkSamplingOptions_hdr",
+        ":SkScalar_hdr",
+        ":SkShader_hdr",
+        ":SkTileMode_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkM44_hdr",
+    hdrs = ["SkM44.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMatrix_hdr",
+        ":SkRect_hdr",
+        ":SkScalar_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMallocPixelRef_hdr",
+    hdrs = ["SkMallocPixelRef.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPixelRef_hdr",
+        ":SkRefCnt_hdr",
+        ":SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMaskFilter_hdr",
+    hdrs = ["SkMaskFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlurTypes_hdr",
+        ":SkCoverageMode_hdr",
+        ":SkFlattenable_hdr",
+        ":SkScalar_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMath_hdr",
+    hdrs = ["SkMath.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkMatrix_hdr",
+    hdrs = ["SkMatrix.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRect_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMilestone_hdr",
+    hdrs = ["SkMilestone.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkOverdrawCanvas_hdr",
+    hdrs = ["SkOverdrawCanvas.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCanvasVirtualEnforcer_hdr",
+        "//include/utils:SkNWayCanvas_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPaint_hdr",
+    hdrs = ["SkPaint.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlendMode_hdr",
+        ":SkColor_hdr",
+        ":SkRefCnt_hdr",
+        "//include/private:SkTOptional_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathBuilder_hdr",
+    hdrs = ["SkPathBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMatrix_hdr",
+        ":SkPathTypes_hdr",
+        ":SkPath_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathEffect_hdr",
+    hdrs = ["SkPathEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFlattenable_hdr",
+        ":SkPath_hdr",
+        ":SkScalar_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathMeasure_hdr",
+    hdrs = ["SkPathMeasure.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkContourMeasure_hdr",
+        ":SkPath_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathTypes_hdr",
+    hdrs = ["SkPathTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPath_hdr",
+    hdrs = ["SkPath.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMatrix_hdr",
+        ":SkPathTypes_hdr",
+        "//include/private:SkPathRef_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPictureRecorder_hdr",
+    hdrs = ["SkPictureRecorder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBBHFactory_hdr",
+        ":SkPicture_hdr",
+        ":SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPicture_hdr",
+    hdrs = ["SkPicture.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRect_hdr",
+        ":SkRefCnt_hdr",
+        ":SkSamplingOptions_hdr",
+        ":SkShader_hdr",
+        ":SkTileMode_hdr",
+        ":SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPixelRef_hdr",
+    hdrs = ["SkPixelRef.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmap_hdr",
+        ":SkImageInfo_hdr",
+        ":SkPixmap_hdr",
+        ":SkRefCnt_hdr",
+        ":SkSize_hdr",
+        "//include/private:SkIDChangeListener_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPixmap_hdr",
+    hdrs = ["SkPixmap.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColor_hdr",
+        ":SkImageInfo_hdr",
+        ":SkSamplingOptions_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPngChunkReader_hdr",
+    hdrs = ["SkPngChunkReader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRefCnt_hdr",
+        ":SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPoint3_hdr",
+    hdrs = ["SkPoint3.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkPoint_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPoint_hdr",
+    hdrs = ["SkPoint.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMath_hdr",
+        ":SkScalar_hdr",
+        "//include/private:SkSafe32_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPromiseImageTexture_hdr",
+    hdrs = ["SkPromiseImageTexture.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRefCnt_hdr",
+        ":SkTypes_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/private:GrResourceKey_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRRect_hdr",
+    hdrs = ["SkRRect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPoint_hdr",
+        ":SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRSXform_hdr",
+    hdrs = ["SkRSXform.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPoint_hdr",
+        ":SkSize_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRasterHandleAllocator_hdr",
+    hdrs = ["SkRasterHandleAllocator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkImageInfo_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkRect_hdr",
+    hdrs = ["SkRect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPoint_hdr",
+        ":SkSize_hdr",
+        "//include/private:SkSafe32_hdr",
+        "//include/private:SkTFitsIn_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRefCnt_hdr",
+    hdrs = ["SkRefCnt.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkRegion_hdr",
+    hdrs = ["SkRegion.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkRect_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSamplingOptions_hdr",
+    hdrs = ["SkSamplingOptions.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkScalar_hdr",
+    hdrs = ["SkScalar.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkFloatingPoint_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSerialProcs_hdr",
+    hdrs = ["SkSerialProcs.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImage_hdr",
+        ":SkPicture_hdr",
+        ":SkTypeface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShader_hdr",
+    hdrs = ["SkShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlendMode_hdr",
+        ":SkColor_hdr",
+        ":SkFlattenable_hdr",
+        ":SkImageInfo_hdr",
+        ":SkMatrix_hdr",
+        ":SkTileMode_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSize_hdr",
+    hdrs = ["SkSize.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkScalar_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSpan_hdr",
+    hdrs = ["SkSpan.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkTLogic_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkStream_hdr",
+    hdrs = ["SkStream.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkData_hdr",
+        ":SkRefCnt_hdr",
+        ":SkScalar_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStringView_hdr",
+    hdrs = ["SkStringView.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkString_hdr",
+    hdrs = ["SkString.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRefCnt_hdr",
+        ":SkScalar_hdr",
+        ":SkTypes_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStrokeRec_hdr",
+    hdrs = ["SkStrokeRec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPaint_hdr",
+        "//include/private:SkMacros_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSurfaceCharacterization_hdr",
+    hdrs = ["SkSurfaceCharacterization.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorSpace_hdr",
+        ":SkImageInfo_hdr",
+        ":SkRefCnt_hdr",
+        ":SkSurfaceProps_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrContextThreadSafeProxy_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSurfaceProps_hdr",
+    hdrs = ["SkSurfaceProps.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSurface_hdr",
+    hdrs = ["SkSurface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImage_hdr",
+        ":SkPixmap_hdr",
+        ":SkRefCnt_hdr",
+        ":SkSurfaceProps_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/gpu/mtl:GrMtlTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSwizzle_hdr",
+    hdrs = ["SkSwizzle.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTextBlob_hdr",
+    hdrs = ["SkTextBlob.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFont_hdr",
+        ":SkPaint_hdr",
+        ":SkRefCnt_hdr",
+        ":SkString_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTileMode_hdr",
+    hdrs = ["SkTileMode.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTime_hdr",
+    hdrs = ["SkTime.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTypes_hdr",
+        "//include/private:SkMacros_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTraceMemoryDump_hdr",
+    hdrs = ["SkTraceMemoryDump.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTypeface_hdr",
+    hdrs = ["SkTypeface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontArguments_hdr",
+        ":SkFontParameters_hdr",
+        ":SkFontStyle_hdr",
+        ":SkFontTypes_hdr",
+        ":SkRect_hdr",
+        ":SkString_hdr",
+        "//include/private:SkOnce_hdr",
+        "//include/private:SkWeakRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTypes_hdr",
+    hdrs = ["SkTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/config:SkUserConfig_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkUnPreMultiply_hdr",
+    hdrs = ["SkUnPreMultiply.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkColor_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkVertices_hdr",
+    hdrs = ["SkVertices.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColor_hdr",
+        ":SkRect_hdr",
+        ":SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkYUVAInfo_hdr",
+    hdrs = ["SkYUVAInfo.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImageInfo_hdr",
+        ":SkSize_hdr",
+        "//include/codec:SkEncodedOrigin_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkYUVAPixmaps_hdr",
+    hdrs = ["SkYUVAPixmaps.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkData_hdr",
+        ":SkImageInfo_hdr",
+        ":SkPixmap_hdr",
+        ":SkYUVAInfo_hdr",
+        "//include/private:SkTo_hdr",
     ],
 )
diff --git a/include/docs/BUILD.bazel b/include/docs/BUILD.bazel
new file mode 100644
index 0000000..c59bf7c
--- /dev/null
+++ b/include/docs/BUILD.bazel
@@ -0,0 +1,26 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkPDFDocument_hdr",
+    hdrs = ["SkPDFDocument.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/core:SkDocument_hdr",
+        "//include/core:SkMilestone_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTime_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkXPSDocument_hdr",
+    hdrs = ["SkXPSDocument.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkDocument_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
diff --git a/include/effects/BUILD.bazel b/include/effects/BUILD.bazel
index ba83a7b..f8a91e0 100644
--- a/include/effects/BUILD.bazel
+++ b/include/effects/BUILD.bazel
@@ -1,31 +1,217 @@
-package(default_visibility = ["//visibility:public"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "hdrs",
-    srcs = [
-        "Sk1DPathEffect.h",
-        "Sk2DPathEffect.h",
-        "SkBlenders.h",
-        "SkBlurDrawLooper.h",
-        "SkBlurMaskFilter.h",
-        "SkColorMatrix.h",
-        "SkColorMatrixFilter.h",
-        "SkCornerPathEffect.h",
-        "SkDashPathEffect.h",
-        "SkDiscretePathEffect.h",
-        "SkGradientShader.h",
-        "SkHighContrastFilter.h",
-        "SkImageFilters.h",
-        "SkLayerDrawLooper.h",
-        "SkLumaColorFilter.h",
-        "SkOpPathEffect.h",
-        "SkOverdrawColorFilter.h",
-        "SkPerlinNoiseShader.h",
-        "SkRuntimeEffect.h",
-        "SkShaderMaskFilter.h",
-        "SkStrokeAndFillPathEffect.h",
-        "SkTableColorFilter.h",
-        "SkTableMaskFilter.h",
-        "SkTrimPathEffect.h",
+generated_cc_atom(
+    name = "Sk1DPathEffect_hdr",
+    hdrs = ["Sk1DPathEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPathEffect_hdr"],
+)
+
+generated_cc_atom(
+    name = "Sk2DPathEffect_hdr",
+    hdrs = ["Sk2DPathEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPathEffect_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkBlenders_hdr",
+    hdrs = ["SkBlenders.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkBlender_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkBlurDrawLooper_hdr",
+    hdrs = ["SkBlurDrawLooper.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkDrawLooper_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkBlurMaskFilter_hdr",
+    hdrs = ["SkBlurMaskFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBlurTypes_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkScalar_hdr",
     ],
 )
+
+generated_cc_atom(
+    name = "SkColorMatrixFilter_hdr",
+    hdrs = ["SkColorMatrixFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorMatrix_hdr",
+        "//include/core:SkColorFilter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorMatrix_hdr",
+    hdrs = ["SkColorMatrix.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkImageInfo_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkCornerPathEffect_hdr",
+    hdrs = ["SkCornerPathEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPathEffect_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkDashPathEffect_hdr",
+    hdrs = ["SkDashPathEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPathEffect_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkDiscretePathEffect_hdr",
+    hdrs = ["SkDiscretePathEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPathEffect_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkGradientShader_hdr",
+    hdrs = ["SkGradientShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkShader_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkHighContrastFilter_hdr",
+    hdrs = ["SkHighContrastFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkColorFilter_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkImageFilters_hdr",
+    hdrs = ["SkImageFilters.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBlendMode_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkImageFilter_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkTileMode_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLayerDrawLooper_hdr",
+    hdrs = ["SkLayerDrawLooper.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBlendMode_hdr",
+        "//include/core:SkDrawLooper_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPoint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLumaColorFilter_hdr",
+    hdrs = ["SkLumaColorFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkColorFilter_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkOpPathEffect_hdr",
+    hdrs = ["SkOpPathEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/pathops:SkPathOps_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOverdrawColorFilter_hdr",
+    hdrs = ["SkOverdrawColorFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkFlattenable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPerlinNoiseShader_hdr",
+    hdrs = ["SkPerlinNoiseShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkShader_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkRuntimeEffect_hdr",
+    hdrs = ["SkRuntimeEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBlender_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkOnce_hdr",
+        "//include/private:SkSLSampleUsage_hdr",
+        "//include/private:SkTOptional_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShaderMaskFilter_hdr",
+    hdrs = ["SkShaderMaskFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkMaskFilter_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkStrokeAndFillPathEffect_hdr",
+    hdrs = ["SkStrokeAndFillPathEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/pathops:SkPathOps_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTableColorFilter_hdr",
+    hdrs = ["SkTableColorFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkColorFilter_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTableMaskFilter_hdr",
+    hdrs = ["SkTableMaskFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkScalar_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTrimPathEffect_hdr",
+    hdrs = ["SkTrimPathEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPathEffect_hdr"],
+)
diff --git a/include/encode/BUILD.bazel b/include/encode/BUILD.bazel
index baa1621..fc728d0 100644
--- a/include/encode/BUILD.bazel
+++ b/include/encode/BUILD.bazel
@@ -1,11 +1,36 @@
-package(default_visibility = ["//visibility:public"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "hdrs",
-    srcs = [
-        "SkEncoder.h",
-        "SkJpegEncoder.h",
-        "SkPngEncoder.h",
-        "SkWebpEncoder.h",
+generated_cc_atom(
+    name = "SkEncoder_hdr",
+    hdrs = ["SkEncoder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPixmap_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkTemplates_hdr",
     ],
 )
+
+generated_cc_atom(
+    name = "SkJpegEncoder_hdr",
+    hdrs = ["SkJpegEncoder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkEncoder_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPngEncoder_hdr",
+    hdrs = ["SkPngEncoder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkEncoder_hdr",
+        "//include/core:SkDataTable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkWebpEncoder_hdr",
+    hdrs = ["SkWebpEncoder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkEncoder_hdr"],
+)
diff --git a/include/gpu/BUILD.bazel b/include/gpu/BUILD.bazel
index a1d0d77..1aa7951 100644
--- a/include/gpu/BUILD.bazel
+++ b/include/gpu/BUILD.bazel
@@ -1,105 +1,160 @@
-package(default_visibility = ["//visibility:private"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "base-hdrs",
-    srcs = [
-        "GrBackendDrawableInfo.h",
-        "GrBackendSemaphore.h",
-        "GrBackendSurface.h",
-        "GrBackendSurfaceMutableState.h",
-        "GrConfig.h",
-        "GrContextOptions.h",
-        "GrContextThreadSafeProxy.h",
-        "GrDirectContext.h",
-        "GrDriverBugWorkarounds.h",
-        "GrDriverBugWorkaroundsAutogen.h",
-        "GrRecordingContext.h",
-        "GrSurfaceInfo.h",
-        "GrTypes.h",
-        "GrYUVABackendTextures.h",
+generated_cc_atom(
+    name = "GrBackendDrawableInfo_hdr",
+    hdrs = ["GrBackendDrawableInfo.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrTypes_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
     ],
 )
 
-filegroup(
-    name = "direct3d-hdrs",
-    srcs = [
-        "d3d/GrD3DBackendContext.h",
-        "d3d/GrD3DTypes.h",
+generated_cc_atom(
+    name = "GrBackendSemaphore_hdr",
+    hdrs = ["GrBackendSemaphore.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrTypes_hdr",
+        "//include/gpu/gl:GrGLTypes_hdr",
+        "//include/gpu/mtl:GrMtlTypes_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//include/private:GrD3DTypesMinimal_hdr",
     ],
 )
 
-filegroup(
-    name = "dawn-hdrs",
-    srcs = [
-        "dawn/GrDawnTypes.h",
+generated_cc_atom(
+    name = "GrBackendSurfaceMutableState_hdr",
+    hdrs = ["GrBackendSurfaceMutableState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrTypes_hdr",
+        "//include/private:GrVkTypesPriv_hdr",
     ],
 )
 
-filegroup(
-    name = "gl-hdrs",
-    srcs = [
-        "gl/GrGLAssembleHelpers.h",
-        "gl/GrGLAssembleInterface.h",
-        "gl/GrGLConfig.h",
-        "gl/GrGLConfig_chrome.h",
-        "gl/GrGLExtensions.h",
-        "gl/GrGLFunctions.h",
-        "gl/GrGLInterface.h",
-        "gl/GrGLTypes.h",
+generated_cc_atom(
+    name = "GrBackendSurface_hdr",
+    hdrs = ["GrBackendSurface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBackendSurfaceMutableState_hdr",
+        ":GrSurfaceInfo_hdr",
+        ":GrTypes_hdr",
+        "//include/gpu/dawn:GrDawnTypes_hdr",
+        "//include/gpu/gl:GrGLTypes_hdr",
+        "//include/gpu/mock:GrMockTypes_hdr",
+        "//include/gpu/mtl:GrMtlTypes_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//include/private:GrD3DTypesMinimal_hdr",
+        "//include/private:GrGLTypesPriv_hdr",
+        "//include/private:GrVkTypesPriv_hdr",
     ],
 )
 
-filegroup(
-    name = "egl-hdrs",
-    srcs = [
-        "gl/egl/GrGLMakeEGLInterface.h",
+generated_cc_atom(
+    name = "GrConfig_hdr",
+    hdrs = ["GrConfig.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrContextOptions_hdr",
+    hdrs = ["GrContextOptions.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDriverBugWorkarounds_hdr",
+        ":GrTypes_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
     ],
 )
 
-filegroup(
-    name = "glx-hdrs",
-    srcs = [
-        "gl/glx/GrGLMakeGLXInterface.h",
+generated_cc_atom(
+    name = "GrContextThreadSafeProxy_hdr",
+    hdrs = ["GrContextThreadSafeProxy.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrContextOptions_hdr",
+        ":GrTypes_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkRefCnt_hdr",
     ],
 )
 
-filegroup(
-    name = "mock-hdrs",
-    srcs = [
-        "mock/GrMockTypes.h",
+generated_cc_atom(
+    name = "GrDirectContext_hdr",
+    hdrs = ["GrDirectContext.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBackendSurface_hdr",
+        ":GrRecordingContext_hdr",
+        "//include/core:SkUnPreMultiply_hdr",
     ],
+)
+
+generated_cc_atom(
+    name = "GrDriverBugWorkaroundsAutogen_hdr",
+    hdrs = ["GrDriverBugWorkaroundsAutogen.h"],
     visibility = ["//:__subpackages__"],
 )
 
-filegroup(
-    name = "metal-hdrs",
-    srcs = [
-        "mtl/GrMtlBackendContext.h",
-        "mtl/GrMtlTypes.h",
-    ],
-)
-
-filegroup(
-    name = "vulkan-hdrs",
-    srcs = [
-        "vk/GrVkBackendContext.h",
-        "vk/GrVkExtensions.h",
-        "vk/GrVkMemoryAllocator.h",
-        "vk/GrVkTypes.h",
-        "vk/GrVkVulkan.h",
-    ],
-)
-
-filegroup(
-    name = "hdrs",
-    srcs = [
-        ":base-hdrs",
-    ] + select({
-        "//bazel/common_config_settings:gl_backend": [":gl-hdrs"],
-        "//conditions:default": [],
-    }) + select({
-        "//bazel/common_config_settings:vulkan_backend": [":vulkan-hdrs"],
-        "//conditions:default": [],
-    }),
+generated_cc_atom(
+    name = "GrDriverBugWorkarounds_hdr",
+    hdrs = ["GrDriverBugWorkarounds.h"],
     visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDriverBugWorkaroundsAutogen_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRecordingContext_hdr",
+    hdrs = ["GrRecordingContext.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/private:GrImageContext_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSurfaceInfo_hdr",
+    hdrs = ["GrSurfaceInfo.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrTypes_hdr",
+        "//include/private:GrD3DTypesMinimal_hdr",
+        "//include/private:GrDawnTypesPriv_hdr",
+        "//include/private:GrGLTypesPriv_hdr",
+        "//include/private:GrMockTypesPriv_hdr",
+        "//include/private:GrMtlTypesPriv_hdr",
+        "//include/private:GrVkTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTypes_hdr",
+    hdrs = ["GrTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrConfig_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrYUVABackendTextures_hdr",
+    hdrs = ["GrYUVABackendTextures.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBackendSurface_hdr",
+        "//include/core:SkYUVAInfo_hdr",
+    ],
 )
diff --git a/include/gpu/d3d/BUILD.bazel b/include/gpu/d3d/BUILD.bazel
new file mode 100644
index 0000000..77a3884
--- /dev/null
+++ b/include/gpu/d3d/BUILD.bazel
@@ -0,0 +1,21 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrD3DBackendContext_hdr",
+    hdrs = ["GrD3DBackendContext.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DTypes_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DTypes_hdr",
+    hdrs = ["GrD3DTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
diff --git a/include/gpu/dawn/BUILD.bazel b/include/gpu/dawn/BUILD.bazel
new file mode 100644
index 0000000..8b93b91
--- /dev/null
+++ b/include/gpu/dawn/BUILD.bazel
@@ -0,0 +1,8 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrDawnTypes_hdr",
+    hdrs = ["GrDawnTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/gpu:GrTypes_hdr"],
+)
diff --git a/include/gpu/gl/BUILD.bazel b/include/gpu/gl/BUILD.bazel
new file mode 100644
index 0000000..c2dcf89
--- /dev/null
+++ b/include/gpu/gl/BUILD.bazel
@@ -0,0 +1,70 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGLAssembleHelpers_hdr",
+    hdrs = ["GrGLAssembleHelpers.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrGLAssembleInterface_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrGLAssembleInterface_hdr",
+    hdrs = ["GrGLAssembleInterface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrGLInterface_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrGLConfig_chrome_hdr",
+    hdrs = ["GrGLConfig_chrome.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "GrGLConfig_hdr",
+    hdrs = ["GrGLConfig.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/gpu:GrTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrGLExtensions_hdr",
+    hdrs = ["GrGLExtensions.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLFunctions_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLFunctions_hdr",
+    hdrs = ["GrGLFunctions.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLTypes_hdr",
+        "//include/private:SkTLogic_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLInterface_hdr",
+    hdrs = ["GrGLInterface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLExtensions_hdr",
+        ":GrGLFunctions_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLTypes_hdr",
+    hdrs = ["GrGLTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLConfig_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
diff --git a/include/gpu/gl/egl/BUILD.bazel b/include/gpu/gl/egl/BUILD.bazel
new file mode 100644
index 0000000..4e82437
--- /dev/null
+++ b/include/gpu/gl/egl/BUILD.bazel
@@ -0,0 +1,11 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGLMakeEGLInterface_hdr",
+    hdrs = ["GrGLMakeEGLInterface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
diff --git a/include/gpu/gl/glx/BUILD.bazel b/include/gpu/gl/glx/BUILD.bazel
new file mode 100644
index 0000000..c336d49
--- /dev/null
+++ b/include/gpu/gl/glx/BUILD.bazel
@@ -0,0 +1,11 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGLMakeGLXInterface_hdr",
+    hdrs = ["GrGLMakeGLXInterface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
diff --git a/include/gpu/mock/BUILD.bazel b/include/gpu/mock/BUILD.bazel
new file mode 100644
index 0000000..b7f4a9e
--- /dev/null
+++ b/include/gpu/mock/BUILD.bazel
@@ -0,0 +1,11 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrMockTypes_hdr",
+    hdrs = ["GrMockTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
diff --git a/include/gpu/mtl/BUILD.bazel b/include/gpu/mtl/BUILD.bazel
new file mode 100644
index 0000000..9881ff2
--- /dev/null
+++ b/include/gpu/mtl/BUILD.bazel
@@ -0,0 +1,18 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrMtlBackendContext_hdr",
+    hdrs = ["GrMtlBackendContext.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrMtlTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrMtlTypes_hdr",
+    hdrs = ["GrMtlTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrTypes_hdr",
+        "//include/ports:SkCFObject_hdr",
+    ],
+)
diff --git a/include/gpu/vk/BUILD.bazel b/include/gpu/vk/BUILD.bazel
new file mode 100644
index 0000000..a2f4175
--- /dev/null
+++ b/include/gpu/vk/BUILD.bazel
@@ -0,0 +1,56 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrVkBackendContext_hdr",
+    hdrs = ["GrVkBackendContext.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkMemoryAllocator_hdr",
+        ":GrVkTypes_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkExtensions_hdr",
+    hdrs = ["GrVkExtensions.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkTypes_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkMemoryAllocator_hdr",
+    hdrs = ["GrVkMemoryAllocator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkTypes_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkTypes_hdr",
+    hdrs = ["GrVkTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkVulkan_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkVulkan_hdr",
+    hdrs = ["GrVkVulkan.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/third_party/vulkan/vulkan:vulkan_android_hdr",
+        "//include/third_party/vulkan/vulkan:vulkan_core_hdr",
+    ],
+)
diff --git a/include/pathops/BUILD.bazel b/include/pathops/BUILD.bazel
index 3bcf7ed..746a844 100644
--- a/include/pathops/BUILD.bazel
+++ b/include/pathops/BUILD.bazel
@@ -1,8 +1,12 @@
-package(default_visibility = ["//visibility:public"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "hdrs",
-    srcs = [
-        "SkPathOps.h",
+generated_cc_atom(
+    name = "SkPathOps_hdr",
+    hdrs = ["SkPathOps.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTDArray_hdr",
     ],
 )
diff --git a/include/ports/BUILD.bazel b/include/ports/BUILD.bazel
index 372946b..4b9b65e 100644
--- a/include/ports/BUILD.bazel
+++ b/include/ports/BUILD.bazel
@@ -1,23 +1,159 @@
-package(default_visibility = ["//visibility:public"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "hdrs",
-    srcs = [
-        "SkCFObject.h",
-        "SkFontConfigInterface.h",
-        "SkFontMgr_FontConfigInterface.h",
-        "SkFontMgr_android.h",
-        "SkFontMgr_directory.h",
-        "SkFontMgr_empty.h",
-        "SkFontMgr_fontconfig.h",
-        "SkFontMgr_fuchsia.h",
-        "SkFontMgr_indirect.h",
-        "SkFontMgr_mac_ct.h",
-        "SkImageGeneratorCG.h",
-        "SkImageGeneratorNDK.h",
-        "SkImageGeneratorWIC.h",
-        "SkRemotableFontMgr.h",
-        "SkTypeface_mac.h",
-        "SkTypeface_win.h",
+generated_cc_atom(
+    name = "SkCFObject_hdr",
+    hdrs = ["SkCFObject.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkFontConfigInterface_hdr",
+    hdrs = ["SkFontConfigInterface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypeface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_FontConfigInterface_hdr",
+    hdrs = ["SkFontMgr_FontConfigInterface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_android_hdr",
+    hdrs = ["SkFontMgr_android.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkRefCnt_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_directory_hdr",
+    hdrs = ["SkFontMgr_directory.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_empty_hdr",
+    hdrs = ["SkFontMgr_empty.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_fontconfig_hdr",
+    hdrs = ["SkFontMgr_fontconfig.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkRefCnt_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_fuchsia_hdr",
+    hdrs = ["SkFontMgr_fuchsia.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkRefCnt_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_indirect_hdr",
+    hdrs = ["SkFontMgr_indirect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRemotableFontMgr_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkOnce_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_mac_ct_hdr",
+    hdrs = ["SkFontMgr_mac_ct.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageGeneratorCG_hdr",
+    hdrs = ["SkImageGeneratorCG.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkData_hdr",
+        "//include/core:SkImageGenerator_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageGeneratorNDK_hdr",
+    hdrs = ["SkImageGeneratorNDK.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkData_hdr",
+        "//include/core:SkImageGenerator_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageGeneratorWIC_hdr",
+    hdrs = ["SkImageGeneratorWIC.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkData_hdr",
+        "//include/core:SkImageGenerator_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRemotableFontMgr_hdr",
+    hdrs = ["SkRemotableFontMgr.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTypeface_mac_hdr",
+    hdrs = ["SkTypeface_mac.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypeface_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTypeface_win_hdr",
+    hdrs = ["SkTypeface_win.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypeface_hdr",
+        "//include/core:SkTypes_hdr",
     ],
 )
diff --git a/include/private/BUILD.bazel b/include/private/BUILD.bazel
index 85b5857..d4d9228 100644
--- a/include/private/BUILD.bazel
+++ b/include/private/BUILD.bazel
@@ -1,92 +1,560 @@
-# https://github.com/bazelbuild/bazel-skylib
-load("@bazel_skylib//lib:selects.bzl", "selects")
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-package(default_visibility = ["//visibility:private"])
-
-filegroup(
-    name = "core-hdrs",
-    srcs = [
-        "SkBitmaskEnum.h",
-        "SkChecksum.h",
-        "SkColorData.h",
-        "SkDeque.h",
-        "SkEncodedInfo.h",
-        "SkFixed.h",
-        "SkFloatBits.h",
-        "SkFloatingPoint.h",
-        "SkHalf.h",
-        "SkIDChangeListener.h",
-        "SkImageInfoPriv.h",
-        "SkMacros.h",
-        "SkMalloc.h",
-        "SkMutex.h",
-        "SkNoncopyable.h",
-        "SkNx.h",
-        "SkNx_neon.h",
-        "SkNx_sse.h",
-        "SkOnce.h",
-        "SkOpts_spi.h",
-        "SkPathRef.h",
-        "SkSLDefines.h",
-        "SkSLIRNode.h",
-        "SkSLLayout.h",
-        "SkSLModifiers.h",
-        "SkSLProgramElement.h",
-        "SkSLProgramKind.h",
-        "SkSLSampleUsage.h",
-        "SkSLStatement.h",
-        "SkSLString.h",
-        "SkSLSymbol.h",
-        "SkSafe32.h",
-        "SkSafe_math.h",
-        "SkSemaphore.h",
-        "SkShadowFlags.h",
-        "SkSpinlock.h",
-        "SkTArray.h",
-        "SkTDArray.h",
-        "SkTFitsIn.h",
-        "SkTHash.h",
-        "SkTLogic.h",
-        "SkTOptional.h",
-        "SkTPin.h",
-        "SkTemplates.h",
-        "SkThreadAnnotations.h",
-        "SkThreadID.h",
-        "SkTo.h",
-        "SkVx.h",
-        "SkWeakRefCnt.h",
+generated_cc_atom(
+    name = "GrContext_Base_hdr",
+    hdrs = ["GrContext_Base.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/gpu:GrTypes_hdr",
     ],
 )
 
-filegroup(
-    name = "gpu-hdrs",
-    srcs = [
-        "GrContext_Base.h",
-        "GrD3DTypesMinimal.h",
-        "GrDawnTypesPriv.h",
-        "GrGLTypesPriv.h",
-        "GrImageContext.h",
-        "GrMtlTypesPriv.h",
-        "GrResourceKey.h",
-        "GrSingleOwner.h",
-        "GrTypesPriv.h",
-        "GrVkTypesPriv.h",
+generated_cc_atom(
+    name = "GrD3DTypesMinimal_hdr",
+    hdrs = ["GrD3DTypesMinimal.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrTypes_hdr",
     ],
 )
 
-filegroup(
-    name = "mock-hdrs",
-    srcs = ["GrMockTypesPriv.h"],
+generated_cc_atom(
+    name = "GrDawnTypesPriv_hdr",
+    hdrs = ["GrDawnTypesPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/gpu/dawn:GrDawnTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrGLTypesPriv_hdr",
+    hdrs = ["GrGLTypesPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu/gl:GrGLTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrImageContext_hdr",
+    hdrs = ["GrImageContext.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrContext_Base_hdr",
+        ":GrSingleOwner_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMockTypesPriv_hdr",
+    hdrs = ["GrMockTypesPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/gpu/mock:GrMockTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrMtlTypesPriv_hdr",
+    hdrs = ["GrMtlTypesPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrTypes_hdr",
+        "//include/gpu/mtl:GrMtlTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrResourceKey_hdr",
+    hdrs = ["GrResourceKey.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOnce_hdr",
+        ":SkTemplates_hdr",
+        ":SkTo_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkString_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSingleOwner_hdr",
+    hdrs = ["GrSingleOwner.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMutex_hdr",
+        ":SkThreadID_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTypesPriv_hdr",
+    hdrs = ["GrTypesPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImageInfoPriv_hdr",
+        ":SkMacros_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkTypesPriv_hdr",
+    hdrs = ["GrVkTypesPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBitmaskEnum_hdr",
+    hdrs = ["SkBitmaskEnum.h"],
     visibility = ["//:__subpackages__"],
 )
 
-filegroup(
-    name = "hdrs",
-    srcs = [":core-hdrs"] + selects.with_or({
-        ("//bazel/common_config_settings:gl_backend", "//bazel/common_config_settings:vulkan_backend"): [
-            ":gpu-hdrs",
-        ],
-        "//conditions:default": [],
-    }),
+generated_cc_atom(
+    name = "SkChecksum_hdr",
+    hdrs = ["SkChecksum.h"],
     visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkNoncopyable_hdr",
+        ":SkOpts_spi_hdr",
+        ":SkTLogic_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorData_hdr",
+    hdrs = ["SkColorData.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkNx_hdr",
+        ":SkTo_hdr",
+        "//include/core:SkColorPriv_hdr",
+        "//include/core:SkColor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDeque_hdr",
+    hdrs = ["SkDeque.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkEncodedInfo_hdr",
+    hdrs = ["SkEncodedInfo.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkData_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/third_party/skcms:skcms_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFixed_hdr",
+    hdrs = ["SkFixed.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSafe_math_hdr",
+        ":SkTPin_hdr",
+        ":SkTo_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFloatBits_hdr",
+    hdrs = ["SkFloatBits.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSafe_math_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFloatingPoint_hdr",
+    hdrs = ["SkFloatingPoint.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFloatBits_hdr",
+        ":SkSafe_math_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkHalf_hdr",
+    hdrs = ["SkHalf.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkNx_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkIDChangeListener_hdr",
+    hdrs = ["SkIDChangeListener.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMutex_hdr",
+        ":SkTDArray_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageInfoPriv_hdr",
+    hdrs = ["SkImageInfoPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/core:SkImageInfo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMacros_hdr",
+    hdrs = ["SkMacros.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkMalloc_hdr",
+    hdrs = ["SkMalloc.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkMutex_hdr",
+    hdrs = ["SkMutex.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMacros_hdr",
+        ":SkSemaphore_hdr",
+        ":SkThreadAnnotations_hdr",
+        ":SkThreadID_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkNoncopyable_hdr",
+    hdrs = ["SkNoncopyable.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkNx_hdr",
+    hdrs = ["SkNx.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkNx_neon_hdr",
+        ":SkNx_sse_hdr",
+        ":SkSafe_math_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkNx_neon_hdr",
+    hdrs = ["SkNx_neon.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkNx_sse_hdr",
+    hdrs = ["SkNx_sse.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkOnce_hdr",
+    hdrs = ["SkOnce.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkThreadAnnotations_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkOpts_spi_hdr",
+    hdrs = ["SkOpts_spi.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPathRef_hdr",
+    hdrs = ["SkPathRef.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIDChangeListener_hdr",
+        ":SkMutex_hdr",
+        ":SkTDArray_hdr",
+        ":SkTemplates_hdr",
+        ":SkTo_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLDefines_hdr",
+    hdrs = ["SkSLDefines.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTArray_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLIRNode_hdr",
+    hdrs = ["SkSLIRNode.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLString_hdr",
+        ":SkTArray_hdr",
+        "//src/sksl:SkSLLexer_hdr",
+        "//src/sksl:SkSLModifiersPool_hdr",
+        "//src/sksl:SkSLPool_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLLayout_hdr",
+    hdrs = ["SkSLLayout.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkSLString_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLModifiers_hdr",
+    hdrs = ["SkSLModifiers.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkSLLayout_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLProgramElement_hdr",
+    hdrs = ["SkSLProgramElement.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkSLIRNode_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLProgramKind_hdr",
+    hdrs = ["SkSLProgramKind.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkSLSampleUsage_hdr",
+    hdrs = ["SkSLSampleUsage.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLStatement_hdr",
+    hdrs = ["SkSLStatement.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLIRNode_hdr",
+        ":SkSLSymbol_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLString_hdr",
+    hdrs = ["SkSLString.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLDefines_hdr",
+        "//include/core:SkStringView_hdr",
+        "//include/core:SkString_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLSymbol_hdr",
+    hdrs = ["SkSLSymbol.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLIRNode_hdr",
+        ":SkSLProgramElement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSafe32_hdr",
+    hdrs = ["SkSafe32.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSafe_math_hdr",
+    hdrs = ["SkSafe_math.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkSemaphore_hdr",
+    hdrs = ["SkSemaphore.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOnce_hdr",
+        ":SkThreadAnnotations_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShadowFlags_hdr",
+    hdrs = ["SkShadowFlags.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkSpinlock_hdr",
+    hdrs = ["SkSpinlock.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkThreadAnnotations_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTArray_hdr",
+    hdrs = ["SkTArray.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMalloc_hdr",
+        ":SkSafe32_hdr",
+        ":SkTLogic_hdr",
+        ":SkTemplates_hdr",
+        ":SkTo_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTDArray_hdr",
+    hdrs = ["SkTDArray.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMalloc_hdr",
+        ":SkTo_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTFitsIn_hdr",
+    hdrs = ["SkTFitsIn.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkTHash_hdr",
+    hdrs = ["SkTHash.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkChecksum_hdr",
+        ":SkTemplates_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTLogic_hdr",
+    hdrs = ["SkTLogic.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTo_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTOptional_hdr",
+    hdrs = ["SkTOptional.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTPin_hdr",
+    hdrs = ["SkTPin.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkTemplates_hdr",
+    hdrs = ["SkTemplates.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMalloc_hdr",
+        ":SkTLogic_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkThreadAnnotations_hdr",
+    hdrs = ["SkThreadAnnotations.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkThreadID_hdr",
+    hdrs = ["SkThreadID.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTo_hdr",
+    hdrs = ["SkTo.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTFitsIn_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkVx_hdr",
+    hdrs = ["SkVx.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkWeakRefCnt_hdr",
+    hdrs = ["SkWeakRefCnt.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkRefCnt_hdr"],
 )
diff --git a/include/private/chromium/BUILD.bazel b/include/private/chromium/BUILD.bazel
new file mode 100644
index 0000000..9b3c79f
--- /dev/null
+++ b/include/private/chromium/BUILD.bazel
@@ -0,0 +1,11 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrSlug_hdr",
+    hdrs = ["GrSlug.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRect_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
diff --git a/include/sksl/BUILD.bazel b/include/sksl/BUILD.bazel
index 556af23..9a0f95d 100644
--- a/include/sksl/BUILD.bazel
+++ b/include/sksl/BUILD.bazel
@@ -1,22 +1,169 @@
-package(default_visibility = ["//visibility:public"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "hdrs",
-    srcs = [
-        "DSL.h",
-        "DSLBlock.h",
-        "DSLCase.h",
-        "DSLCore.h",
-        "DSLExpression.h",
-        "DSLFunction.h",
-        "DSLLayout.h",
-        "DSLModifiers.h",
-        "DSLRuntimeEffects.h",
-        "DSLStatement.h",
-        "DSLSymbols.h",
-        "DSLType.h",
-        "DSLVar.h",
-        "DSLWrapper.h",
-        "SkSLErrorReporter.h",
+generated_cc_atom(
+    name = "DSLBlock_hdr",
+    hdrs = ["DSLBlock.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DSLExpression_hdr",
+        ":DSLStatement_hdr",
+        "//include/private:SkSLDefines_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLCase_hdr",
+    hdrs = ["DSLCase.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DSLExpression_hdr",
+        ":DSLStatement_hdr",
+        "//include/private:SkSLDefines_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLCore_hdr",
+    hdrs = ["DSLCore.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DSLBlock_hdr",
+        ":DSLCase_hdr",
+        ":DSLExpression_hdr",
+        ":DSLFunction_hdr",
+        ":DSLStatement_hdr",
+        ":DSLType_hdr",
+        ":DSLVar_hdr",
+        ":DSLWrapper_hdr",
+        ":SkSLErrorReporter_hdr",
+        "//include/private:SkSLProgramKind_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLExpression_hdr",
+    hdrs = ["DSLExpression.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DSLWrapper_hdr",
+        ":SkSLErrorReporter_hdr",
+        "//include/core:SkStringView_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLFunction_hdr",
+    hdrs = ["DSLFunction.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DSLBlock_hdr",
+        ":DSLExpression_hdr",
+        ":DSLType_hdr",
+        ":DSLVar_hdr",
+        ":DSLWrapper_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLLayout_hdr",
+    hdrs = ["DSLLayout.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLErrorReporter_hdr",
+        "//include/private:SkSLLayout_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLModifiers_hdr",
+    hdrs = ["DSLModifiers.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DSLLayout_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/private:SkSLModifiers_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLRuntimeEffects_hdr",
+    hdrs = ["DSLRuntimeEffects.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DSL_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLStatement_hdr",
+    hdrs = ["DSLStatement.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLErrorReporter_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLSymbols_hdr",
+    hdrs = ["DSLSymbols.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DSLExpression_hdr",
+        "//include/core:SkStringView_hdr",
+        "//include/private:SkSLString_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLType_hdr",
+    hdrs = ["DSLType.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DSLExpression_hdr",
+        ":DSLModifiers_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/private:SkSLString_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLVar_hdr",
+    hdrs = ["DSLVar.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DSLExpression_hdr",
+        ":DSLModifiers_hdr",
+        ":DSLType_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLWrapper_hdr",
+    hdrs = ["DSLWrapper.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "DSL_hdr",
+    hdrs = ["DSL.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":DSLCore_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLErrorReporter_hdr",
+    hdrs = ["SkSLErrorReporter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkStringView_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkSLString_hdr",
     ],
 )
diff --git a/include/svg/BUILD.bazel b/include/svg/BUILD.bazel
new file mode 100644
index 0000000..7be3471
--- /dev/null
+++ b/include/svg/BUILD.bazel
@@ -0,0 +1,8 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkSVGCanvas_hdr",
+    hdrs = ["SkSVGCanvas.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkCanvas_hdr"],
+)
diff --git a/include/third_party/BUILD.bazel b/include/third_party/BUILD.bazel
deleted file mode 100644
index 4047412..0000000
--- a/include/third_party/BUILD.bazel
+++ /dev/null
@@ -1,22 +0,0 @@
-package(default_visibility = ["//:__subpackages__"])
-
-filegroup(
-    name = "skcms-hdrs",
-    srcs = [
-        "skcms/skcms.h",
-    ],
-)
-
-filegroup(
-    name = "vulkan-hdrs",
-    srcs = [
-        "vulkan/vulkan/vk_platform.h",
-        "vulkan/vulkan/vulkan.h",
-        "vulkan/vulkan/vulkan_android.h",
-        "vulkan/vulkan/vulkan_core.h",
-        "vulkan/vulkan/vulkan_ios.h",
-        "vulkan/vulkan/vulkan_macos.h",
-        "vulkan/vulkan/vulkan_win32.h",
-        "vulkan/vulkan/vulkan_xcb.h",
-    ],
-)
diff --git a/include/third_party/skcms/BUILD.bazel b/include/third_party/skcms/BUILD.bazel
new file mode 100644
index 0000000..0aef4dd
--- /dev/null
+++ b/include/third_party/skcms/BUILD.bazel
@@ -0,0 +1,7 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "skcms_hdr",
+    hdrs = ["skcms.h"],
+    visibility = ["//:__subpackages__"],
+)
diff --git a/include/third_party/vulkan/vulkan/BUILD.bazel b/include/third_party/vulkan/vulkan/BUILD.bazel
new file mode 100644
index 0000000..73abd99
--- /dev/null
+++ b/include/third_party/vulkan/vulkan/BUILD.bazel
@@ -0,0 +1,49 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "vk_platform_hdr",
+    hdrs = ["vk_platform.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "vulkan_android_hdr",
+    hdrs = ["vulkan_android.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "vulkan_core_hdr",
+    hdrs = ["vulkan_core.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "vulkan_hdr",
+    hdrs = ["vulkan.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "vulkan_ios_hdr",
+    hdrs = ["vulkan_ios.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "vulkan_macos_hdr",
+    hdrs = ["vulkan_macos.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "vulkan_win32_hdr",
+    hdrs = ["vulkan_win32.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "vulkan_xcb_hdr",
+    hdrs = ["vulkan_xcb.h"],
+    visibility = ["//:__subpackages__"],
+)
diff --git a/include/utils/BUILD.bazel b/include/utils/BUILD.bazel
index 81c3f2c..a1fbb0f 100644
--- a/include/utils/BUILD.bazel
+++ b/include/utils/BUILD.bazel
@@ -1,31 +1,155 @@
-package(default_visibility = ["//visibility:public"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "base-hdrs",
-    srcs = [
-        "SkAnimCodecPlayer.h",
-        "SkBase64.h",
-        "SkCamera.h",
-        "SkCanvasStateUtils.h",
-        "SkCustomTypeface.h",
-        "SkEventTracer.h",
-        "SkNWayCanvas.h",
-        "SkNoDrawCanvas.h",
-        "SkNullCanvas.h",
-        "SkOrderedFontMgr.h",
-        "SkPaintFilterCanvas.h",
-        "SkParse.h",
-        "SkParsePath.h",
-        "SkRandom.h",
-        "SkShadowUtils.h",
-        "SkTextUtils.h",
-        "SkTraceEventPhase.h",
+generated_cc_atom(
+    name = "SkAnimCodecPlayer_hdr",
+    hdrs = ["SkAnimCodecPlayer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/codec:SkCodec_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkBase64_hdr",
+    hdrs = ["SkBase64.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkCamera_hdr",
+    hdrs = ["SkCamera.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkM44_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/private:SkNoncopyable_hdr",
     ],
 )
 
-filegroup(
-    name = "mac-hdrs",
-    srcs = [
-        "mac/SkCGUtils.h",
+generated_cc_atom(
+    name = "SkCanvasStateUtils_hdr",
+    hdrs = ["SkCanvasStateUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkCanvas_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkCustomTypeface_hdr",
+    hdrs = ["SkCustomTypeface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMetrics_hdr",
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkTypeface_hdr",
     ],
 )
+
+generated_cc_atom(
+    name = "SkEventTracer_hdr",
+    hdrs = ["SkEventTracer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkNWayCanvas_hdr",
+    hdrs = ["SkNWayCanvas.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkNoDrawCanvas_hdr",
+        "//include/core:SkCanvasVirtualEnforcer_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkNoDrawCanvas_hdr",
+    hdrs = ["SkNoDrawCanvas.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvasVirtualEnforcer_hdr",
+        "//include/core:SkCanvas_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkNullCanvas_hdr",
+    hdrs = ["SkNullCanvas.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkCanvas_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkOrderedFontMgr_hdr",
+    hdrs = ["SkOrderedFontMgr.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkFontMgr_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPaintFilterCanvas_hdr",
+    hdrs = ["SkPaintFilterCanvas.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkNWayCanvas_hdr",
+        "//include/core:SkCanvasVirtualEnforcer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkParsePath_hdr",
+    hdrs = ["SkParsePath.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPath_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkParse_hdr",
+    hdrs = ["SkParse.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkColor_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkRandom_hdr",
+    hdrs = ["SkRandom.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkScalar_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkFloatBits_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShadowUtils_hdr",
+    hdrs = ["SkShadowUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/core:SkPoint3_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/private:SkShadowFlags_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTextUtils_hdr",
+    hdrs = ["SkTextUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkFont_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkString_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTraceEventPhase_hdr",
+    hdrs = ["SkTraceEventPhase.h"],
+    visibility = ["//:__subpackages__"],
+)
diff --git a/include/utils/mac/BUILD.bazel b/include/utils/mac/BUILD.bazel
new file mode 100644
index 0000000..5af9334
--- /dev/null
+++ b/include/utils/mac/BUILD.bazel
@@ -0,0 +1,13 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkCGUtils_hdr",
+    hdrs = ["SkCGUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkPixmap_hdr",
+        "//include/core:SkSize_hdr",
+    ],
+)
diff --git a/modules/BUILD.bazel b/modules/BUILD.bazel
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/modules/BUILD.bazel
diff --git a/modules/skshaper/include/BUILD.bazel b/modules/skshaper/include/BUILD.bazel
new file mode 100644
index 0000000..7a232f0
--- /dev/null
+++ b/modules/skshaper/include/BUILD.bazel
@@ -0,0 +1,15 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkShaper_hdr",
+    hdrs = ["SkShaper.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkTextBlob_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
diff --git a/modules/skshaper/src/BUILD.bazel b/modules/skshaper/src/BUILD.bazel
new file mode 100644
index 0000000..19d7722
--- /dev/null
+++ b/modules/skshaper/src/BUILD.bazel
@@ -0,0 +1,82 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkShaper_coretext_src",
+    srcs = ["SkShaper_coretext.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/ports:SkTypeface_mac_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//modules/skshaper/include:SkShaper_hdr",
+        "//src/utils:SkUTF_hdr",
+        "//src/utils/mac:SkCGBase_hdr",
+        "//src/utils/mac:SkUniqueCFRef_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShaper_harfbuzz_src",
+    srcs = ["SkShaper_harfbuzz.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontArguments_hdr",
+        "//include/core:SkFontMetrics_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkFontTypes_hdr",
+        "//include/core:SkFont_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkBitmaskEnum_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTFitsIn_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+        "//modules/skshaper/include:SkShaper_hdr",
+        "//modules/skunicode/include:SkUnicode_hdr",
+        "//src/core:SkLRUCache_hdr",
+        "//src/core:SkTDPQueue_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShaper_primitive_src",
+    srcs = ["SkShaper_primitive.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMetrics_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkTo_hdr",
+        "//modules/skshaper/include:SkShaper_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShaper_src",
+    srcs = ["SkShaper.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMetrics_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkFont_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkTFitsIn_hdr",
+        "//modules/skshaper/include:SkShaper_hdr",
+        "//modules/skunicode/include:SkUnicode_hdr",
+        "//src/core:SkTextBlobPriv_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
diff --git a/src/android/BUILD.bazel b/src/android/BUILD.bazel
index 1138ea0..1b90e09 100644
--- a/src/android/BUILD.bazel
+++ b/src/android/BUILD.bazel
@@ -1,9 +1,32 @@
-package(default_visibility = ["//:__subpackages__"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "srcs",
-    srcs = [
-        "SkAndroidFrameworkUtils.cpp",
-        "SkAnimatedImage.cpp",
+generated_cc_atom(
+    name = "SkAndroidFrameworkUtils_src",
+    srcs = ["SkAndroidFrameworkUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/android:SkAndroidFrameworkUtils_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/utils:SkPaintFilterCanvas_hdr",
+        "//src/core:SkDevice_hdr",
+        "//src/image:SkSurface_Base_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAnimatedImage_src",
+    srcs = ["SkAnimatedImage.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/android:SkAnimatedImage_hdr",
+        "//include/codec:SkAndroidCodec_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkPictureRecorder_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkPixelRef_hdr",
+        "//src/codec:SkCodecPriv_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/core:SkPixmapPriv_hdr",
     ],
 )
diff --git a/src/c/BUILD.bazel b/src/c/BUILD.bazel
new file mode 100644
index 0000000..b2c164b
--- /dev/null
+++ b/src/c/BUILD.bazel
@@ -0,0 +1,80 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "sk_c_from_to_hdr",
+    hdrs = ["sk_c_from_to.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "sk_effects_src",
+    srcs = ["sk_effects.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":sk_types_priv_hdr",
+        "//include/c:sk_maskfilter_hdr",
+        "//include/c:sk_shader_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/effects:SkGradientShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "sk_imageinfo_src",
+    srcs = ["sk_imageinfo.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/c:sk_colorspace_hdr",
+        "//include/c:sk_imageinfo_hdr",
+        "//include/core:SkColorSpace_hdr",
+        "//include/core:SkImageInfo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "sk_paint_src",
+    srcs = ["sk_paint.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":sk_c_from_to_hdr",
+        ":sk_types_priv_hdr",
+        "//include/c:sk_paint_hdr",
+        "//include/core:SkBlendMode_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "sk_surface_src",
+    srcs = ["sk_surface.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":sk_types_priv_hdr",
+        "//include/c:sk_canvas_hdr",
+        "//include/c:sk_data_hdr",
+        "//include/c:sk_image_hdr",
+        "//include/c:sk_paint_hdr",
+        "//include/c:sk_path_hdr",
+        "//include/c:sk_picture_hdr",
+        "//include/c:sk_surface_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPathBuilder_hdr",
+        "//include/core:SkPictureRecorder_hdr",
+        "//include/core:SkSurface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "sk_types_priv_hdr",
+    hdrs = ["sk_types_priv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/c:sk_types_hdr"],
+)
diff --git a/src/codec/BUILD.bazel b/src/codec/BUILD.bazel
index e6b7cff..91df6de 100644
--- a/src/codec/BUILD.bazel
+++ b/src/codec/BUILD.bazel
@@ -1,140 +1,746 @@
-# https://github.com/bazelbuild/bazel-skylib
-load("@bazel_skylib//lib:selects.bzl", "selects")
-load("//bazel:macros.bzl", "select_multi")
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-package(default_visibility = ["//visibility:private"])
-
-filegroup(
-    name = "androidcodec-srcs",
-    srcs = [
-        "SkAndroidCodec.cpp",
-        "SkAndroidCodecAdapter.cpp",
-        "SkAndroidCodecAdapter.h",
-        "SkSampledCodec.cpp",
-        "SkSampledCodec.h",
-    ],
-)
-
-filegroup(
-    name = "bmp-srcs",
-    srcs = [
-        "SkBmpBaseCodec.cpp",
-        "SkBmpBaseCodec.h",
-        "SkBmpCodec.cpp",
-        "SkBmpCodec.h",
-        "SkBmpMaskCodec.cpp",
-        "SkBmpMaskCodec.h",
-        "SkBmpRLECodec.cpp",
-        "SkBmpRLECodec.h",
-        "SkBmpStandardCodec.cpp",
-        "SkBmpStandardCodec.h",
-        "SkWbmpCodec.cpp",
-        "SkWbmpCodec.h",
-    ],
-)
-
-filegroup(
-    name = "core-srcs",
-    srcs = [
-        "SkCodec.cpp",
-        "SkCodecImageGenerator.cpp",
-        "SkCodecImageGenerator.h",
-        "SkCodecPriv.h",
-        "SkColorTable.cpp",
-        "SkColorTable.h",
-        "SkFrameHolder.h",
-        "SkMaskSwizzler.cpp",
-        "SkMaskSwizzler.h",
-        "SkMasks.cpp",
-        "SkMasks.h",
-        "SkSampler.cpp",
-        "SkSampler.h",
-        "SkSwizzler.cpp",
-        "SkSwizzler.h",
-    ],
-)
-
-filegroup(
-    name = "gif-srcs",
-    srcs = [
-        "SkScalingCodec.h",
-        "SkWuffsCodec.cpp",
-        "SkWuffsCodec.h",
-    ],
-)
-
-filegroup(
-    name = "jpeg-srcs",
-    srcs = [
-        "SkEncodedInfo.cpp",
-        "SkJpegCodec.cpp",
-        "SkJpegCodec.h",
-        "SkJpegDecoderMgr.cpp",
-        "SkJpegDecoderMgr.h",
-        "SkJpegPriv.h",
-        "SkJpegUtility.cpp",
-        "SkJpegUtility.h",
-        "SkParseEncodedOrigin.cpp",
-        "SkParseEncodedOrigin.h",
-    ],
-)
-
-filegroup(
-    name = "png-srcs",
-    srcs = [
-        "SkEncodedInfo.cpp",
-        "SkIcoCodec.cpp",
-        "SkIcoCodec.h",
-        "SkPngCodec.cpp",
-        "SkPngCodec.h",
-        "SkPngPriv.h",
-    ],
-)
-
-filegroup(
-    name = "raw-srcs",
-    srcs = [
-        "SkRawCodec.cpp",
-        "SkRawCodec.h",
-    ],
-)
-
-filegroup(
-    name = "webp-srcs",
-    srcs = [
-        "SkEncodedInfo.cpp",
-        "SkParseEncodedOrigin.cpp",
-        "SkParseEncodedOrigin.h",
-        "SkScalingCodec.h",
-        "SkWebpCodec.cpp",
-        "SkWebpCodec.h",
-    ],
-)
-
-selects.config_setting_group(
-    name = "needs_jpeg",
-    match_any = [
-        "//bazel/common_config_settings:raw_decode_codec",
-        "//bazel/common_config_settings:jpeg_decode_codec",
-        "//bazel/common_config_settings:jpeg_encode_codec",
-    ],
-)
-
-filegroup(
-    name = "srcs",
-    srcs = [
-        ":androidcodec-srcs",
-        ":bmp-srcs",
-        ":core-srcs",
-    ] + select_multi(
-        {
-            "//bazel/common_config_settings:gif_decode_codec": [":gif-srcs"],
-            ":needs_jpeg": [":jpeg-srcs"],
-            "//bazel/common_config_settings:png_decode_codec": [":png-srcs"],
-            "//bazel/common_config_settings:raw_decode_codec": [":raw-srcs"],
-            "//bazel/common_config_settings:webp_decode_codec": [":webp-srcs"],
-        },
-        default = [],
-    ),
+generated_cc_atom(
+    name = "SkAndroidCodecAdapter_hdr",
+    hdrs = ["SkAndroidCodecAdapter.h"],
     visibility = ["//:__subpackages__"],
+    deps = ["//include/codec:SkAndroidCodec_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkAndroidCodecAdapter_src",
+    srcs = ["SkAndroidCodecAdapter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAndroidCodecAdapter_hdr",
+        ":SkCodecPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAndroidCodec_src",
+    srcs = ["SkAndroidCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAndroidCodecAdapter_hdr",
+        ":SkCodecPriv_hdr",
+        ":SkSampledCodec_hdr",
+        "//include/codec:SkAndroidCodec_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkPixmap_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBmpBaseCodec_hdr",
+    hdrs = ["SkBmpBaseCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBmpCodec_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBmpBaseCodec_src",
+    srcs = ["SkBmpBaseCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBmpBaseCodec_hdr",
+        "//include/private:SkMalloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBmpCodec_hdr",
+    hdrs = ["SkBmpCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorTable_hdr",
+        ":SkSwizzler_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkColorSpace_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBmpCodec_src",
+    srcs = ["SkBmpCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBmpCodec_hdr",
+        ":SkBmpMaskCodec_hdr",
+        ":SkBmpRLECodec_hdr",
+        ":SkBmpStandardCodec_hdr",
+        ":SkCodecPriv_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkColorData_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBmpMaskCodec_hdr",
+    hdrs = ["SkBmpMaskCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBmpBaseCodec_hdr",
+        ":SkMaskSwizzler_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBmpMaskCodec_src",
+    srcs = ["SkBmpMaskCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBmpMaskCodec_hdr",
+        ":SkCodecPriv_hdr",
+        "//include/private:SkColorData_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBmpRLECodec_hdr",
+    hdrs = ["SkBmpRLECodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBmpCodec_hdr",
+        ":SkColorTable_hdr",
+        ":SkSampler_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBmpRLECodec_src",
+    srcs = ["SkBmpRLECodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBmpRLECodec_hdr",
+        ":SkCodecPriv_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkColorData_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBmpStandardCodec_hdr",
+    hdrs = ["SkBmpStandardCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBmpBaseCodec_hdr",
+        ":SkColorTable_hdr",
+        ":SkSwizzler_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBmpStandardCodec_src",
+    srcs = ["SkBmpStandardCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBmpStandardCodec_hdr",
+        ":SkCodecPriv_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkColorData_hdr",
+        "//src/core:SkMathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCodecImageGenerator_hdr",
+    hdrs = ["SkCodecImageGenerator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkImageGenerator_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCodecImageGenerator_src",
+    srcs = ["SkCodecImageGenerator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecImageGenerator_hdr",
+        "//src/core:SkPixmapPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCodecPriv_hdr",
+    hdrs = ["SkCodecPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorTable_hdr",
+        "//include/codec:SkEncodedOrigin_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkEncodedInfo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCodec_src",
+    srcs = ["SkCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBmpCodec_hdr",
+        ":SkCodecPriv_hdr",
+        ":SkFrameHolder_hdr",
+        ":SkHeifCodec_hdr",
+        ":SkIcoCodec_hdr",
+        ":SkJpegCodec_hdr",
+        ":SkPngCodec_hdr",
+        ":SkRawCodec_hdr",
+        ":SkWbmpCodec_hdr",
+        ":SkWebpCodec_hdr",
+        ":SkWuffsCodec_hdr",
+        "//include/codec:SkAndroidCodec_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkColorSpace_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkHalf_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorTable_hdr",
+    hdrs = ["SkColorTable.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorTable_src",
+    srcs = ["SkColorTable.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorTable_hdr",
+        "//include/private:SkMalloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkEncodedInfo_src",
+    srcs = ["SkEncodedInfo.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkEncodedInfo_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkFrameHolder_hdr",
+    hdrs = ["SkFrameHolder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/codec:SkCodecAnimation_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkEncodedInfo_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkHeifCodec_hdr",
+    hdrs = ["SkHeifCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFrameHolder_hdr",
+        ":SkStubHeifDecoderAPI_hdr",
+        ":SkSwizzler_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/codec:SkEncodedOrigin_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkStream_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkHeifCodec_src",
+    srcs = ["SkHeifCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        ":SkHeifCodec_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkColorData_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkIcoCodec_hdr",
+    hdrs = ["SkIcoCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkIcoCodec_src",
+    srcs = ["SkIcoCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBmpCodec_hdr",
+        ":SkCodecPriv_hdr",
+        ":SkIcoCodec_hdr",
+        ":SkPngCodec_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//src/core:SkStreamPriv_hdr",
+        "//src/core:SkTSort_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkJpegCodec_hdr",
+    hdrs = ["SkJpegCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSwizzler_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkJpegCodec_src",
+    srcs = ["SkJpegCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        ":SkJpegCodec_hdr",
+        ":SkJpegDecoderMgr_hdr",
+        ":SkJpegUtility_hdr",
+        ":SkParseEncodedOrigin_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+        "//third_party:libjpeg-turbo",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkJpegDecoderMgr_hdr",
+    hdrs = ["SkJpegDecoderMgr.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        ":SkJpegUtility_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//third_party:libjpeg-turbo",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkJpegDecoderMgr_src",
+    srcs = ["SkJpegDecoderMgr.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkJpegDecoderMgr_hdr",
+        ":SkJpegUtility_hdr",
+        "//include/android:SkAndroidFrameworkUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkJpegPriv_hdr",
+    hdrs = ["SkJpegPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkStream_hdr",
+        "//include/private:SkTArray_hdr",
+        "//third_party:libjpeg-turbo",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkJpegUtility_hdr",
+    hdrs = ["SkJpegUtility.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkJpegPriv_hdr",
+        "//include/core:SkStream_hdr",
+        "//third_party:libjpeg-turbo",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkJpegUtility_src",
+    srcs = ["SkJpegUtility.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        ":SkJpegUtility_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMaskSwizzler_hdr",
+    hdrs = ["SkMaskSwizzler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMasks_hdr",
+        ":SkSampler_hdr",
+        ":SkSwizzler_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMaskSwizzler_src",
+    srcs = ["SkMaskSwizzler.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        ":SkMaskSwizzler_hdr",
+        "//include/private:SkColorData_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMasks_hdr",
+    hdrs = ["SkMasks.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkMasks_src",
+    srcs = ["SkMasks.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        ":SkMasks_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkParseEncodedOrigin_hdr",
+    hdrs = ["SkParseEncodedOrigin.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/codec:SkEncodedOrigin_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkParseEncodedOrigin_src",
+    srcs = ["SkParseEncodedOrigin.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPngCodec_hdr",
+    hdrs = ["SkPngCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorTable_hdr",
+        ":SkSwizzler_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkEncodedImageFormat_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkPngChunkReader_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPngCodec_src",
+    srcs = ["SkPngCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        ":SkColorTable_hdr",
+        ":SkPngCodec_hdr",
+        ":SkPngPriv_hdr",
+        ":SkSwizzler_hdr",
+        "//include/android:SkAndroidFrameworkUtils_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkColorSpace_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/core:SkPoint3_hdr",
+        "//include/core:SkSize_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkOpts_hdr",
+        "//third_party:libpng",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPngPriv_hdr",
+    hdrs = ["SkPngPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkRawCodec_hdr",
+    hdrs = ["SkRawCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkColorSpace_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRawCodec_src",
+    srcs = ["SkRawCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        ":SkJpegCodec_hdr",
+        ":SkRawCodec_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkColorSpacePriv_hdr",
+        "//src/core:SkStreamPriv_hdr",
+        "//src/core:SkTaskGroup_hdr",
+        "//third_party:dng_sdk",
+        "//third_party:piex",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSampledCodec_hdr",
+    hdrs = ["SkSampledCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/codec:SkAndroidCodec_hdr",
+        "//include/codec:SkCodec_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSampledCodec_src",
+    srcs = ["SkSampledCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        ":SkSampledCodec_hdr",
+        ":SkSampler_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkMathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSampler_hdr",
+    hdrs = ["SkSampler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSampler_src",
+    srcs = ["SkSampler.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        ":SkSampler_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//src/core:SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScalingCodec_hdr",
+    hdrs = ["SkScalingCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/codec:SkCodec_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkStreamBuffer_hdr",
+    hdrs = ["SkStreamBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkData_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTHash_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStreamBuffer_src",
+    srcs = ["SkStreamBuffer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkStreamBuffer_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkStubHeifDecoderAPI_hdr",
+    hdrs = ["SkStubHeifDecoderAPI.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkSwizzler_hdr",
+    hdrs = ["SkSwizzler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSampler_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkImageInfo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSwizzler_src",
+    srcs = ["SkSwizzler.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        ":SkSwizzler_hdr",
+        "//include/android:SkAndroidFrameworkUtils_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkHalf_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkWbmpCodec_hdr",
+    hdrs = ["SkWbmpCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSwizzler_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkColorSpace_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkWbmpCodec_src",
+    srcs = ["SkWbmpCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        ":SkColorTable_hdr",
+        ":SkWbmpCodec_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkWebpCodec_hdr",
+    hdrs = ["SkWebpCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFrameHolder_hdr",
+        ":SkScalingCodec_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkEncodedImageFormat_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkWebpCodec_src",
+    srcs = ["SkWebpCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCodecPriv_hdr",
+        ":SkParseEncodedOrigin_hdr",
+        ":SkSampler_hdr",
+        ":SkWebpCodec_hdr",
+        "//include/codec:SkCodecAnimation_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkRasterPipeline_hdr",
+        "//src/core:SkStreamPriv_hdr",
+        "//third_party:libwebp",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkWuffsCodec_hdr",
+    hdrs = ["SkWuffsCodec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/codec:SkCodec_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkWuffsCodec_src",
+    srcs = ["SkWuffsCodec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFrameHolder_hdr",
+        ":SkSampler_hdr",
+        ":SkScalingCodec_hdr",
+        ":SkWuffsCodec_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//src/core:SkDraw_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkRasterClip_hdr",
+        "//src/core:SkUtils_hdr",
+        "//third_party:wuffs",
+    ],
 )
diff --git a/src/core/BUILD.bazel b/src/core/BUILD.bazel
index f7deaf7..0797129 100644
--- a/src/core/BUILD.bazel
+++ b/src/core/BUILD.bazel
@@ -1,422 +1,5321 @@
-# https://github.com/bazelbuild/bazel-skylib
-load("@bazel_skylib//lib:selects.bzl", "selects")
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-package(default_visibility = ["//visibility:private"])
-
-filegroup(
-    name = "core-srcs",
-    srcs = [
-        "Sk4px.h",
-        "SkAAClip.cpp",
-        "SkAAClip.h",
-        "SkASAN.h",
-        "SkATrace.cpp",
-        "SkATrace.h",
-        "SkAdvancedTypefaceMetrics.h",
-        "SkAlphaRuns.cpp",
-        "SkAnalyticEdge.cpp",
-        "SkAnalyticEdge.h",
-        "SkAnnotation.cpp",
-        "SkAnnotationKeys.h",
-        "SkAntiRun.h",
-        "SkArenaAlloc.cpp",
-        "SkArenaAlloc.h",
-        "SkArenaAllocList.h",
-        "SkAutoBlitterChoose.h",
-        "SkAutoMalloc.h",
-        "SkAutoPixmapStorage.cpp",
-        "SkAutoPixmapStorage.h",
-        "SkBBHFactory.cpp",
-        "SkBigPicture.cpp",
-        "SkBigPicture.h",
-        "SkBitmap.cpp",
-        "SkBitmapCache.cpp",
-        "SkBitmapCache.h",
-        "SkBitmapDevice.cpp",
-        "SkBitmapDevice.h",
-        "SkBitmapProcState.cpp",
-        "SkBitmapProcState.h",
-        "SkBitmapProcState_matrixProcs.cpp",
-        "SkBlendMode.cpp",
-        "SkBlendModeBlender.cpp",
-        "SkBlendModeBlender.h",
-        "SkBlendModePriv.h",
-        "SkBlenderBase.h",
-        "SkBlitBWMaskTemplate.h",
-        "SkBlitRow.h",
-        "SkBlitRow_D32.cpp",
-        "SkBlitter.cpp",
-        "SkBlitter.h",
-        "SkBlitter_A8.cpp",
-        "SkBlitter_ARGB32.cpp",
-        "SkBlitter_RGB565.cpp",
-        "SkBlitter_Sprite.cpp",
-        "SkBlockAllocator.cpp",
-        "SkBlockAllocator.h",
-        "SkBlurMF.cpp",
-        "SkBlurMask.cpp",
-        "SkBlurMask.h",
-        "SkBuffer.cpp",
-        "SkBuffer.h",
-        "SkCachedData.cpp",
-        "SkCachedData.h",
-        "SkCanvas.cpp",
-        "SkCanvasPriv.cpp",
-        "SkCanvasPriv.h",
-        "SkClipStack.cpp",
-        "SkClipStack.h",
-        "SkClipStackDevice.cpp",
-        "SkClipStackDevice.h",
-        "SkColor.cpp",
-        "SkColorFilter.cpp",
-        "SkColorFilterBase.h",
-        "SkColorFilterPriv.h",
-        "SkColorFilter_Matrix.cpp",
-        "SkColorFilter_Matrix.h",
-        "SkColorSpace.cpp",
-        "SkColorSpacePriv.h",
-        "SkColorSpaceXformSteps.cpp",
-        "SkColorSpaceXformSteps.h",
-        "SkCompressedDataUtils.cpp",
-        "SkCompressedDataUtils.h",
-        "SkContourMeasure.cpp",
-        "SkConvertPixels.cpp",
-        "SkConvertPixels.h",
-        "SkCoreBlitters.h",
-        "SkCpu.cpp",
-        "SkCpu.h",
-        "SkCubicClipper.cpp",
-        "SkCubicClipper.h",
-        "SkCubicMap.cpp",
-        "SkCubicSolver.h",
-        "SkData.cpp",
-        "SkDataTable.cpp",
-        "SkDebug.cpp",
-        "SkDeferredDisplayList.cpp",
-        "SkDeferredDisplayListPriv.h",
-        "SkDeferredDisplayListRecorder.cpp",
-        "SkDeque.cpp",
-        "SkDescriptor.cpp",
-        "SkDescriptor.h",
-        "SkDevice.cpp",
-        "SkDevice.h",
-        "SkDiscardableMemory.h",
-        "SkDistanceFieldGen.cpp",
-        "SkDistanceFieldGen.h",
-        "SkDocument.cpp",
-        "SkDraw.cpp",
-        "SkDraw.h",
-        "SkDrawLooper.cpp",
-        "SkDrawProcs.h",
-        "SkDrawShadowInfo.cpp",
-        "SkDrawShadowInfo.h",
-        "SkDraw_atlas.cpp",
-        "SkDraw_text.cpp",
-        "SkDraw_vertices.cpp",
-        "SkDrawable.cpp",
-        "SkEdge.cpp",
-        "SkEdge.h",
-        "SkEdgeBuilder.cpp",
-        "SkEdgeBuilder.h",
-        "SkEdgeClipper.cpp",
-        "SkEdgeClipper.h",
-        "SkEffectPriv.h",
-        "SkEndian.h",
-        "SkEnumerate.h",
-        "SkExecutor.cpp",
-        "SkFDot6.h",
-        "SkFixed15.h",
-        "SkFlattenable.cpp",
-        "SkFont.cpp",
-        "SkFontDescriptor.cpp",
-        "SkFontDescriptor.h",
-        "SkFontMgr.cpp",
-        "SkFontMgrPriv.h",
-        "SkFontPriv.h",
-        "SkFontStream.cpp",
-        "SkFontStream.h",
-        "SkFont_serial.cpp",
-        "SkFuzzLogging.h",
-        "SkGaussFilter.cpp",
-        "SkGaussFilter.h",
-        "SkGeometry.cpp",
-        "SkGeometry.h",
-        "SkGlobalInitialization_core.cpp",
-        "SkGlyph.cpp",
-        "SkGlyph.h",
-        "SkGlyphBuffer.cpp",
-        "SkGlyphBuffer.h",
-        "SkGlyphRun.cpp",
-        "SkGlyphRun.h",
-        "SkGlyphRunPainter.cpp",
-        "SkGlyphRunPainter.h",
-        "SkGpuBlurUtils.cpp",
-        "SkGpuBlurUtils.h",
-        "SkGraphics.cpp",
-        "SkHalf.cpp",
-        "SkICC.cpp",
-        "SkICCPriv.h",
-        "SkIDChangeListener.cpp",
-        "SkIPoint16.h",
-        "SkImageFilter.cpp",
-        "SkImageFilterCache.cpp",
-        "SkImageFilterCache.h",
-        "SkImageFilterTypes.cpp",
-        "SkImageFilterTypes.h",
-        "SkImageFilter_Base.h",
-        "SkImageGenerator.cpp",
-        "SkImageInfo.cpp",
-        "SkImagePriv.h",
-        "SkLRUCache.h",
-        "SkLatticeIter.cpp",
-        "SkLatticeIter.h",
-        "SkLeanWindows.h",
-        "SkLineClipper.cpp",
-        "SkLineClipper.h",
-        "SkLocalMatrixImageFilter.cpp",
-        "SkLocalMatrixImageFilter.h",
-        "SkM44.cpp",
-        "SkMD5.cpp",
-        "SkMD5.h",
-        "SkMSAN.h",
-        "SkMalloc.cpp",
-        "SkMallocPixelRef.cpp",
-        "SkMarkerStack.cpp",
-        "SkMarkerStack.h",
-        "SkMask.cpp",
-        "SkMask.h",
-        "SkMaskBlurFilter.cpp",
-        "SkMaskBlurFilter.h",
-        "SkMaskCache.cpp",
-        "SkMaskCache.h",
-        "SkMaskFilter.cpp",
-        "SkMaskFilterBase.h",
-        "SkMaskGamma.cpp",
-        "SkMaskGamma.h",
-        "SkMath.cpp",
-        "SkMathPriv.h",
-        "SkMatrix.cpp",
-        "SkMatrixImageFilter.cpp",
-        "SkMatrixImageFilter.h",
-        "SkMatrixInvert.cpp",
-        "SkMatrixInvert.h",
-        "SkMatrixPriv.h",
-        "SkMatrixProvider.h",
-        "SkMatrixUtils.h",
-        "SkMessageBus.h",
-        "SkMiniRecorder.cpp",
-        "SkMiniRecorder.h",
-        "SkMipmap.cpp",
-        "SkMipmap.h",
-        "SkMipmapAccessor.cpp",
-        "SkMipmapAccessor.h",
-        "SkMipmapBuilder.h",
-        "SkModeColorFilter.cpp",
-        "SkModeColorFilter.h",
-        "SkNextID.h",
-        "SkOSFile.h",
-        "SkOpts.cpp",
-        "SkOpts.h",
-        "SkOpts_erms.cpp",
-        "SkOrderedReadBuffer.h",
-        "SkOverdrawCanvas.cpp",
-        "SkPaint.cpp",
-        "SkPaintDefaults.h",
-        "SkPaintPriv.cpp",
-        "SkPaintPriv.h",
-        "SkPath.cpp",
-        "SkPathBuilder.cpp",
-        "SkPathEffect.cpp",
-        "SkPathEffectBase.h",
-        "SkPathMakers.h",
-        "SkPathMeasure.cpp",
-        "SkPathMeasurePriv.h",
-        "SkPathPriv.h",
-        "SkPathRef.cpp",
-        "SkPath_serial.cpp",
-        "SkPicture.cpp",
-        "SkPictureCommon.h",
-        "SkPictureData.cpp",
-        "SkPictureData.h",
-        "SkPictureFlat.cpp",
-        "SkPictureFlat.h",
-        "SkPictureImageGenerator.cpp",
-        "SkPicturePlayback.cpp",
-        "SkPicturePlayback.h",
-        "SkPicturePriv.h",
-        "SkPictureRecord.cpp",
-        "SkPictureRecord.h",
-        "SkPictureRecorder.cpp",
-        "SkPixelRef.cpp",
-        "SkPixelRefPriv.h",
-        "SkPixmap.cpp",
-        "SkPixmapPriv.h",
-        "SkPoint.cpp",
-        "SkPoint3.cpp",
-        "SkPointPriv.h",
-        "SkPromiseImageTexture.cpp",
-        "SkPtrRecorder.cpp",
-        "SkPtrRecorder.h",
-        "SkQuadClipper.cpp",
-        "SkQuadClipper.h",
-        "SkRRect.cpp",
-        "SkRRectPriv.h",
-        "SkRTree.cpp",
-        "SkRTree.h",
-        "SkRasterClip.cpp",
-        "SkRasterClip.h",
-        "SkRasterClipStack.h",
-        "SkRasterPipeline.cpp",
-        "SkRasterPipeline.h",
-        "SkRasterPipelineBlitter.cpp",
-        "SkReadBuffer.cpp",
-        "SkReadBuffer.h",
-        "SkRecord.cpp",
-        "SkRecord.h",
-        "SkRecordDraw.cpp",
-        "SkRecordDraw.h",
-        "SkRecordOpts.cpp",
-        "SkRecordOpts.h",
-        "SkRecordPattern.h",
-        "SkRecordedDrawable.cpp",
-        "SkRecordedDrawable.h",
-        "SkRecorder.cpp",
-        "SkRecorder.h",
-        "SkRecords.cpp",
-        "SkRecords.h",
-        "SkRect.cpp",
-        "SkRectPriv.h",
-        "SkRegion.cpp",
-        "SkRegionPriv.h",
-        "SkRegion_path.cpp",
-        "SkRemoteGlyphCache.cpp",
-        "SkRemoteGlyphCache.h",
-        "SkResourceCache.cpp",
-        "SkResourceCache.h",
-        "SkRuntimeEffectPriv.h",
-        "SkSafeMath.h",
-        "SkSafeRange.h",
-        "SkSamplingPriv.h",
-        "SkScalar.cpp",
-        "SkScaleToSides.h",
-        "SkScalerCache.cpp",
-        "SkScalerCache.h",
-        "SkScalerContext.cpp",
-        "SkScalerContext.h",
-        "SkScan.cpp",
-        "SkScan.h",
-        "SkScanPriv.h",
-        "SkScan_AAAPath.cpp",
-        "SkScan_AntiPath.cpp",
-        "SkScan_Antihair.cpp",
-        "SkScan_Hairline.cpp",
-        "SkScan_Path.cpp",
-        "SkScopeExit.h",
-        "SkSemaphore.cpp",
-        "SkSharedMutex.cpp",
-        "SkSharedMutex.h",
-        "SkSpecialImage.cpp",
-        "SkSpecialImage.h",
-        "SkSpecialSurface.cpp",
-        "SkSpecialSurface.h",
-        "SkSpinlock.cpp",
-        "SkSpriteBlitter.h",
-        "SkSpriteBlitter_ARGB32.cpp",
-        "SkSpriteBlitter_RGB565.cpp",
-        "SkStream.cpp",
-        "SkStreamPriv.h",
-        "SkStrikeCache.cpp",
-        "SkStrikeCache.h",
-        "SkStrikeForGPU.cpp",
-        "SkStrikeForGPU.h",
-        "SkStrikeSpec.cpp",
-        "SkStrikeSpec.h",
-        "SkString.cpp",
-        "SkStringUtils.cpp",
-        "SkStringUtils.h",
-        "SkStringView.cpp",
-        "SkStroke.cpp",
-        "SkStroke.h",
-        "SkStrokeRec.cpp",
-        "SkStrokerPriv.cpp",
-        "SkStrokerPriv.h",
-        "SkSurfaceCharacterization.cpp",
-        "SkSurfacePriv.h",
-        "SkSwizzle.cpp",
-        "SkTBlockList.h",
-        "SkTDPQueue.h",
-        "SkTDynamicHash.h",
-        "SkTInternalLList.h",
-        "SkTLazy.h",
-        "SkTMultiMap.h",
-        "SkTSearch.cpp",
-        "SkTSearch.h",
-        "SkTSort.h",
-        "SkTaskGroup.cpp",
-        "SkTaskGroup.h",
-        "SkTextBlob.cpp",
-        "SkTextBlobPriv.h",
-        "SkTextBlobTrace.cpp",
-        "SkTextBlobTrace.h",
-        "SkTextFormatParams.h",
-        "SkThreadID.cpp",
-        "SkTime.cpp",
-        "SkTraceEvent.h",
-        "SkTraceEventCommon.h",
-        "SkTypeface.cpp",
-        "SkTypefaceCache.cpp",
-        "SkTypefaceCache.h",
-        "SkTypeface_remote.cpp",
-        "SkTypeface_remote.h",
-        "SkUnPreMultiply.cpp",
-        "SkUtils.cpp",
-        "SkUtils.h",
-        "SkUtilsArm.cpp",
-        "SkVM.cpp",
-        "SkVM.h",
-        "SkVMBlitter.cpp",
-        "SkVMBlitter.h",
-        "SkVM_fwd.h",
-        "SkValidationUtils.h",
-        "SkVertState.cpp",
-        "SkVertState.h",
-        "SkVertices.cpp",
-        "SkVerticesPriv.h",
-        "SkVptr.h",
-        "SkWriteBuffer.cpp",
-        "SkWriteBuffer.h",
-        "SkWritePixelsRec.h",
-        "SkWriter32.cpp",
-        "SkWriter32.h",
-        "SkXfermode.cpp",
-        "SkXfermodeInterpretation.cpp",
-        "SkXfermodeInterpretation.h",
-        "SkXfermodePriv.h",
-        "SkYUVAInfo.cpp",
-        "SkYUVAInfoLocation.h",
-        "SkYUVAPixmaps.cpp",
-        "SkYUVMath.cpp",
-        "SkYUVMath.h",
-        "SkYUVPlanesCache.cpp",
-        "SkYUVPlanesCache.h",
-        "SkZip.h",
-    ],
-)
-
-filegroup(
-    name = "sksl-srcs",
-    srcs = [
-        "SkRuntimeEffect.cpp",
-    ],
-)
-
-filegroup(
-    name = "srcs",
-    srcs = [":core-srcs"] + selects.with_or({
-        ("//bazel/common_config_settings:gl_backend", "//bazel/common_config_settings:vulkan_backend"): [
-            ":sksl-srcs",
-        ],
-        "//conditions:default": [],
-    }),
+generated_cc_atom(
+    name = "Sk4px_hdr",
+    hdrs = ["Sk4px.h"],
     visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkNx_hdr",
+        "//src/opts:Sk4px_NEON_hdr",
+        "//src/opts:Sk4px_SSE2_hdr",
+        "//src/opts:Sk4px_none_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAAClip_hdr",
+    hdrs = ["SkAAClip.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAutoMalloc_hdr",
+        ":SkBlitter_hdr",
+        "//include/core:SkClipOp_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAAClip_src",
+    srcs = ["SkAAClip.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAAClip_hdr",
+        ":SkBlitter_hdr",
+        ":SkRectPriv_hdr",
+        ":SkScan_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkASAN_hdr",
+    hdrs = ["SkASAN.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkATrace_hdr",
+    hdrs = ["SkATrace.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/utils:SkEventTracer_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkATrace_src",
+    srcs = ["SkATrace.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkATrace_hdr",
+        ":SkTraceEventCommon_hdr",
+        ":SkTraceEvent_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAdvancedTypefaceMetrics_hdr",
+    hdrs = ["SkAdvancedTypefaceMetrics.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRect_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkBitmaskEnum_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAlphaRuns_src",
+    srcs = ["SkAlphaRuns.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAntiRun_hdr",
+        ":SkOpts_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAnalyticEdge_hdr",
+    hdrs = ["SkAnalyticEdge.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkEdge_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAnalyticEdge_src",
+    srcs = ["SkAnalyticEdge.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAnalyticEdge_hdr",
+        ":SkFDot6_hdr",
+        ":SkMathPriv_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAnnotationKeys_hdr",
+    hdrs = ["SkAnnotationKeys.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkAnnotation_src",
+    srcs = ["SkAnnotation.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAnnotationKeys_hdr",
+        "//include/core:SkAnnotation_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAntiRun_hdr",
+    hdrs = ["SkAntiRun.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlitter_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkArenaAllocList_hdr",
+    hdrs = ["SkArenaAllocList.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkArenaAlloc_hdr",
+    hdrs = ["SkArenaAlloc.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTFitsIn_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkArenaAlloc_src",
+    srcs = ["SkArenaAlloc.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkArenaAlloc_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkAutoBlitterChoose_hdr",
+    hdrs = ["SkAutoBlitterChoose.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkBlitter_hdr",
+        ":SkDraw_hdr",
+        ":SkRasterClip_hdr",
+        "//include/private:SkMacros_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAutoMalloc_hdr",
+    hdrs = ["SkAutoMalloc.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAutoPixmapStorage_hdr",
+    hdrs = ["SkAutoPixmapStorage.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPixmap_hdr",
+        "//include/private:SkMalloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAutoPixmapStorage_src",
+    srcs = ["SkAutoPixmapStorage.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAutoPixmapStorage_hdr",
+        "//include/core:SkData_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBBHFactory_src",
+    srcs = ["SkBBHFactory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRTree_hdr",
+        "//include/core:SkBBHFactory_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBigPicture_hdr",
+    hdrs = ["SkBigPicture.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkM44_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkOnce_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBigPicture_src",
+    srcs = ["SkBigPicture.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBigPicture_hdr",
+        ":SkPictureCommon_hdr",
+        ":SkRecordDraw_hdr",
+        ":SkRecord_hdr",
+        ":SkTraceEvent_hdr",
+        "//include/core:SkBBHFactory_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBitmapCache_hdr",
+    hdrs = ["SkBitmapCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkRect_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkBitmapCache_src",
+    srcs = ["SkBitmapCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapCache_hdr",
+        ":SkDiscardableMemory_hdr",
+        ":SkMipmap_hdr",
+        ":SkNextID_hdr",
+        ":SkResourceCache_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkPixelRef_hdr",
+        "//include/core:SkRect_hdr",
+        "//src/image:SkImage_Base_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBitmapDevice_hdr",
+    hdrs = ["SkBitmapDevice.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDevice_hdr",
+        ":SkGlyphRunPainter_hdr",
+        ":SkRasterClipStack_hdr",
+        ":SkRasterClip_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkSize_hdr",
+        "//include/core:SkSurfaceProps_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBitmapDevice_src",
+    srcs = ["SkBitmapDevice.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapDevice_hdr",
+        ":SkDraw_hdr",
+        ":SkGlyphRun_hdr",
+        ":SkImageFilterCache_hdr",
+        ":SkImageFilter_Base_hdr",
+        ":SkRasterClip_hdr",
+        ":SkSpecialImage_hdr",
+        ":SkStrikeCache_hdr",
+        ":SkTLazy_hdr",
+        "//include/core:SkBlender_hdr",
+        "//include/core:SkImageFilter_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPixmap_hdr",
+        "//include/core:SkRasterHandleAllocator_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/core:SkVertices_hdr",
+        "//src/image:SkImage_Base_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBitmapProcState_hdr",
+    hdrs = ["SkBitmapProcState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkMatrixPriv_hdr",
+        ":SkMipmapAccessor_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkFloatBits_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBitmapProcState_matrixProcs_src",
+    srcs = ["SkBitmapProcState_matrixProcs.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapProcState_hdr",
+        ":SkOpts_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBitmapProcState_src",
+    srcs = ["SkBitmapProcState.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapCache_hdr",
+        ":SkBitmapProcState_hdr",
+        ":SkMipmapAccessor_hdr",
+        ":SkMipmap_hdr",
+        ":SkOpts_hdr",
+        ":SkResourceCache_hdr",
+        "//include/core:SkImageEncoder_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkTPin_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBitmap_src",
+    srcs = ["SkBitmap.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkConvertPixels_hdr",
+        ":SkMaskFilterBase_hdr",
+        ":SkMask_hdr",
+        ":SkMipmap_hdr",
+        ":SkPixelRefPriv_hdr",
+        ":SkPixmapPriv_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkWriteBuffer_hdr",
+        ":SkWritePixelsRec_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkMallocPixelRef_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPixelRef_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkUnPreMultiply_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkHalf_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlendModeBlender_hdr",
+    hdrs = ["SkBlendModeBlender.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkBlenderBase_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkBlendModeBlender_src",
+    srcs = ["SkBlendModeBlender.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlendModeBlender_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkWriteBuffer_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu/effects:GrBlendFragmentProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlendModePriv_hdr",
+    hdrs = ["SkBlendModePriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBlendMode_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/private:SkColorData_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlendMode_src",
+    srcs = ["SkBlendMode.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlendModePriv_hdr",
+        ":SkRasterPipeline_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlenderBase_hdr",
+    hdrs = ["SkBlenderBase.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkVM_hdr",
+        "//include/core:SkBlender_hdr",
+        "//include/core:SkColorSpace_hdr",
+        "//include/private:SkTOptional_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlitBWMaskTemplate_hdr",
+    hdrs = ["SkBlitBWMaskTemplate.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMask_hdr",
+        "//include/core:SkBitmap_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlitRow_D32_src",
+    srcs = ["SkBlitRow_D32.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlitRow_hdr",
+        ":SkOpts_hdr",
+        "//include/private:SkColorData_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlitRow_hdr",
+    hdrs = ["SkBlitRow.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkColor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlitter_A8_src",
+    srcs = ["SkBlitter_A8.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCoreBlitters_hdr",
+        ":SkXfermodePriv_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/private:SkColorData_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlitter_ARGB32_src",
+    srcs = ["SkBlitter_ARGB32.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlitBWMaskTemplate_hdr",
+        ":SkCoreBlitters_hdr",
+        ":SkOpts_hdr",
+        ":SkXfermodePriv_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkVx_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlitter_RGB565_src",
+    srcs = ["SkBlitter_RGB565.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCoreBlitters_hdr",
+        ":SkXfermodePriv_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkNx_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlitter_Sprite_src",
+    srcs = ["SkBlitter_Sprite.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkColorSpacePriv_hdr",
+        ":SkColorSpaceXformSteps_hdr",
+        ":SkCoreBlitters_hdr",
+        ":SkOpts_hdr",
+        ":SkRasterPipeline_hdr",
+        ":SkSpriteBlitter_hdr",
+        ":SkVMBlitter_hdr",
+        "//include/core:SkColorSpace_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlitter_hdr",
+    hdrs = ["SkBlitter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAutoMalloc_hdr",
+        ":SkImagePriv_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlitter_src",
+    srcs = ["SkBlitter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAntiRun_hdr",
+        ":SkArenaAlloc_hdr",
+        ":SkBlitter_hdr",
+        ":SkCoreBlitters_hdr",
+        ":SkMaskFilterBase_hdr",
+        ":SkMask_hdr",
+        ":SkMatrixProvider_hdr",
+        ":SkOpts_hdr",
+        ":SkPaintPriv_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkRegionPriv_hdr",
+        ":SkTLazy_hdr",
+        ":SkVMBlitter_hdr",
+        ":SkWriteBuffer_hdr",
+        ":SkXfermodeInterpretation_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlockAllocator_hdr",
+    hdrs = ["SkBlockAllocator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkASAN_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlockAllocator_src",
+    srcs = ["SkBlockAllocator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkBlockAllocator_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkBlurMF_src",
+    srcs = ["SkBlurMF.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlurMask_hdr",
+        ":SkGpuBlurUtils_hdr",
+        ":SkMaskCache_hdr",
+        ":SkMaskFilterBase_hdr",
+        ":SkMathPriv_hdr",
+        ":SkMatrixProvider_hdr",
+        ":SkRRectPriv_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkRuntimeEffectPriv_hdr",
+        ":SkStringUtils_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkPathBuilder_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/core:SkVertices_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrStyle_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:GrThreadSafeCache_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrMatrixEffect_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlurMask_hdr",
+    hdrs = ["SkBlurMask.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMask_hdr",
+        "//include/core:SkBlurTypes_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlurMask_src",
+    srcs = ["SkBlurMask.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlurMask_hdr",
+        ":SkEndian_hdr",
+        ":SkMaskBlurFilter_hdr",
+        ":SkMathPriv_hdr",
+        "//include/core:SkColorPriv_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBuffer_hdr",
+    hdrs = ["SkBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSafeMath_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBuffer_src",
+    srcs = ["SkBuffer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBuffer_hdr",
+        "//include/private:SkMalloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCachedData_hdr",
+    hdrs = ["SkCachedData.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCachedData_src",
+    srcs = ["SkCachedData.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCachedData_hdr",
+        ":SkDiscardableMemory_hdr",
+        "//include/private:SkMalloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCanvasPriv_hdr",
+    hdrs = ["SkCanvasPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCanvasPriv_src",
+    srcs = ["SkCanvasPriv.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAutoMalloc_hdr",
+        ":SkCanvasPriv_hdr",
+        ":SkDevice_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkWriter32_hdr",
+        "//src/gpu:BaseDevice_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCanvas_src",
+    srcs = ["SkCanvas.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkBitmapDevice_hdr",
+        ":SkCanvasPriv_hdr",
+        ":SkClipStack_hdr",
+        ":SkColorFilterBase_hdr",
+        ":SkDraw_hdr",
+        ":SkGlyphRun_hdr",
+        ":SkImageFilterCache_hdr",
+        ":SkImageFilter_Base_hdr",
+        ":SkLatticeIter_hdr",
+        ":SkMSAN_hdr",
+        ":SkMarkerStack_hdr",
+        ":SkMatrixPriv_hdr",
+        ":SkMatrixUtils_hdr",
+        ":SkPaintPriv_hdr",
+        ":SkRasterClip_hdr",
+        ":SkSpecialImage_hdr",
+        ":SkStrikeCache_hdr",
+        ":SkTLazy_hdr",
+        ":SkTextFormatParams_hdr",
+        ":SkTraceEvent_hdr",
+        ":SkVerticesPriv_hdr",
+        "//include/core:SkBlender_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkImageFilter_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkRasterHandleAllocator_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTextBlob_hdr",
+        "//include/core:SkVertices_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/private:SkTOptional_hdr",
+        "//include/private:SkTo_hdr",
+        "//include/private/chromium:GrSlug_hdr",
+        "//include/utils:SkNoDrawCanvas_hdr",
+        "//src/gpu:BaseDevice_hdr",
+        "//src/gpu:GrRenderTargetProxy_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/image:SkImage_Base_hdr",
+        "//src/image:SkSurface_Base_hdr",
+        "//src/utils:SkPatchUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkClipStackDevice_hdr",
+    hdrs = ["SkClipStackDevice.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkClipStack_hdr",
+        ":SkDevice_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkClipStackDevice_src",
+    srcs = ["SkClipStackDevice.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkClipStackDevice_hdr",
+        ":SkDraw_hdr",
+        ":SkRasterClip_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkClipStack_hdr",
+    hdrs = ["SkClipStack.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMessageBus_hdr",
+        ":SkTLazy_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/private:GrResourceKey_hdr",
+        "//include/private:SkDeque_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkClipStack_src",
+    srcs = ["SkClipStack.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkClipStack_hdr",
+        ":SkRectPriv_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkPath_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorFilterBase_hdr",
+    hdrs = ["SkColorFilterBase.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkVM_fwd_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/private:SkColorData_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorFilterPriv_hdr",
+    hdrs = ["SkColorFilterPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkColorFilter_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkColorFilter_Matrix_hdr",
+    hdrs = ["SkColorFilter_Matrix.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkColorFilterBase_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkColorFilter_Matrix_src",
+    srcs = ["SkColorFilter_Matrix.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorFilter_Matrix_hdr",
+        ":SkColorSpacePriv_hdr",
+        ":SkRasterPipeline_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkRuntimeEffectPriv_hdr",
+        ":SkVM_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkUnPreMultiply_hdr",
+        "//include/effects:SkColorMatrix_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkNx_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorFilter_src",
+    srcs = ["SkColorFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkColorFilterBase_hdr",
+        ":SkColorFilterPriv_hdr",
+        ":SkColorSpacePriv_hdr",
+        ":SkColorSpaceXformSteps_hdr",
+        ":SkMatrixProvider_hdr",
+        ":SkModeColorFilter_hdr",
+        ":SkRasterPipeline_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkRuntimeEffectPriv_hdr",
+        ":SkVM_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkUnPreMultiply_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//include/private:SkNx_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//src/gpu:GrColorInfo_hdr",
+        "//src/gpu:GrColorSpaceXform_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorSpacePriv_hdr",
+    hdrs = ["SkColorSpacePriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkVM_fwd_hdr",
+        "//include/core:SkColorSpace_hdr",
+        "//include/private:SkFixed_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorSpaceXformSteps_hdr",
+    hdrs = ["SkColorSpaceXformSteps.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkVM_fwd_hdr",
+        "//include/core:SkColorSpace_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorSpaceXformSteps_src",
+    srcs = ["SkColorSpaceXformSteps.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorSpacePriv_hdr",
+        ":SkColorSpaceXformSteps_hdr",
+        ":SkRasterPipeline_hdr",
+        ":SkVM_hdr",
+        "//include/third_party/skcms:skcms_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorSpace_src",
+    srcs = ["SkColorSpace.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorSpacePriv_hdr",
+        ":SkOpts_hdr",
+        "//include/core:SkColorSpace_hdr",
+        "//include/core:SkData_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/third_party/skcms:skcms_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColor_src",
+    srcs = ["SkColor.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkTPin_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCompressedDataUtils_hdr",
+    hdrs = ["SkCompressedDataUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImage_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkSize_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCompressedDataUtils_src",
+    srcs = ["SkCompressedDataUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCompressedDataUtils_hdr",
+        ":SkMathPriv_hdr",
+        ":SkMipmap_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkColorPriv_hdr",
+        "//include/core:SkData_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTPin_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkContourMeasure_src",
+    srcs = ["SkContourMeasure.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGeometry_hdr",
+        ":SkPathMeasurePriv_hdr",
+        ":SkPathPriv_hdr",
+        ":SkTSearch_hdr",
+        "//include/core:SkContourMeasure_hdr",
+        "//include/core:SkPath_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkConvertPixels_hdr",
+    hdrs = ["SkConvertPixels.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImageInfo_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkConvertPixels_src",
+    srcs = ["SkConvertPixels.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorSpacePriv_hdr",
+        ":SkColorSpaceXformSteps_hdr",
+        ":SkConvertPixels_hdr",
+        ":SkOpts_hdr",
+        ":SkRasterPipeline_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkHalf_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCoreBlitters_hdr",
+    hdrs = ["SkCoreBlitters.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlitRow_hdr",
+        ":SkBlitter_hdr",
+        ":SkXfermodePriv_hdr",
+        "//include/core:SkPaint_hdr",
+        "//src/shaders:SkBitmapProcShader_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCpu_hdr",
+    hdrs = ["SkCpu.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkCpu_src",
+    srcs = ["SkCpu.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCpu_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkOnce_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCubicClipper_hdr",
+    hdrs = ["SkCubicClipper.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCubicClipper_src",
+    srcs = ["SkCubicClipper.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCubicClipper_hdr",
+        ":SkGeometry_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCubicMap_src",
+    srcs = ["SkCubicMap.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpts_hdr",
+        "//include/core:SkCubicMap_hdr",
+        "//include/private:SkNx_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/pathops:SkPathOpsCubic_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCubicSolver_hdr",
+    hdrs = ["SkCubicSolver.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkFloatingPoint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDataTable_src",
+    srcs = ["SkDataTable.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkDataTable_hdr",
+        "//include/core:SkData_hdr",
+        "//include/private:SkOnce_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkData_src",
+    srcs = ["SkData.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOSFile_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkOnce_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDebug_src",
+    srcs = ["SkDebug.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkDeferredDisplayListPriv_hdr",
+    hdrs = ["SkDeferredDisplayListPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkDeferredDisplayList_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkDeferredDisplayListRecorder_src",
+    srcs = ["SkDeferredDisplayListRecorder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMessageBus_hdr",
+        "//include/core:SkDeferredDisplayListRecorder_hdr",
+        "//include/core:SkDeferredDisplayList_hdr",
+        "//include/core:SkPromiseImageTexture_hdr",
+        "//include/core:SkSurfaceCharacterization_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/gpu:GrYUVABackendTextures_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/image:SkImage_GpuYUVA_hdr",
+        "//src/image:SkImage_Gpu_hdr",
+        "//src/image:SkSurface_Gpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDeferredDisplayList_src",
+    srcs = ["SkDeferredDisplayList.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        "//include/core:SkDeferredDisplayList_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypes_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrRenderTask_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDeque_src",
+    srcs = ["SkDeque.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkDeque_hdr",
+        "//include/private:SkMalloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDescriptor_hdr",
+    hdrs = ["SkDescriptor.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkScalerContext_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDescriptor_src",
+    srcs = ["SkDescriptor.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDescriptor_hdr",
+        ":SkOpts_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDevice_hdr",
+    hdrs = ["SkDevice.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMatrixPriv_hdr",
+        ":SkMatrixProvider_hdr",
+        ":SkRasterClip_hdr",
+        "//include/core:SkBlender_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkSurfaceProps_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDevice_src",
+    srcs = ["SkDevice.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDevice_hdr",
+        ":SkDraw_hdr",
+        ":SkGlyphRun_hdr",
+        ":SkImageFilterCache_hdr",
+        ":SkImageFilter_Base_hdr",
+        ":SkImagePriv_hdr",
+        ":SkLatticeIter_hdr",
+        ":SkMarkerStack_hdr",
+        ":SkMatrixPriv_hdr",
+        ":SkOpts_hdr",
+        ":SkPathPriv_hdr",
+        ":SkRasterClip_hdr",
+        ":SkRectPriv_hdr",
+        ":SkSpecialImage_hdr",
+        ":SkTLazy_hdr",
+        ":SkTextBlobPriv_hdr",
+        ":SkUtils_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkDrawable_hdr",
+        "//include/core:SkImageFilter_hdr",
+        "//include/core:SkPathMeasure_hdr",
+        "//include/core:SkRSXform_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkVertices_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/image:SkImage_Base_hdr",
+        "//src/shaders:SkLocalMatrixShader_hdr",
+        "//src/utils:SkPatchUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDiscardableMemory_hdr",
+    hdrs = ["SkDiscardableMemory.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDistanceFieldGen_hdr",
+    hdrs = ["SkDistanceFieldGen.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkDistanceFieldGen_src",
+    srcs = ["SkDistanceFieldGen.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAutoMalloc_hdr",
+        ":SkDistanceFieldGen_hdr",
+        ":SkMask_hdr",
+        ":SkPointPriv_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDocument_src",
+    srcs = ["SkDocument.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkDocument_hdr",
+        "//include/core:SkStream_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDrawLooper_src",
+    srcs = ["SkDrawLooper.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkDrawLooper_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDrawProcs_hdr",
+    hdrs = ["SkDrawProcs.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDraw_hdr",
+        ":SkGlyph_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDrawShadowInfo_hdr",
+    hdrs = ["SkDrawShadowInfo.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/core:SkPoint3_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/private:SkTPin_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDrawShadowInfo_src",
+    srcs = ["SkDrawShadowInfo.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDrawShadowInfo_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/private:SkShadowFlags_hdr",
+        "//src/utils:SkPolyUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDraw_atlas_src",
+    srcs = ["SkDraw_atlas.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlendModePriv_hdr",
+        ":SkColorSpacePriv_hdr",
+        ":SkColorSpaceXformSteps_hdr",
+        ":SkCoreBlitters_hdr",
+        ":SkDraw_hdr",
+        ":SkMatrixProvider_hdr",
+        ":SkRasterClip_hdr",
+        ":SkRasterPipeline_hdr",
+        ":SkScan_hdr",
+        ":SkVMBlitter_hdr",
+        ":SkVM_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkRSXform_hdr",
+        "//src/shaders:SkComposeShader_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDraw_hdr",
+    hdrs = ["SkDraw.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGlyphRunPainter_hdr",
+        ":SkMask_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPixmap_hdr",
+        "//include/core:SkStrokeRec_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDraw_src",
+    srcs = ["SkDraw.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkAutoBlitterChoose_hdr",
+        ":SkBlendModePriv_hdr",
+        ":SkBlitter_hdr",
+        ":SkDevice_hdr",
+        ":SkDrawProcs_hdr",
+        ":SkDraw_hdr",
+        ":SkMaskFilterBase_hdr",
+        ":SkMatrixUtils_hdr",
+        ":SkPathEffectBase_hdr",
+        ":SkPathPriv_hdr",
+        ":SkRasterClip_hdr",
+        ":SkRectPriv_hdr",
+        ":SkSamplingPriv_hdr",
+        ":SkScan_hdr",
+        ":SkStroke_hdr",
+        ":SkTLazy_hdr",
+        ":SkUtils_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDraw_text_src",
+    srcs = ["SkDraw_text.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDraw_hdr",
+        ":SkFontPriv_hdr",
+        ":SkMatrixProvider_hdr",
+        ":SkPaintPriv_hdr",
+        ":SkRasterClip_hdr",
+        ":SkScalerCache_hdr",
+        ":SkScalerContext_hdr",
+        ":SkUtils_hdr",
+        "//include/core:SkBitmap_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDraw_vertices_src",
+    srcs = ["SkDraw_vertices.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkAutoBlitterChoose_hdr",
+        ":SkConvertPixels_hdr",
+        ":SkCoreBlitters_hdr",
+        ":SkDraw_hdr",
+        ":SkMatrixProvider_hdr",
+        ":SkRasterClip_hdr",
+        ":SkRasterPipeline_hdr",
+        ":SkScan_hdr",
+        ":SkVMBlitter_hdr",
+        ":SkVM_hdr",
+        ":SkVertState_hdr",
+        ":SkVerticesPriv_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkNx_hdr",
+        "//src/shaders:SkColorShader_hdr",
+        "//src/shaders:SkComposeShader_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDrawable_src",
+    srcs = ["SkDrawable.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkDrawable_hdr",
+        "//include/core:SkPictureRecorder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkEdgeBuilder_hdr",
+    hdrs = ["SkEdgeBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAnalyticEdge_hdr",
+        ":SkArenaAlloc_hdr",
+        ":SkEdge_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkEdgeBuilder_src",
+    srcs = ["SkEdgeBuilder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAnalyticEdge_hdr",
+        ":SkEdgeBuilder_hdr",
+        ":SkEdgeClipper_hdr",
+        ":SkEdge_hdr",
+        ":SkGeometry_hdr",
+        ":SkLineClipper_hdr",
+        ":SkPathPriv_hdr",
+        ":SkSafeMath_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkEdgeClipper_hdr",
+    hdrs = ["SkEdgeClipper.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPath_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkEdgeClipper_src",
+    srcs = ["SkEdgeClipper.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkEdgeClipper_hdr",
+        ":SkGeometry_hdr",
+        ":SkLineClipper_hdr",
+        ":SkPathPriv_hdr",
+        "//include/private:SkMacros_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkEdge_hdr",
+    hdrs = ["SkEdge.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFDot6_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkEdge_src",
+    srcs = ["SkEdge.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkEdge_hdr",
+        ":SkFDot6_hdr",
+        ":SkMathPriv_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkEffectPriv_hdr",
+    hdrs = ["SkEffectPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkMatrix_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkEndian_hdr",
+    hdrs = ["SkEndian.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkEnumerate_hdr",
+    hdrs = ["SkEnumerate.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkTLogic_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkExecutor_src",
+    srcs = ["SkExecutor.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkLeanWindows_hdr",
+        "//include/core:SkExecutor_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkSemaphore_hdr",
+        "//include/private:SkSpinlock_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFDot6_hdr",
+    hdrs = ["SkFDot6.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkMath_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFixed15_hdr",
+    hdrs = ["SkFixed15.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkFlattenable_src",
+    srcs = ["SkFlattenable.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPtrRecorder_hdr",
+        ":SkReadBuffer_hdr",
+        "//include/core:SkFlattenable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontDescriptor_hdr",
+    hdrs = ["SkFontDescriptor.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontDescriptor_src",
+    srcs = ["SkFontDescriptor.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontDescriptor_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkStream_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgrPriv_hdr",
+    hdrs = ["SkFontMgrPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkFontMgr_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_src",
+    srcs = ["SkFontMgr.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontDescriptor_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkOnce_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontPriv_hdr",
+    hdrs = ["SkFontPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFont_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontStream_hdr",
+    hdrs = ["SkFontStream.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypeface_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkFontStream_src",
+    srcs = ["SkFontStream.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAutoMalloc_hdr",
+        ":SkEndian_hdr",
+        ":SkFontStream_hdr",
+        "//include/core:SkStream_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFont_serial_src",
+    srcs = ["SkFont_serial.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontPriv_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFont_src",
+    srcs = ["SkFont.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDraw_hdr",
+        ":SkFontPriv_hdr",
+        ":SkPaintDefaults_hdr",
+        ":SkScalerCache_hdr",
+        ":SkScalerContext_hdr",
+        ":SkStrikeCache_hdr",
+        ":SkStrikeSpec_hdr",
+        ":SkTLazy_hdr",
+        ":SkUtils_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFuzzLogging_hdr",
+    hdrs = ["SkFuzzLogging.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkGaussFilter_hdr",
+    hdrs = ["SkGaussFilter.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkGaussFilter_src",
+    srcs = ["SkGaussFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGaussFilter_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkFloatingPoint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGeometry_hdr",
+    hdrs = ["SkGeometry.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkMatrix_hdr",
+        "//include/private:SkNx_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGeometry_src",
+    srcs = ["SkGeometry.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGeometry_hdr",
+        ":SkPointPriv_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPoint3_hdr",
+        "//include/private:SkNx_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkVx_hdr",
+        "//src/pathops:SkPathOpsCubic_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGlobalInitialization_core_src",
+    srcs = ["SkGlobalInitialization_core.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFlattenable_hdr",
+        "//include/private:SkOnce_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGlyphBuffer_hdr",
+    hdrs = ["SkGlyphBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkEnumerate_hdr",
+        ":SkGlyph_hdr",
+        ":SkZip_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGlyphBuffer_src",
+    srcs = ["SkGlyphBuffer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGlyphBuffer_hdr",
+        ":SkGlyphRunPainter_hdr",
+        ":SkStrikeForGPU_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGlyphRunPainter_hdr",
+    hdrs = ["SkGlyphRunPainter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDistanceFieldGen_hdr",
+        ":SkGlyphBuffer_hdr",
+        ":SkGlyphRun_hdr",
+        ":SkScalerContext_hdr",
+        ":SkTextBlobPriv_hdr",
+        "//include/core:SkSurfaceProps_hdr",
+        "//src/gpu/text:GrSDFTControl_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGlyphRunPainter_src",
+    srcs = ["SkGlyphRunPainter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDevice_hdr",
+        ":SkDistanceFieldGen_hdr",
+        ":SkDraw_hdr",
+        ":SkEnumerate_hdr",
+        ":SkFontPriv_hdr",
+        ":SkGlyphRunPainter_hdr",
+        ":SkRasterClip_hdr",
+        ":SkScalerCache_hdr",
+        ":SkStrikeCache_hdr",
+        ":SkStrikeForGPU_hdr",
+        ":SkStrikeSpec_hdr",
+        ":SkTraceEvent_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrColorInfo_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/text:GrSDFTControl_hdr",
+        "//src/gpu/text:GrTextBlobCache_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGlyphRun_hdr",
+    hdrs = ["SkGlyphRun.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkZip_hdr",
+        "//include/core:SkFont_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRSXform_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGlyphRun_src",
+    srcs = ["SkGlyphRun.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDevice_hdr",
+        ":SkFontPriv_hdr",
+        ":SkGlyphRun_hdr",
+        ":SkScalerCache_hdr",
+        ":SkStrikeCache_hdr",
+        ":SkStrikeSpec_hdr",
+        ":SkTextBlobPriv_hdr",
+        ":SkUtils_hdr",
+        "//include/core:SkFont_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkRSXform_hdr",
+        "//include/core:SkTextBlob_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGlyph_hdr",
+    hdrs = ["SkGlyph.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMask_hdr",
+        ":SkMathPriv_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkChecksum_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkTo_hdr",
+        "//include/private:SkVx_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGlyph_src",
+    srcs = ["SkGlyph.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkGlyph_hdr",
+        ":SkScalerContext_hdr",
+        "//src/pathops:SkPathOpsCubic_hdr",
+        "//src/pathops:SkPathOpsQuad_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGpuBlurUtils_hdr",
+    hdrs = ["SkGpuBlurUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGpuBlurUtils_src",
+    srcs = ["SkGpuBlurUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGpuBlurUtils_hdr",
+        ":SkMathPriv_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrGaussianConvolutionFragmentProcessor_hdr",
+        "//src/gpu/effects:GrMatrixConvolutionEffect_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGraphics_src",
+    srcs = ["SkGraphics.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlitter_hdr",
+        ":SkCpu_hdr",
+        ":SkGeometry_hdr",
+        ":SkImageFilter_Base_hdr",
+        ":SkOpts_hdr",
+        ":SkResourceCache_hdr",
+        ":SkScalerContext_hdr",
+        ":SkStrikeCache_hdr",
+        ":SkTSearch_hdr",
+        ":SkTypefaceCache_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkGraphics_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTime_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkHalf_src",
+    srcs = ["SkHalf.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkFloatBits_hdr",
+        "//include/private:SkHalf_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkICCPriv_hdr",
+    hdrs = ["SkICCPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColorSpace_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkICC_src",
+    srcs = ["SkICC.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAutoMalloc_hdr",
+        ":SkColorSpacePriv_hdr",
+        ":SkEndian_hdr",
+        ":SkICCPriv_hdr",
+        ":SkMD5_hdr",
+        ":SkUtils_hdr",
+        "//include/core:SkICC_hdr",
+        "//include/private:SkFixed_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkIDChangeListener_src",
+    srcs = ["SkIDChangeListener.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkIDChangeListener_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkIPoint16_hdr",
+    hdrs = ["SkIPoint16.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageFilterCache_hdr",
+    hdrs = ["SkImageFilterCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImageFilterTypes_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageFilterCache_src",
+    srcs = ["SkImageFilterCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImageFilterCache_hdr",
+        ":SkOpts_hdr",
+        ":SkSpecialImage_hdr",
+        ":SkTDynamicHash_hdr",
+        ":SkTInternalLList_hdr",
+        "//include/core:SkImageFilter_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkOnce_hdr",
+        "//include/private:SkTHash_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageFilterTypes_hdr",
+    hdrs = ["SkImageFilterTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSpecialImage_hdr",
+        ":SkSpecialSurface_hdr",
+        "//include/core:SkMatrix_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageFilterTypes_src",
+    srcs = ["SkImageFilterTypes.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImageFilterTypes_hdr",
+        ":SkImageFilter_Base_hdr",
+        ":SkMatrixPriv_hdr",
+        "//include/core:SkMatrix_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageFilter_Base_hdr",
+    hdrs = ["SkImageFilter_Base.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImageFilterTypes_hdr",
+        "//include/core:SkColorSpace_hdr",
+        "//include/core:SkImageFilter_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageFilter_src",
+    srcs = ["SkImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFuzzLogging_hdr",
+        ":SkImageFilterCache_hdr",
+        ":SkImageFilter_Base_hdr",
+        ":SkLocalMatrixImageFilter_hdr",
+        ":SkMatrixImageFilter_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkSpecialImage_hdr",
+        ":SkSpecialSurface_hdr",
+        ":SkValidationUtils_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkImageFilter_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkSafe32_hdr",
+        "//src/gpu:GrColorSpaceXform_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu:SurfaceFillContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageGenerator_src",
+    srcs = ["SkImageGenerator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkNextID_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkGraphics_hdr",
+        "//include/core:SkImageGenerator_hdr",
+        "//include/core:SkImage_hdr",
+        "//src/codec:SkColorTable_hdr",
+        "//src/gpu:GrSurfaceProxyView_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageInfo_src",
+    srcs = ["SkImageInfo.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkReadBuffer_hdr",
+        ":SkSafeMath_hdr",
+        ":SkWriteBuffer_hdr",
+        ":SkWritePixelsRec_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//src/image:SkReadPixelsRec_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImagePriv_hdr",
+    hdrs = ["SkImagePriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImage_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/core:SkTileMode_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLRUCache_hdr",
+    hdrs = ["SkLRUCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTInternalLList_hdr",
+        "//include/private:SkChecksum_hdr",
+        "//include/private:SkTHash_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLatticeIter_hdr",
+    hdrs = ["SkLatticeIter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLatticeIter_src",
+    srcs = ["SkLatticeIter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkLatticeIter_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLeanWindows_hdr",
+    hdrs = ["SkLeanWindows.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkLineClipper_hdr",
+    hdrs = ["SkLineClipper.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLineClipper_src",
+    srcs = ["SkLineClipper.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkLineClipper_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLocalMatrixImageFilter_hdr",
+    hdrs = ["SkLocalMatrixImageFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImageFilter_Base_hdr",
+        "//include/core:SkFlattenable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLocalMatrixImageFilter_src",
+    srcs = ["SkLocalMatrixImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkLocalMatrixImageFilter_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkSpecialImage_hdr",
+        "//include/core:SkString_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkM44_src",
+    srcs = ["SkM44.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMatrixInvert_hdr",
+        ":SkMatrixPriv_hdr",
+        ":SkPathPriv_hdr",
+        "//include/core:SkM44_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/private:SkVx_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMD5_hdr",
+    hdrs = ["SkMD5.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkStream_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMD5_src",
+    srcs = ["SkMD5.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkMD5_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkMSAN_hdr",
+    hdrs = ["SkMSAN.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkMallocPixelRef_src",
+    srcs = ["SkMallocPixelRef.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkData_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkMallocPixelRef_hdr",
+        "//include/private:SkMalloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMalloc_src",
+    srcs = ["SkMalloc.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSafeMath_hdr",
+        "//include/private:SkMalloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMarkerStack_hdr",
+    hdrs = ["SkMarkerStack.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkM44_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMarkerStack_src",
+    srcs = ["SkMarkerStack.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkMarkerStack_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkMaskBlurFilter_hdr",
+    hdrs = ["SkMaskBlurFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMask_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMaskBlurFilter_src",
+    srcs = ["SkMaskBlurFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkGaussFilter_hdr",
+        ":SkMaskBlurFilter_hdr",
+        "//include/core:SkColorPriv_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkNx_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMaskCache_hdr",
+    hdrs = ["SkMaskCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCachedData_hdr",
+        ":SkMask_hdr",
+        ":SkResourceCache_hdr",
+        "//include/core:SkBlurTypes_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMaskCache_src",
+    srcs = ["SkMaskCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkMaskCache_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkMaskFilterBase_hdr",
+    hdrs = ["SkMaskFilterBase.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMask_hdr",
+        "//include/core:SkBlurTypes_hdr",
+        "//include/core:SkFlattenable_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMaskFilter_src",
+    srcs = ["SkMaskFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAutoMalloc_hdr",
+        ":SkBlitter_hdr",
+        ":SkCachedData_hdr",
+        ":SkDraw_hdr",
+        ":SkMaskFilterBase_hdr",
+        ":SkPathPriv_hdr",
+        ":SkRasterClip_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkRRect_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrSurfaceProxyView_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu/text:GrSDFMaskFilter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMaskGamma_hdr",
+    hdrs = ["SkMaskGamma.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMaskGamma_src",
+    srcs = ["SkMaskGamma.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMaskGamma_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkFloatingPoint_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMask_hdr",
+    hdrs = ["SkMask.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRect_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMask_src",
+    srcs = ["SkMask.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMask_hdr",
+        ":SkSafeMath_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMathPriv_hdr",
+    hdrs = ["SkMathPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkMath_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkMath_src",
+    srcs = ["SkMath.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMathPriv_hdr",
+        ":SkSafeMath_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkFloatBits_hdr",
+        "//include/private:SkFloatingPoint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMatrixImageFilter_hdr",
+    hdrs = ["SkMatrixImageFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImageFilter_Base_hdr",
+        "//include/core:SkFlattenable_hdr",
+        "//include/core:SkMatrix_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMatrixImageFilter_src",
+    srcs = ["SkMatrixImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMatrixImageFilter_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkSamplingPriv_hdr",
+        ":SkSpecialImage_hdr",
+        ":SkSpecialSurface_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/effects:SkImageFilters_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMatrixInvert_hdr",
+    hdrs = ["SkMatrixInvert.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkScalar_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkMatrixInvert_src",
+    srcs = ["SkMatrixInvert.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMatrixInvert_hdr",
+        "//include/private:SkFloatingPoint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMatrixPriv_hdr",
+    hdrs = ["SkMatrixPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPointPriv_hdr",
+        "//include/core:SkM44_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/private:SkNx_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMatrixProvider_hdr",
+    hdrs = ["SkMatrixProvider.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkM44_hdr",
+        "//include/core:SkMatrix_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMatrixUtils_hdr",
+    hdrs = ["SkMatrixUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkSize_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMatrix_src",
+    srcs = ["SkMatrix.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMathPriv_hdr",
+        ":SkMatrixPriv_hdr",
+        ":SkMatrixUtils_hdr",
+        ":SkPathPriv_hdr",
+        ":SkSamplingPriv_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPoint3_hdr",
+        "//include/core:SkRSXform_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkFloatBits_hdr",
+        "//include/private:SkNx_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMessageBus_hdr",
+    hdrs = ["SkMessageBus.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkOnce_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMiniRecorder_hdr",
+    hdrs = ["SkMiniRecorder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRecords_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMiniRecorder_src",
+    srcs = ["SkMiniRecorder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMiniRecorder_hdr",
+        ":SkPictureCommon_hdr",
+        ":SkRecordDraw_hdr",
+        ":SkRectPriv_hdr",
+        ":SkTLazy_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkTextBlob_hdr",
+        "//include/private:SkOnce_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMipmapAccessor_hdr",
+    hdrs = ["SkMipmapAccessor.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMipmap_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkMatrix_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMipmapAccessor_src",
+    srcs = ["SkMipmapAccessor.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkBitmapCache_hdr",
+        ":SkMipmapAccessor_hdr",
+        ":SkMipmap_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/image:SkImage_Base_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMipmapBuilder_hdr",
+    hdrs = ["SkMipmapBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkImage_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkMipmap_hdr",
+    hdrs = ["SkMipmap.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCachedData_hdr",
+        "//include/core:SkPixmap_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkSize_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMipmap_src",
+    srcs = ["SkMipmap.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMathPriv_hdr",
+        ":SkMipmapBuilder_hdr",
+        ":SkMipmap_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkImageGenerator_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/encode:SkPngEncoder_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkHalf_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//include/private:SkNx_hdr",
+        "//include/private:SkTo_hdr",
+        "//include/private:SkVx_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkModeColorFilter_hdr",
+    hdrs = ["SkModeColorFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkColorFilterBase_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkModeColorFilter_src",
+    srcs = ["SkModeColorFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkBlendModePriv_hdr",
+        ":SkBlitRow_hdr",
+        ":SkColorSpacePriv_hdr",
+        ":SkColorSpaceXformSteps_hdr",
+        ":SkModeColorFilter_hdr",
+        ":SkRasterPipeline_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkVM_hdr",
+        ":SkValidationUtils_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/utils:SkRandom_hdr",
+        "//src/gpu:GrBlend_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrBlendFragmentProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkNextID_hdr",
+    hdrs = ["SkNextID.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkOSFile_hdr",
+    hdrs = ["SkOSFile.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkString_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpts_erms_src",
+    srcs = ["SkOpts_erms.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMSAN_hdr",
+        ":SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpts_hdr",
+    hdrs = ["SkOpts.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRasterPipeline_hdr",
+        ":SkXfermodePriv_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkOpts_spi_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpts_src",
+    srcs = ["SkOpts.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCpu_hdr",
+        ":SkCubicSolver_hdr",
+        ":SkOpts_hdr",
+        "//include/private:SkHalf_hdr",
+        "//include/private:SkOnce_hdr",
+        "//src/opts:SkBitmapProcState_opts_hdr",
+        "//src/opts:SkBlitMask_opts_hdr",
+        "//src/opts:SkBlitRow_opts_hdr",
+        "//src/opts:SkChecksum_opts_hdr",
+        "//src/opts:SkRasterPipeline_opts_hdr",
+        "//src/opts:SkSwizzler_opts_hdr",
+        "//src/opts:SkUtils_opts_hdr",
+        "//src/opts:SkVM_opts_hdr",
+        "//src/opts:SkXfermode_opts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOrderedReadBuffer_hdr",
+    hdrs = ["SkOrderedReadBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkReadBuffer_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkOverdrawCanvas_src",
+    srcs = ["SkOverdrawCanvas.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDevice_hdr",
+        ":SkDrawShadowInfo_hdr",
+        ":SkGlyphRunPainter_hdr",
+        ":SkImagePriv_hdr",
+        ":SkLatticeIter_hdr",
+        ":SkStrikeCache_hdr",
+        ":SkTextBlobPriv_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkDrawable_hdr",
+        "//include/core:SkOverdrawCanvas_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkRSXform_hdr",
+        "//include/core:SkTextBlob_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/utils:SkPatchUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPaintDefaults_hdr",
+    hdrs = ["SkPaintDefaults.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkFontTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPaintPriv_hdr",
+    hdrs = ["SkPaintPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPaint_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPaintPriv_src",
+    srcs = ["SkPaintPriv.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorFilterBase_hdr",
+        ":SkColorSpacePriv_hdr",
+        ":SkPaintPriv_hdr",
+        ":SkXfermodePriv_hdr",
+        "//include/core:SkPaint_hdr",
+        "//src/shaders:SkColorFilterShader_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPaint_src",
+    srcs = ["SkPaint.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlenderBase_hdr",
+        ":SkColorFilterBase_hdr",
+        ":SkColorSpacePriv_hdr",
+        ":SkColorSpaceXformSteps_hdr",
+        ":SkDraw_hdr",
+        ":SkMaskGamma_hdr",
+        ":SkOpts_hdr",
+        ":SkPaintDefaults_hdr",
+        ":SkPaintPriv_hdr",
+        ":SkPathEffectBase_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkSafeRange_hdr",
+        ":SkStringUtils_hdr",
+        ":SkStroke_hdr",
+        ":SkSurfacePriv_hdr",
+        ":SkTLazy_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkGraphics_hdr",
+        "//include/core:SkImageFilter_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathBuilder_src",
+    srcs = ["SkPathBuilder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGeometry_hdr",
+        ":SkPathPriv_hdr",
+        "//include/core:SkPathBuilder_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/private:SkPathRef_hdr",
+        "//include/private:SkSafe32_hdr",
+        "//src/pathops:SkPathOpsPoint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathEffectBase_hdr",
+    hdrs = ["SkPathEffectBase.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPathEffect_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathEffect_src",
+    srcs = ["SkPathEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathEffectBase_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/core:SkPath_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathMakers_hdr",
+    hdrs = ["SkPathMakers.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPathTypes_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathMeasurePriv_hdr",
+    hdrs = ["SkPathMeasurePriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGeometry_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPoint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathMeasure_src",
+    srcs = ["SkPathMeasure.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkContourMeasure_hdr",
+        "//include/core:SkPathMeasure_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathPriv_hdr",
+    hdrs = ["SkPathPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPathBuilder_hdr",
+        "//include/private:SkIDChangeListener_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathRef_src",
+    srcs = ["SkPathRef.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBuffer_hdr",
+        ":SkPathPriv_hdr",
+        ":SkSafeMath_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/private:SkNx_hdr",
+        "//include/private:SkOnce_hdr",
+        "//include/private:SkPathRef_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPath_serial_src",
+    srcs = ["SkPath_serial.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBuffer_hdr",
+        ":SkPathPriv_hdr",
+        ":SkRRectPriv_hdr",
+        ":SkSafeMath_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/private:SkPathRef_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPath_src",
+    srcs = ["SkPath.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBuffer_hdr",
+        ":SkCubicClipper_hdr",
+        ":SkEdgeClipper_hdr",
+        ":SkGeometry_hdr",
+        ":SkMatrixPriv_hdr",
+        ":SkPathMakers_hdr",
+        ":SkPathPriv_hdr",
+        ":SkPointPriv_hdr",
+        ":SkSafeMath_hdr",
+        ":SkStringUtils_hdr",
+        ":SkTLazy_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/core:SkPathBuilder_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkNx_hdr",
+        "//include/private:SkPathRef_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/pathops:SkPathOpsPoint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPictureCommon_hdr",
+    hdrs = ["SkPictureCommon.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRecords_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/private:SkTLogic_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPictureData_hdr",
+    hdrs = ["SkPictureData.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPictureFlat_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkDrawable_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPictureData_src",
+    srcs = ["SkPictureData.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAutoMalloc_hdr",
+        ":SkPictureData_hdr",
+        ":SkPicturePriv_hdr",
+        ":SkPictureRecord_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkTextBlobPriv_hdr",
+        ":SkVerticesPriv_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkImageGenerator_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPictureFlat_hdr",
+    hdrs = ["SkPictureFlat.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPtrRecorder_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkTDynamicHash_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/private:SkChecksum_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPictureFlat_src",
+    srcs = ["SkPictureFlat.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPictureFlat_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkChecksum_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPictureImageGenerator_src",
+    srcs = ["SkPictureImageGenerator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTLazy_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkImageGenerator_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/image:SkImage_Base_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPicturePlayback_hdr",
+    hdrs = ["SkPicturePlayback.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkPictureFlat_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPicturePlayback_src",
+    srcs = ["SkPicturePlayback.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCanvasPriv_hdr",
+        ":SkDrawShadowInfo_hdr",
+        ":SkFontPriv_hdr",
+        ":SkPaintPriv_hdr",
+        ":SkPictureData_hdr",
+        ":SkPicturePlayback_hdr",
+        ":SkPictureRecord_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkSafeMath_hdr",
+        ":SkSamplingPriv_hdr",
+        ":SkVerticesPriv_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkRSXform_hdr",
+        "//include/core:SkTextBlob_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//src/utils:SkPatchUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPicturePriv_hdr",
+    hdrs = ["SkPicturePriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPicture_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPictureRecord_hdr",
+    hdrs = ["SkPictureRecord.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPictureData_hdr",
+        ":SkWriter32_hdr",
+        "//include/core:SkCanvasVirtualEnforcer_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkFlattenable_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkVertices_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//include/private:SkTHash_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPictureRecord_src",
+    srcs = ["SkPictureRecord.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCanvasPriv_hdr",
+        ":SkDrawShadowInfo_hdr",
+        ":SkMatrixPriv_hdr",
+        ":SkPictureRecord_hdr",
+        ":SkSamplingPriv_hdr",
+        ":SkTSearch_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkRSXform_hdr",
+        "//include/core:SkTextBlob_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/image:SkImage_Base_hdr",
+        "//src/utils:SkPatchUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPictureRecorder_src",
+    srcs = ["SkPictureRecorder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBigPicture_hdr",
+        ":SkMiniRecorder_hdr",
+        ":SkRecordDraw_hdr",
+        ":SkRecordOpts_hdr",
+        ":SkRecord_hdr",
+        ":SkRecordedDrawable_hdr",
+        ":SkRecorder_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkDrawable_hdr",
+        "//include/core:SkPictureRecorder_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPicture_src",
+    srcs = ["SkPicture.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCanvasPriv_hdr",
+        ":SkMathPriv_hdr",
+        ":SkPictureCommon_hdr",
+        ":SkPictureData_hdr",
+        ":SkPicturePlayback_hdr",
+        ":SkPicturePriv_hdr",
+        ":SkPictureRecord_hdr",
+        ":SkResourceCache_hdr",
+        "//include/core:SkImageGenerator_hdr",
+        "//include/core:SkPictureRecorder_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkSerialProcs_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPixelRefPriv_hdr",
+    hdrs = ["SkPixelRefPriv.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkPixelRef_src",
+    srcs = ["SkPixelRef.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapCache_hdr",
+        ":SkNextID_hdr",
+        ":SkPixelRefPriv_hdr",
+        ":SkTraceEvent_hdr",
+        "//include/core:SkPixelRef_hdr",
+        "//include/private:SkMutex_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPixmapPriv_hdr",
+    hdrs = ["SkPixmapPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAutoPixmapStorage_hdr",
+        "//include/codec:SkEncodedOrigin_hdr",
+        "//include/core:SkPixmap_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPixmap_src",
+    srcs = ["SkPixmap.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkConvertPixels_hdr",
+        ":SkDraw_hdr",
+        ":SkMask_hdr",
+        ":SkMatrixProvider_hdr",
+        ":SkPixmapPriv_hdr",
+        ":SkRasterClip_hdr",
+        ":SkUtils_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkPixmap_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/core:SkUnPreMultiply_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkHalf_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//include/private:SkNx_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/image:SkReadPixelsRec_hdr",
+        "//src/shaders:SkImageShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPoint3_src",
+    srcs = ["SkPoint3.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPoint3_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPointPriv_hdr",
+    hdrs = ["SkPointPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPoint_src",
+    srcs = ["SkPoint.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMathPriv_hdr",
+        ":SkPointPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPromiseImageTexture_src",
+    srcs = ["SkPromiseImageTexture.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMessageBus_hdr",
+        "//include/core:SkPromiseImageTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPtrRecorder_hdr",
+    hdrs = ["SkPtrRecorder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFlattenable_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPtrRecorder_src",
+    srcs = ["SkPtrRecorder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPtrRecorder_hdr",
+        ":SkTSearch_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkQuadClipper_hdr",
+    hdrs = ["SkQuadClipper.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPath_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkQuadClipper_src",
+    srcs = ["SkQuadClipper.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGeometry_hdr",
+        ":SkQuadClipper_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRRectPriv_hdr",
+    hdrs = ["SkRRectPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkRRect_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkRRect_src",
+    srcs = ["SkRRect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBuffer_hdr",
+        ":SkRRectPriv_hdr",
+        ":SkRectPriv_hdr",
+        ":SkScaleToSides_hdr",
+        ":SkStringUtils_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkMalloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRTree_hdr",
+    hdrs = ["SkRTree.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBBHFactory_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRTree_src",
+    srcs = ["SkRTree.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkRTree_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkRasterClipStack_hdr",
+    hdrs = ["SkRasterClipStack.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRasterClip_hdr",
+        ":SkScan_hdr",
+        ":SkTBlockList_hdr",
+        "//include/core:SkClipOp_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRasterClip_hdr",
+    hdrs = ["SkRasterClip.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAAClip_hdr",
+        "//include/core:SkClipOp_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/private:SkMacros_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRasterClip_src",
+    srcs = ["SkRasterClip.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRasterClip_hdr",
+        ":SkRegionPriv_hdr",
+        "//include/core:SkPath_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRasterPipelineBlitter_src",
+    srcs = ["SkRasterPipelineBlitter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkBlendModePriv_hdr",
+        ":SkBlitter_hdr",
+        ":SkColorFilterBase_hdr",
+        ":SkColorSpacePriv_hdr",
+        ":SkColorSpaceXformSteps_hdr",
+        ":SkMatrixProvider_hdr",
+        ":SkOpts_hdr",
+        ":SkRasterPipeline_hdr",
+        ":SkUtils_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRasterPipeline_hdr",
+    hdrs = ["SkRasterPipeline.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTileMode_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRasterPipeline_src",
+    srcs = ["SkRasterPipeline.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorSpacePriv_hdr",
+        ":SkOpts_hdr",
+        ":SkRasterPipeline_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//include/private:SkNx_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkReadBuffer_hdr",
+    hdrs = ["SkReadBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlenderBase_hdr",
+        ":SkColorFilterBase_hdr",
+        ":SkImageFilter_Base_hdr",
+        ":SkMaskFilterBase_hdr",
+        ":SkPaintPriv_hdr",
+        ":SkPicturePriv_hdr",
+        ":SkSamplingPriv_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkDrawLooper_hdr",
+        "//include/core:SkFont_hdr",
+        "//include/core:SkImageFilter_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkSerialProcs_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkReadBuffer_src",
+    srcs = ["SkReadBuffer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAutoMalloc_hdr",
+        ":SkMathPriv_hdr",
+        ":SkMatrixPriv_hdr",
+        ":SkMipmapBuilder_hdr",
+        ":SkMipmap_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkSafeMath_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkImageGenerator_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypeface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRecordDraw_hdr",
+    hdrs = ["SkRecordDraw.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBigPicture_hdr",
+        ":SkRecord_hdr",
+        "//include/core:SkBBHFactory_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkMatrix_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRecordDraw_src",
+    srcs = ["SkRecordDraw.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCanvasPriv_hdr",
+        ":SkColorFilterBase_hdr",
+        ":SkImageFilter_Base_hdr",
+        ":SkRecordDraw_hdr",
+        "//include/core:SkBBHFactory_hdr",
+        "//include/core:SkImage_hdr",
+        "//src/utils:SkPatchUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRecordOpts_hdr",
+    hdrs = ["SkRecordOpts.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkRecord_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkRecordOpts_src",
+    srcs = ["SkRecordOpts.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCanvasPriv_hdr",
+        ":SkRecordOpts_hdr",
+        ":SkRecordPattern_hdr",
+        ":SkRecords_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRecordPattern_hdr",
+    hdrs = ["SkRecordPattern.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRecord_hdr",
+        "//include/private:SkTLogic_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRecord_hdr",
+    hdrs = ["SkRecord.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkRecords_hdr",
+        "//include/private:SkTLogic_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRecord_src",
+    srcs = ["SkRecord.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRecord_hdr",
+        "//include/core:SkImage_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRecordedDrawable_hdr",
+    hdrs = ["SkRecordedDrawable.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRecord_hdr",
+        ":SkRecorder_hdr",
+        "//include/core:SkDrawable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRecordedDrawable_src",
+    srcs = ["SkRecordedDrawable.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPictureData_hdr",
+        ":SkPicturePlayback_hdr",
+        ":SkPictureRecord_hdr",
+        ":SkRecordDraw_hdr",
+        ":SkRecordedDrawable_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPictureRecorder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRecorder_hdr",
+    hdrs = ["SkRecorder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBigPicture_hdr",
+        ":SkMiniRecorder_hdr",
+        ":SkRecord_hdr",
+        ":SkRecords_hdr",
+        "//include/core:SkCanvasVirtualEnforcer_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//include/utils:SkNoDrawCanvas_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRecorder_src",
+    srcs = ["SkRecorder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBigPicture_hdr",
+        ":SkCanvasPriv_hdr",
+        ":SkGlyphRun_hdr",
+        ":SkRecorder_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/utils:SkPatchUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRecords_hdr",
+    hdrs = ["SkRecords.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDrawShadowInfo_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkDrawable_hdr",
+        "//include/core:SkImageFilter_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkM44_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkRSXform_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTextBlob_hdr",
+        "//include/core:SkVertices_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRecords_src",
+    srcs = ["SkRecords.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathPriv_hdr",
+        ":SkRecords_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRectPriv_hdr",
+    hdrs = ["SkRectPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMathPriv_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRect_src",
+    srcs = ["SkRect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRectPriv_hdr",
+        ":SkStringUtils_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkNx_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRegionPriv_hdr",
+    hdrs = ["SkRegionPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRegion_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRegion_path_src",
+    srcs = ["SkRegion_path.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlitter_hdr",
+        ":SkRegionPriv_hdr",
+        ":SkSafeMath_hdr",
+        ":SkScan_hdr",
+        ":SkTSort_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRegion_src",
+    srcs = ["SkRegion.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBuffer_hdr",
+        ":SkRegionPriv_hdr",
+        ":SkSafeMath_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRemoteGlyphCache_hdr",
+    hdrs = ["SkRemoteGlyphCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkData_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/utils:SkNoDrawCanvas_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRemoteGlyphCache_src",
+    srcs = ["SkRemoteGlyphCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDevice_hdr",
+        ":SkDraw_hdr",
+        ":SkEnumerate_hdr",
+        ":SkGlyphRun_hdr",
+        ":SkRemoteGlyphCache_hdr",
+        ":SkScalerCache_hdr",
+        ":SkStrikeCache_hdr",
+        ":SkStrikeForGPU_hdr",
+        ":SkTLazy_hdr",
+        ":SkTraceEvent_hdr",
+        ":SkTypeface_remote_hdr",
+        "//include/core:SkSerialProcs_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/private:SkChecksum_hdr",
+        "//include/private:SkTHash_hdr",
+        "//src/gpu:GrDrawOpAtlas_hdr",
+        "//src/gpu/text:GrSDFTControl_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkResourceCache_hdr",
+    hdrs = ["SkResourceCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMessageBus_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkResourceCache_src",
+    srcs = ["SkResourceCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDiscardableMemory_hdr",
+        ":SkImageFilter_Base_hdr",
+        ":SkMessageBus_hdr",
+        ":SkMipmap_hdr",
+        ":SkOpts_hdr",
+        ":SkResourceCache_hdr",
+        "//include/core:SkGraphics_hdr",
+        "//include/core:SkImageFilter_hdr",
+        "//include/core:SkTraceMemoryDump_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTHash_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRuntimeEffectPriv_hdr",
+    hdrs = ["SkRuntimeEffectPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkVM_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//include/private:SkColorData_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRuntimeEffect_src",
+    srcs = ["SkRuntimeEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlenderBase_hdr",
+        ":SkCanvasPriv_hdr",
+        ":SkColorFilterBase_hdr",
+        ":SkColorSpacePriv_hdr",
+        ":SkColorSpaceXformSteps_hdr",
+        ":SkLRUCache_hdr",
+        ":SkMatrixProvider_hdr",
+        ":SkOpts_hdr",
+        ":SkRasterPipeline_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkRuntimeEffectPriv_hdr",
+        ":SkUtils_hdr",
+        ":SkVM_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkMutex_hdr",
+        "//src/gpu:GrColorInfo_hdr",
+        "//src/gpu:GrFPArgs_hdr",
+        "//src/gpu:GrImageInfo_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:SurfaceFillContext_hdr",
+        "//src/gpu/effects:GrMatrixEffect_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+        "//src/image:SkImage_Gpu_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLUtil_hdr",
+        "//src/sksl/codegen:SkSLVMCodeGenerator_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSafeMath_hdr",
+    hdrs = ["SkSafeMath.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTFitsIn_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSafeRange_hdr",
+    hdrs = ["SkSafeRange.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSamplingPriv_hdr",
+    hdrs = ["SkSamplingPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkSamplingOptions_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkScalar_src",
+    srcs = ["SkScalar.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkMath_hdr",
+        "//include/core:SkScalar_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScaleToSides_hdr",
+    hdrs = ["SkScaleToSides.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScalerCache_hdr",
+    hdrs = ["SkScalerCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkDescriptor_hdr",
+        ":SkGlyphRunPainter_hdr",
+        ":SkGlyph_hdr",
+        ":SkStrikeForGPU_hdr",
+        "//include/core:SkFontMetrics_hdr",
+        "//include/core:SkFontTypes_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTHash_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScalerCache_src",
+    srcs = ["SkScalerCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkEnumerate_hdr",
+        ":SkScalerCache_hdr",
+        ":SkScalerContext_hdr",
+        "//include/core:SkGraphics_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkTypeface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScalerContext_hdr",
+    hdrs = ["SkScalerContext.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGlyph_hdr",
+        ":SkMaskGamma_hdr",
+        ":SkMask_hdr",
+        ":SkStrikeForGPU_hdr",
+        ":SkSurfacePriv_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkFontTypes_hdr",
+        "//include/core:SkFont_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkMacros_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScalerContext_src",
+    srcs = ["SkScalerContext.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAutoMalloc_hdr",
+        ":SkAutoPixmapStorage_hdr",
+        ":SkDescriptor_hdr",
+        ":SkDraw_hdr",
+        ":SkFontPriv_hdr",
+        ":SkGlyph_hdr",
+        ":SkMaskGamma_hdr",
+        ":SkMatrixProvider_hdr",
+        ":SkPaintPriv_hdr",
+        ":SkPathPriv_hdr",
+        ":SkRasterClip_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkRectPriv_hdr",
+        ":SkScalerContext_hdr",
+        ":SkStroke_hdr",
+        ":SkSurfacePriv_hdr",
+        ":SkTextFormatParams_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkFontMetrics_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/utils:SkMatrix22_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScanPriv_hdr",
+    hdrs = ["SkScanPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlitter_hdr",
+        ":SkScan_hdr",
+        "//include/core:SkPath_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScan_AAAPath_src",
+    srcs = ["SkScan_AAAPath.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAnalyticEdge_hdr",
+        ":SkAntiRun_hdr",
+        ":SkAutoMalloc_hdr",
+        ":SkBlitter_hdr",
+        ":SkEdgeBuilder_hdr",
+        ":SkEdge_hdr",
+        ":SkGeometry_hdr",
+        ":SkQuadClipper_hdr",
+        ":SkRasterClip_hdr",
+        ":SkScanPriv_hdr",
+        ":SkScan_hdr",
+        ":SkTSort_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScan_AntiPath_src",
+    srcs = ["SkScan_AntiPath.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAntiRun_hdr",
+        ":SkBlitter_hdr",
+        ":SkPathPriv_hdr",
+        ":SkRasterClip_hdr",
+        ":SkScanPriv_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScan_Antihair_src",
+    srcs = ["SkScan_Antihair.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlitter_hdr",
+        ":SkFDot6_hdr",
+        ":SkLineClipper_hdr",
+        ":SkRasterClip_hdr",
+        ":SkScan_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScan_Hairline_src",
+    srcs = ["SkScan_Hairline.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlitter_hdr",
+        ":SkFDot6_hdr",
+        ":SkGeometry_hdr",
+        ":SkLineClipper_hdr",
+        ":SkMathPriv_hdr",
+        ":SkPathPriv_hdr",
+        ":SkRasterClip_hdr",
+        ":SkScan_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/private:SkNx_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScan_Path_src",
+    srcs = ["SkScan_Path.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlitter_hdr",
+        ":SkEdgeBuilder_hdr",
+        ":SkEdge_hdr",
+        ":SkGeometry_hdr",
+        ":SkQuadClipper_hdr",
+        ":SkRasterClip_hdr",
+        ":SkRectPriv_hdr",
+        ":SkScanPriv_hdr",
+        ":SkTSort_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkSafe32_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScan_hdr",
+    hdrs = ["SkScan.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRect_hdr",
+        "//include/private:SkFixed_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScan_src",
+    srcs = ["SkScan.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlitter_hdr",
+        ":SkRasterClip_hdr",
+        ":SkScan_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScopeExit_hdr",
+    hdrs = ["SkScopeExit.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkMacros_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSemaphore_src",
+    srcs = ["SkSemaphore.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkLeanWindows_hdr",
+        "//include/private:SkSemaphore_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSharedMutex_hdr",
+    hdrs = ["SkSharedMutex.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkSemaphore_hdr",
+        "//include/private:SkThreadAnnotations_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSharedMutex_src",
+    srcs = ["SkSharedMutex.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSharedMutex_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkSemaphore_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//include/private:SkThreadID_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSpecialImage_hdr",
+    hdrs = ["SkSpecialImage.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkNextID_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkSamplingOptions_hdr",
+        "//include/core:SkSurfaceProps_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:GrSurfaceProxyView_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSpecialImage_src",
+    srcs = ["SkSpecialImage.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSpecialImage_hdr",
+        ":SkSpecialSurface_hdr",
+        ":SkSurfacePriv_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/gpu:GrImageInfo_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/image:SkImage_Base_hdr",
+        "//src/image:SkImage_Gpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSpecialSurface_hdr",
+    hdrs = ["SkSpecialSurface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkSurfaceProps_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSpecialSurface_src",
+    srcs = ["SkSpecialSurface.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSpecialImage_hdr",
+        ":SkSpecialSurface_hdr",
+        ":SkSurfacePriv_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkMallocPixelRef_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSpinlock_src",
+    srcs = ["SkSpinlock.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkSpinlock_hdr",
+        "//include/private:SkThreadAnnotations_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSpriteBlitter_ARGB32_src",
+    srcs = ["SkSpriteBlitter_ARGB32.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkBlitRow_hdr",
+        ":SkSpriteBlitter_hdr",
+        ":SkXfermodePriv_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSpriteBlitter_RGB565_src",
+    srcs = ["SkSpriteBlitter_RGB565.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkBlitRow_hdr",
+        ":SkSpriteBlitter_hdr",
+        ":SkXfermodePriv_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSpriteBlitter_hdr",
+    hdrs = ["SkSpriteBlitter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlitter_hdr",
+        "//include/core:SkPixmap_hdr",
+        "//include/core:SkShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStreamPriv_hdr",
+    hdrs = ["SkStreamPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkStream_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStream_src",
+    srcs = ["SkStream.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOSFile_hdr",
+        ":SkSafeMath_hdr",
+        ":SkStreamPriv_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkTFitsIn_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStrikeCache_hdr",
+    hdrs = ["SkStrikeCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDescriptor_hdr",
+        ":SkScalerCache_hdr",
+        ":SkStrikeForGPU_hdr",
+        ":SkStrikeSpec_hdr",
+        "//include/private:SkSpinlock_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStrikeCache_src",
+    srcs = ["SkStrikeCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGlyphRunPainter_hdr",
+        ":SkScalerCache_hdr",
+        ":SkStrikeCache_hdr",
+        "//include/core:SkGraphics_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTraceMemoryDump_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/gpu/text:GrStrikeCache_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStrikeForGPU_hdr",
+    hdrs = ["SkStrikeForGPU.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGlyph_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStrikeForGPU_src",
+    srcs = ["SkStrikeForGPU.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGlyphRunPainter_hdr",
+        ":SkStrikeForGPU_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStrikeSpec_hdr",
+    hdrs = ["SkStrikeSpec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDescriptor_hdr",
+        ":SkStrikeForGPU_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//src/gpu/text:GrSDFTControl_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStrikeSpec_src",
+    srcs = ["SkStrikeSpec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDraw_hdr",
+        ":SkFontPriv_hdr",
+        ":SkStrikeCache_hdr",
+        ":SkStrikeSpec_hdr",
+        ":SkTLazy_hdr",
+        "//include/core:SkGraphics_hdr",
+        "//src/gpu/text:GrSDFMaskFilter_hdr",
+        "//src/gpu/text:GrSDFTControl_hdr",
+        "//src/gpu/text:GrStrikeCache_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStringUtils_hdr",
+    hdrs = ["SkStringUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkScalar_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkStringUtils_src",
+    srcs = ["SkStringUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkStringUtils_hdr",
+        "//include/core:SkString_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStringView_src",
+    srcs = ["SkStringView.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkStringView_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkString_src",
+    srcs = ["SkString.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSafeMath_hdr",
+        ":SkUtils_hdr",
+        "//include/core:SkStringView_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStrokeRec_src",
+    srcs = ["SkStrokeRec.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPaintDefaults_hdr",
+        ":SkStroke_hdr",
+        "//include/core:SkStrokeRec_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStroke_hdr",
+    hdrs = ["SkStroke.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStroke_src",
+    srcs = ["SkStroke.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGeometry_hdr",
+        ":SkPaintDefaults_hdr",
+        ":SkPathPriv_hdr",
+        ":SkPointPriv_hdr",
+        ":SkStrokerPriv_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkStrokerPriv_hdr",
+    hdrs = ["SkStrokerPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkStroke_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkStrokerPriv_src",
+    srcs = ["SkStrokerPriv.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGeometry_hdr",
+        ":SkPointPriv_hdr",
+        ":SkStrokerPriv_hdr",
+        "//include/core:SkPath_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSurfaceCharacterization_src",
+    srcs = ["SkSurfaceCharacterization.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkSurfaceCharacterization_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrContextThreadSafeProxyPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSurfacePriv_hdr",
+    hdrs = ["SkSurfacePriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkSurfaceProps_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSwizzle_src",
+    srcs = ["SkSwizzle.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpts_hdr",
+        "//include/core:SkSwizzle_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTBlockList_hdr",
+    hdrs = ["SkTBlockList.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkBlockAllocator_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTDPQueue_hdr",
+    hdrs = ["SkTDPQueue.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTSort_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTDynamicHash_hdr",
+    hdrs = ["SkTDynamicHash.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkTHash_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTInternalLList_hdr",
+    hdrs = ["SkTInternalLList.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTLazy_hdr",
+    hdrs = ["SkTLazy.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTMultiMap_hdr",
+    hdrs = ["SkTMultiMap.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkTDynamicHash_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTSearch_hdr",
+    hdrs = ["SkTSearch.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTSearch_src",
+    srcs = ["SkTSearch.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTSearch_hdr",
+        "//include/private:SkMalloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTSort_hdr",
+    hdrs = ["SkTSort.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMathPriv_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTaskGroup_hdr",
+    hdrs = ["SkTaskGroup.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkExecutor_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTaskGroup_src",
+    srcs = ["SkTaskGroup.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTaskGroup_hdr",
+        "//include/core:SkExecutor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTextBlobPriv_hdr",
+    hdrs = ["SkTextBlobPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPaintPriv_hdr",
+        ":SkSafeMath_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkFont_hdr",
+        "//include/core:SkImageFilter_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkTextBlob_hdr",
+        "//include/core:SkTypeface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTextBlobTrace_hdr",
+    hdrs = ["SkTextBlobTrace.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkGlyphRun_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTextBlob_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTextBlobTrace_src",
+    srcs = ["SkTextBlobTrace.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontPriv_hdr",
+        ":SkPtrRecorder_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkTextBlobPriv_hdr",
+        ":SkTextBlobTrace_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkTextBlob_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTextBlob_src",
+    srcs = ["SkTextBlob.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontPriv_hdr",
+        ":SkGlyphRun_hdr",
+        ":SkPaintPriv_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkSafeMath_hdr",
+        ":SkStrikeCache_hdr",
+        ":SkStrikeSpec_hdr",
+        ":SkTextBlobPriv_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkRSXform_hdr",
+        "//include/core:SkTextBlob_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//src/gpu/text:GrTextBlobCache_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTextFormatParams_hdr",
+    hdrs = ["SkTextFormatParams.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkThreadID_src",
+    srcs = ["SkThreadID.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkLeanWindows_hdr",
+        "//include/private:SkThreadID_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTime_src",
+    srcs = ["SkTime.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkLeanWindows_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTime_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTraceEventCommon_hdr",
+    hdrs = ["SkTraceEventCommon.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/utils:SkTraceEventPhase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTraceEvent_hdr",
+    hdrs = ["SkTraceEvent.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTraceEventCommon_hdr",
+        "//include/utils:SkEventTracer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTypefaceCache_hdr",
+    hdrs = ["SkTypefaceCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTypefaceCache_src",
+    srcs = ["SkTypefaceCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTypefaceCache_hdr",
+        "//include/private:SkMutex_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTypeface_remote_hdr",
+    hdrs = ["SkTypeface_remote.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAdvancedTypefaceMetrics_hdr",
+        ":SkDescriptor_hdr",
+        ":SkFontDescriptor_hdr",
+        ":SkRemoteGlyphCache_hdr",
+        ":SkScalerContext_hdr",
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkTypeface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTypeface_remote_src",
+    srcs = ["SkTypeface_remote.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRemoteGlyphCache_hdr",
+        ":SkScalerCache_hdr",
+        ":SkStrikeCache_hdr",
+        ":SkTraceEvent_hdr",
+        ":SkTypeface_remote_hdr",
+        "//include/core:SkPaint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTypeface_src",
+    srcs = ["SkTypeface.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAdvancedTypefaceMetrics_hdr",
+        ":SkDescriptor_hdr",
+        ":SkEndian_hdr",
+        ":SkFontDescriptor_hdr",
+        ":SkFontPriv_hdr",
+        ":SkScalerContext_hdr",
+        ":SkSurfacePriv_hdr",
+        ":SkTypefaceCache_hdr",
+        "//include/core:SkFontMetrics_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkOnce_hdr",
+        "//include/utils:SkCustomTypeface_hdr",
+        "//src/sfnt:SkOTTable_OS_2_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkUnPreMultiply_src",
+    srcs = ["SkUnPreMultiply.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkUnPreMultiply_hdr",
+        "//include/private:SkColorData_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkUtilsArm_src",
+    srcs = ["SkUtilsArm.cpp"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkUtils_hdr",
+    hdrs = ["SkUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkUtils_src",
+    srcs = ["SkUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkUtils_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkVMBlitter_hdr",
+    hdrs = ["SkVMBlitter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkBlitter_hdr",
+        ":SkLRUCache_hdr",
+        ":SkVM_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkVMBlitter_src",
+    srcs = ["SkVMBlitter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkArenaAlloc_hdr",
+        ":SkBlendModePriv_hdr",
+        ":SkBlenderBase_hdr",
+        ":SkColorFilterBase_hdr",
+        ":SkColorSpacePriv_hdr",
+        ":SkColorSpaceXformSteps_hdr",
+        ":SkCoreBlitters_hdr",
+        ":SkLRUCache_hdr",
+        ":SkMatrixProvider_hdr",
+        ":SkOpts_hdr",
+        ":SkPaintPriv_hdr",
+        ":SkVMBlitter_hdr",
+        ":SkVM_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//include/private:SkMacros_hdr",
+        "//src/shaders:SkColorFilterShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkVM_fwd_hdr",
+    hdrs = ["SkVM_fwd.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkVM_hdr",
+    hdrs = ["SkVM.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkVM_fwd_hdr",
+        "//include/core:SkBlendMode_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTHash_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkVM_src",
+    srcs = ["SkVM.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorSpacePriv_hdr",
+        ":SkColorSpaceXformSteps_hdr",
+        ":SkCpu_hdr",
+        ":SkEnumerate_hdr",
+        ":SkLeanWindows_hdr",
+        ":SkOpts_hdr",
+        ":SkStreamPriv_hdr",
+        ":SkVM_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkHalf_hdr",
+        "//include/private:SkTFitsIn_hdr",
+        "//include/private:SkThreadID_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkValidationUtils_hdr",
+    hdrs = ["SkValidationUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkXfermodePriv_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkBlendMode_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkVertState_hdr",
+    hdrs = ["SkVertState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkVertices_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkVertState_src",
+    srcs = ["SkVertState.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkVertState_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkVerticesPriv_hdr",
+    hdrs = ["SkVerticesPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkVertices_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkVertices_src",
+    srcs = ["SkVertices.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCanvasPriv_hdr",
+        ":SkOpts_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkSafeMath_hdr",
+        ":SkSafeRange_hdr",
+        ":SkVerticesPriv_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkVertices_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkVptr_hdr",
+    hdrs = ["SkVptr.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkWriteBuffer_hdr",
+    hdrs = ["SkWriteBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkWriter32_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkFlattenable_hdr",
+        "//include/core:SkSerialProcs_hdr",
+        "//include/private:SkTHash_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkWriteBuffer_src",
+    srcs = ["SkWriteBuffer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImagePriv_hdr",
+        ":SkMatrixPriv_hdr",
+        ":SkPaintPriv_hdr",
+        ":SkPtrRecorder_hdr",
+        ":SkWriteBuffer_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkM44_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/image:SkImage_Base_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkWritePixelsRec_hdr",
+    hdrs = ["SkWritePixelsRec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkPixmap_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkWriter32_hdr",
+    hdrs = ["SkWriter32.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkData_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPoint3_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkWriter32_src",
+    srcs = ["SkWriter32.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMatrixPriv_hdr",
+        ":SkWriter32_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkXfermodeInterpretation_hdr",
+    hdrs = ["SkXfermodeInterpretation.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkXfermodeInterpretation_src",
+    srcs = ["SkXfermodeInterpretation.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkXfermodeInterpretation_hdr",
+        "//include/core:SkPaint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkXfermodePriv_hdr",
+    hdrs = ["SkXfermodePriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBlendMode_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkXfermode_src",
+    srcs = ["SkXfermode.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBlendModePriv_hdr",
+        ":SkMathPriv_hdr",
+        ":SkOpts_hdr",
+        ":SkRasterPipeline_hdr",
+        ":SkReadBuffer_hdr",
+        ":SkWriteBuffer_hdr",
+        ":SkXfermodePriv_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkOnce_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu/effects:GrCustomXfermode_hdr",
+        "//src/gpu/effects:GrPorterDuffXferProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkYUVAInfoLocation_hdr",
+    hdrs = ["SkYUVAInfoLocation.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/core:SkYUVAInfo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkYUVAInfo_src",
+    srcs = ["SkYUVAInfo.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSafeMath_hdr",
+        ":SkYUVAInfoLocation_hdr",
+        "//include/core:SkYUVAInfo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkYUVAPixmaps_src",
+    srcs = ["SkYUVAPixmaps.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkConvertPixels_hdr",
+        ":SkYUVAInfoLocation_hdr",
+        "//include/core:SkYUVAPixmaps_hdr",
+        "//include/private:GrImageContext_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkYUVMath_hdr",
+    hdrs = ["SkYUVMath.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkImageInfo_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkYUVMath_src",
+    srcs = ["SkYUVMath.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkYUVMath_hdr",
+        "//include/core:SkM44_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkYUVPlanesCache_hdr",
+    hdrs = ["SkYUVPlanesCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkYUVPlanesCache_src",
+    srcs = ["SkYUVPlanesCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapCache_hdr",
+        ":SkCachedData_hdr",
+        ":SkResourceCache_hdr",
+        ":SkYUVPlanesCache_hdr",
+        "//include/core:SkYUVAPixmaps_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkZip_hdr",
+    hdrs = ["SkZip.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkSpan_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+    ],
 )
diff --git a/src/effects/BUILD.bazel b/src/effects/BUILD.bazel
index 62ed2e7..6f8b0e4 100644
--- a/src/effects/BUILD.bazel
+++ b/src/effects/BUILD.bazel
@@ -1,53 +1,323 @@
-package(default_visibility = ["//:__subpackages__"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "srcs",
-    srcs = [
-        "Sk1DPathEffect.cpp",
-        "Sk2DPathEffect.cpp",
-        "SkBlenders.cpp",
-        "SkColorMatrix.cpp",
-        "SkColorMatrixFilter.cpp",
-        "SkCornerPathEffect.cpp",
-        "SkDashImpl.h",
-        "SkDashPathEffect.cpp",
-        "SkDiscretePathEffect.cpp",
-        "SkEmbossMask.cpp",
-        "SkEmbossMask.h",
-        "SkEmbossMaskFilter.cpp",
-        "SkEmbossMaskFilter.h",
-        "SkHighContrastFilter.cpp",
-        "SkLayerDrawLooper.cpp",
-        "SkLumaColorFilter.cpp",
-        "SkOpPE.h",
-        "SkOpPathEffect.cpp",
-        "SkOverdrawColorFilter.cpp",
-        "SkShaderMaskFilter.cpp",
-        "SkTableColorFilter.cpp",
-        "SkTableMaskFilter.cpp",
-        "SkTrimPE.h",
-        "SkTrimPathEffect.cpp",
-        "imagefilters/SkAlphaThresholdImageFilter.cpp",
-        "imagefilters/SkArithmeticImageFilter.cpp",
-        "imagefilters/SkBlendImageFilter.cpp",
-        "imagefilters/SkBlurImageFilter.cpp",
-        "imagefilters/SkColorFilterImageFilter.cpp",
-        "imagefilters/SkComposeImageFilter.cpp",
-        "imagefilters/SkCropImageFilter.cpp",
-        "imagefilters/SkCropImageFilter.h",
-        "imagefilters/SkDisplacementMapImageFilter.cpp",
-        "imagefilters/SkDropShadowImageFilter.cpp",
-        "imagefilters/SkImageImageFilter.cpp",
-        "imagefilters/SkLightingImageFilter.cpp",
-        "imagefilters/SkMagnifierImageFilter.cpp",
-        "imagefilters/SkMatrixConvolutionImageFilter.cpp",
-        "imagefilters/SkMergeImageFilter.cpp",
-        "imagefilters/SkMorphologyImageFilter.cpp",
-        "imagefilters/SkOffsetImageFilter.cpp",
-        "imagefilters/SkPictureImageFilter.cpp",
-        "imagefilters/SkRuntimeImageFilter.cpp",
-        "imagefilters/SkRuntimeImageFilter.h",
-        "imagefilters/SkShaderImageFilter.cpp",
-        "imagefilters/SkTileImageFilter.cpp",
+generated_cc_atom(
+    name = "Sk1DPathEffect_src",
+    srcs = ["Sk1DPathEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPathMeasure_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/effects:Sk1DPathEffect_hdr",
+        "//src/core:SkPathEffectBase_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "Sk2DPathEffect_src",
+    srcs = ["Sk2DPathEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPath_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/effects:Sk2DPathEffect_hdr",
+        "//src/core:SkPathEffectBase_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlenders_src",
+    srcs = ["SkBlenders.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkScalar_hdr",
+        "//include/effects:SkBlenders_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorMatrixFilter_src",
+    srcs = ["SkColorMatrixFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/effects:SkColorMatrixFilter_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkColorMatrix_src",
+    srcs = ["SkColorMatrix.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/effects:SkColorMatrix_hdr",
+        "//src/core:SkYUVMath_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCornerPathEffect_src",
+    srcs = ["SkCornerPathEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/effects:SkCornerPathEffect_hdr",
+        "//src/core:SkPathEffectBase_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDashImpl_hdr",
+    hdrs = ["SkDashImpl.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/core:SkPathEffectBase_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkDashPathEffect_src",
+    srcs = ["SkDashPathEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDashImpl_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/effects:SkDashPathEffect_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/utils:SkDashPathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDiscretePathEffect_src",
+    srcs = ["SkDiscretePathEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPathMeasure_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/effects:SkDiscretePathEffect_hdr",
+        "//include/private:SkFixed_hdr",
+        "//src/core:SkPathEffectBase_hdr",
+        "//src/core:SkPointPriv_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkEmbossMaskFilter_hdr",
+    hdrs = ["SkEmbossMaskFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/core:SkMaskFilterBase_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkEmbossMaskFilter_src",
+    srcs = ["SkEmbossMaskFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkEmbossMaskFilter_hdr",
+        ":SkEmbossMask_hdr",
+        "//include/core:SkColorPriv_hdr",
+        "//include/core:SkString_hdr",
+        "//include/effects:SkBlurMaskFilter_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkBlurMask_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkEmbossMask_hdr",
+    hdrs = ["SkEmbossMask.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkEmbossMaskFilter_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkEmbossMask_src",
+    srcs = ["SkEmbossMask.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkEmbossMask_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkMathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkHighContrastFilter_src",
+    srcs = ["SkHighContrastFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkString_hdr",
+        "//include/effects:SkHighContrastFilter_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkColorFilterPriv_hdr",
+        "//src/core:SkRuntimeEffectPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLayerDrawLooper_src",
+    srcs = ["SkLayerDrawLooper.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkUnPreMultiply_hdr",
+        "//include/effects:SkBlurDrawLooper_hdr",
+        "//include/effects:SkLayerDrawLooper_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkBlendModePriv_hdr",
+        "//src/core:SkColorSpacePriv_hdr",
+        "//src/core:SkMaskFilterBase_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkStringUtils_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/core:SkXfermodePriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLumaColorFilter_src",
+    srcs = ["SkLumaColorFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkString_hdr",
+        "//include/effects:SkLumaColorFilter_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//src/core:SkRuntimeEffectPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpPE_hdr",
+    hdrs = ["SkOpPE.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/pathops:SkPathOps_hdr",
+        "//src/core:SkPathEffectBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpPathEffect_src",
+    srcs = ["SkOpPathEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpPE_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/effects:SkOpPathEffect_hdr",
+        "//include/effects:SkStrokeAndFillPathEffect_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkRectPriv_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOverdrawColorFilter_src",
+    srcs = ["SkOverdrawColorFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkData_hdr",
+        "//include/effects:SkOverdrawColorFilter_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//include/private:SkColorData_hdr",
+        "//src/core:SkRuntimeEffectPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShaderMaskFilter_src",
+    srcs = ["SkShaderMaskFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkString_hdr",
+        "//include/effects:SkShaderMaskFilter_hdr",
+        "//src/core:SkMaskFilterBase_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTableColorFilter_src",
+    srcs = ["SkTableColorFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkString_hdr",
+        "//include/effects:SkTableColorFilter_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkColorFilterBase_hdr",
+        "//src/core:SkEffectPriv_hdr",
+        "//src/core:SkRasterPipeline_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkVM_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrColorInfo_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTableMaskFilter_src",
+    srcs = ["SkTableMaskFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkString_hdr",
+        "//include/effects:SkTableMaskFilter_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTrimPE_hdr",
+    hdrs = ["SkTrimPE.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/effects:SkTrimPathEffect_hdr",
+        "//src/core:SkPathEffectBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTrimPathEffect_src",
+    srcs = ["SkTrimPathEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTrimPE_hdr",
+        "//include/core:SkPathMeasure_hdr",
+        "//include/effects:SkTrimPathEffect_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkWriteBuffer_hdr",
     ],
 )
diff --git a/src/effects/imagefilters/BUILD.bazel b/src/effects/imagefilters/BUILD.bazel
new file mode 100644
index 0000000..dde2de5
--- /dev/null
+++ b/src/effects/imagefilters/BUILD.bazel
@@ -0,0 +1,436 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkAlphaThresholdImageFilter_src",
+    srcs = ["SkAlphaThresholdImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkRuntimeEffectPriv_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrColorSpaceXform_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkArithmeticImageFilter_src",
+    srcs = ["SkArithmeticImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkNx_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkRuntimeEffectPriv_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkSpecialSurface_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrColorSpaceXform_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu:SurfaceFillContext_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlendImageFilter_src",
+    srcs = ["SkBlendImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkColorData_hdr",
+        "//src/core:SkBlendModePriv_hdr",
+        "//src/core:SkBlenderBase_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkSpecialSurface_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrColorSpaceXform_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu:SurfaceFillContext_hdr",
+        "//src/gpu/effects:GrBlendFragmentProcessor_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlurImageFilter_src",
+    srcs = ["SkBlurImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkTileMode_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTFitsIn_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkVx_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkAutoPixmapStorage_hdr",
+        "//src/core:SkGpuBlurUtils_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkOpts_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorFilterImageFilter_src",
+    srcs = ["SkColorFilterImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//src/core:SkColorFilterBase_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkSpecialSurface_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkComposeImageFilter_src",
+    srcs = ["SkComposeImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/effects:SkImageFilters_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCropImageFilter_hdr",
+    hdrs = ["SkCropImageFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkRefCnt_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkCropImageFilter_src",
+    srcs = ["SkCropImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCropImageFilter_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkValidationUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDisplacementMapImageFilter_src",
+    srcs = ["SkDisplacementMapImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkUnPreMultiply_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkColorData_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrColorSpaceXform_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu:SurfaceFillContext_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDropShadowImageFilter_src",
+    srcs = ["SkDropShadowImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkSpecialSurface_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageImageFilter_src",
+    srcs = ["SkImageImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkString_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSamplingPriv_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkSpecialSurface_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLightingImageFilter_src",
+    srcs = ["SkLightingImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkPoint3_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrPaint_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu:SurfaceFillContext_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMagnifierImageFilter_src",
+    srcs = ["SkMagnifierImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkRuntimeEffectPriv_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkValidationUtils_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrColorSpaceXform_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMatrixConvolutionImageFilter_src",
+    srcs = ["SkMatrixConvolutionImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkTileMode_hdr",
+        "//include/core:SkUnPreMultiply_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrMatrixConvolutionEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMergeImageFilter_src",
+    srcs = ["SkMergeImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkSpecialSurface_hdr",
+        "//src/core:SkValidationUtils_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMorphologyImageFilter_src",
+    srcs = ["SkMorphologyImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkVx_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu:SurfaceFillContext_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOffsetImageFilter_src",
+    srcs = ["SkOffsetImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkPointPriv_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkSpecialSurface_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPictureImageFilter_src",
+    srcs = ["SkPictureImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkPicturePriv_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkSpecialSurface_hdr",
+        "//src/core:SkValidationUtils_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRuntimeImageFilter_hdr",
+    hdrs = ["SkRuntimeImageFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkRefCnt_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkRuntimeImageFilter_src",
+    srcs = ["SkRuntimeImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRuntimeImageFilter_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkRuntimeEffectPriv_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkSpecialSurface_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShaderImageFilter_src",
+    srcs = ["SkShaderImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkSpecialSurface_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTileImageFilter_src",
+    srcs = ["SkTileImageFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkSpecialSurface_hdr",
+        "//src/core:SkValidationUtils_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
diff --git a/src/fonts/BUILD.bazel b/src/fonts/BUILD.bazel
new file mode 100644
index 0000000..55288f5
--- /dev/null
+++ b/src/fonts/BUILD.bazel
@@ -0,0 +1,32 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkFontMgr_indirect_src",
+    srcs = ["SkFontMgr_indirect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/ports:SkFontMgr_indirect_hdr",
+        "//include/ports:SkRemotableFontMgr_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkOnce_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRemotableFontMgr_src",
+    srcs = ["SkRemotableFontMgr.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/ports:SkRemotableFontMgr_hdr",
+        "//include/private:SkOnce_hdr",
+    ],
+)
diff --git a/src/gpu/BUILD.bazel b/src/gpu/BUILD.bazel
index 778f3d7..dd6dbe3 100644
--- a/src/gpu/BUILD.bazel
+++ b/src/gpu/BUILD.bazel
@@ -1,569 +1,3149 @@
-package(default_visibility = ["//visibility:private"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "core-srcs",
-    srcs = [
-        "BaseDevice.cpp",
-        "BaseDevice.h",
-        "BufferWriter.h",
-        "GrAHardwareBufferImageGenerator.cpp",
-        "GrAHardwareBufferImageGenerator.h",
-        "GrAHardwareBufferUtils.cpp",
-        "GrAHardwareBufferUtils.h",
-        "GrAppliedClip.h",
-        "GrAttachment.cpp",
-        "GrAttachment.h",
-        "GrAuditTrail.cpp",
-        "GrAuditTrail.h",
-        "GrAutoLocaleSetter.h",
-        "GrBackendSemaphore.cpp",
-        "GrBackendSurface.cpp",
-        "GrBackendSurfaceMutableState.cpp",
-        "GrBackendSurfaceMutableStateImpl.h",
-        "GrBackendTextureImageGenerator.cpp",
-        "GrBackendTextureImageGenerator.h",
-        "GrBackendUtils.cpp",
-        "GrBackendUtils.h",
-        "GrBaseContextPriv.h",
-        "GrBlend.h",
-        "GrBlurUtils.cpp",
-        "GrBlurUtils.h",
-        "GrBuffer.h",
-        "GrBufferAllocPool.cpp",
-        "GrBufferAllocPool.h",
-        "GrCaps.cpp",
-        "GrCaps.h",
-        "GrClientMappedBufferManager.cpp",
-        "GrClientMappedBufferManager.h",
-        "GrClip.h",
-        "GrColor.h",
-        "GrColorInfo.cpp",
-        "GrColorInfo.h",
-        "GrColorSpaceXform.cpp",
-        "GrColorSpaceXform.h",
-        "GrContextThreadSafeProxy.cpp",
-        "GrContextThreadSafeProxyPriv.h",
-        "GrContext_Base.cpp",
-        "GrCopyRenderTask.cpp",
-        "GrCopyRenderTask.h",
-        "GrCpuBuffer.h",
-        "GrDDLContext.cpp",
-        "GrDDLTask.cpp",
-        "GrDDLTask.h",
-        "GrDataUtils.cpp",
-        "GrDataUtils.h",
-        "GrDefaultGeoProcFactory.cpp",
-        "GrDefaultGeoProcFactory.h",
-        "GrDeferredProxyUploader.h",
-        "GrDeferredUpload.h",
-        "GrDirectContext.cpp",
-        "GrDirectContextPriv.cpp",
-        "GrDirectContextPriv.h",
-        "GrDistanceFieldGenFromVector.cpp",
-        "GrDistanceFieldGenFromVector.h",
-        "GrDrawIndirectCommand.h",
-        "GrDrawOpAtlas.cpp",
-        "GrDrawOpAtlas.h",
-        "GrDrawOpTest.cpp",
-        "GrDrawOpTest.h",
-        "GrDrawingManager.cpp",
-        "GrDrawingManager.h",
-        "GrDriverBugWorkarounds.cpp",
-        "GrDstProxyView.h",
-        "GrDynamicAtlas.cpp",
-        "GrDynamicAtlas.h",
-        "GrEagerVertexAllocator.cpp",
-        "GrEagerVertexAllocator.h",
-        "GrFPArgs.h",
-        "GrFinishCallbacks.cpp",
-        "GrFinishCallbacks.h",
-        "GrFixedClip.cpp",
-        "GrFixedClip.h",
-        "GrFragmentProcessor.cpp",
-        "GrFragmentProcessor.h",
-        "GrGeometryProcessor.cpp",
-        "GrGeometryProcessor.h",
-        "GrGlyph.h",
-        "GrGpu.cpp",
-        "GrGpu.h",
-        "GrGpuBuffer.cpp",
-        "GrGpuBuffer.h",
-        "GrGpuResource.cpp",
-        "GrGpuResource.h",
-        "GrGpuResourceCacheAccess.h",
-        "GrGpuResourcePriv.h",
-        "GrHashMapWithCache.h",
-        "GrImageContext.cpp",
-        "GrImageContextPriv.h",
-        "GrImageInfo.h",
-        "GrManagedResource.cpp",
-        "GrManagedResource.h",
-        "GrMemoryPool.cpp",
-        "GrMemoryPool.h",
-        "GrMeshDrawTarget.cpp",
-        "GrMeshDrawTarget.h",
-        "GrNativeRect.h",
-        "GrNonAtomicRef.h",
-        "GrOnFlushResourceProvider.cpp",
-        "GrOnFlushResourceProvider.h",
-        "GrOpFlushState.cpp",
-        "GrOpFlushState.h",
-        "GrOpsRenderPass.cpp",
-        "GrOpsRenderPass.h",
-        "GrOpsTypes.h",
-        "GrPaint.cpp",
-        "GrPaint.h",
-        "GrPersistentCacheUtils.cpp",
-        "GrPersistentCacheUtils.h",
-        "GrPipeline.cpp",
-        "GrPipeline.h",
-        "GrPixmap.h",
-        "GrProcessor.cpp",
-        "GrProcessor.h",
-        "GrProcessorAnalysis.cpp",
-        "GrProcessorAnalysis.h",
-        "GrProcessorSet.cpp",
-        "GrProcessorSet.h",
-        "GrProcessorUnitTest.cpp",
-        "GrProcessorUnitTest.h",
-        "GrProgramDesc.cpp",
-        "GrProgramDesc.h",
-        "GrProgramInfo.cpp",
-        "GrProgramInfo.h",
-        "GrProxyProvider.cpp",
-        "GrProxyProvider.h",
-        "GrRecordingContext.cpp",
-        "GrRecordingContextPriv.cpp",
-        "GrRecordingContextPriv.h",
-        "GrRectanizer.h",
-        "GrRectanizerPow2.cpp",
-        "GrRectanizerPow2.h",
-        "GrRectanizerSkyline.cpp",
-        "GrRectanizerSkyline.h",
-        "GrRefCnt.h",
-        "GrRenderTarget.cpp",
-        "GrRenderTarget.h",
-        "GrRenderTargetContext.h",
-        "GrRenderTargetProxy.cpp",
-        "GrRenderTargetProxy.h",
-        "GrRenderTask.cpp",
-        "GrRenderTask.h",
-        "GrRenderTaskCluster.cpp",
-        "GrRenderTaskCluster.h",
-        "GrResourceAllocator.cpp",
-        "GrResourceAllocator.h",
-        "GrResourceCache.cpp",
-        "GrResourceCache.h",
-        "GrResourceHandle.h",
-        "GrResourceProvider.cpp",
-        "GrResourceProvider.h",
-        "GrResourceProviderPriv.h",
-        "GrRingBuffer.cpp",
-        "GrRingBuffer.h",
-        "GrSPIRVUniformHandler.cpp",
-        "GrSPIRVUniformHandler.h",
-        "GrSPIRVVaryingHandler.cpp",
-        "GrSPIRVVaryingHandler.h",
-        "GrSWMaskHelper.cpp",
-        "GrSWMaskHelper.h",
-        "GrSamplerState.h",
-        "GrScissorState.h",
-        "GrSemaphore.h",
-        "GrShaderCaps.cpp",
-        "GrShaderCaps.h",
-        "GrShaderUtils.cpp",
-        "GrShaderUtils.h",
-        "GrShaderVar.cpp",
-        "GrShaderVar.h",
-        "GrSimpleMesh.h",
-        "GrStagingBufferManager.cpp",
-        "GrStagingBufferManager.h",
-        "GrStencilSettings.cpp",
-        "GrStencilSettings.h",
-        "GrStyle.cpp",
-        "GrStyle.h",
-        "GrSubRunAllocator.cpp",
-        "GrSubRunAllocator.h",
-        "GrSurface.cpp",
-        "GrSurface.h",
-        "GrSurfaceInfo.cpp",
-        "GrSurfaceProxy.cpp",
-        "GrSurfaceProxy.h",
-        "GrSurfaceProxyPriv.h",
-        "GrSurfaceProxyView.h",
-        "GrSwizzle.cpp",
-        "GrSwizzle.h",
-        "GrTTopoSort.h",
-        "GrTestUtils.cpp",
-        "GrTestUtils.h",
-        "GrTexture.cpp",
-        "GrTexture.h",
-        "GrTextureProxy.cpp",
-        "GrTextureProxy.h",
-        "GrTextureProxyCacheAccess.h",
-        "GrTextureProxyPriv.h",
-        "GrTextureRenderTargetProxy.cpp",
-        "GrTextureRenderTargetProxy.h",
-        "GrTextureResolveManager.h",
-        "GrTextureResolveRenderTask.cpp",
-        "GrTextureResolveRenderTask.h",
-        "GrThreadSafeCache.cpp",
-        "GrThreadSafeCache.h",
-        "GrThreadSafePipelineBuilder.cpp",
-        "GrThreadSafePipelineBuilder.h",
-        "GrTracing.h",
-        "GrTransferFromRenderTask.cpp",
-        "GrTransferFromRenderTask.h",
-        "GrUniformDataManager.cpp",
-        "GrUniformDataManager.h",
-        "GrUserStencilSettings.h",
-        "GrUtil.cpp",
-        "GrUtil.h",
-        "GrVertexChunkArray.cpp",
-        "GrVertexChunkArray.h",
-        "GrVx.h",
-        "GrWaitRenderTask.cpp",
-        "GrWaitRenderTask.h",
-        "GrWindowRectangles.h",
-        "GrWindowRectsState.h",
-        "GrWritePixelsRenderTask.cpp",
-        "GrWritePixelsRenderTask.h",
-        "GrXferProcessor.cpp",
-        "GrXferProcessor.h",
-        "GrYUVABackendTextures.cpp",
-        "GrYUVATextureProxies.cpp",
-        "GrYUVATextureProxies.h",
-        "SkGr.cpp",
-        "SkGr.h",
-        "SurfaceContext.cpp",
-        "SurfaceContext.h",
-        "SurfaceFillContext.cpp",
-        "SurfaceFillContext.h",
-        "effects/GrAtlasedShaderHelpers.h",
-        "effects/GrBezierEffect.cpp",
-        "effects/GrBezierEffect.h",
-        "effects/GrBicubicEffect.cpp",
-        "effects/GrBicubicEffect.h",
-        "effects/GrBitmapTextGeoProc.cpp",
-        "effects/GrBitmapTextGeoProc.h",
-        "effects/GrBlendFragmentProcessor.cpp",
-        "effects/GrBlendFragmentProcessor.h",
-        "effects/GrConvexPolyEffect.cpp",
-        "effects/GrConvexPolyEffect.h",
-        "effects/GrCoverageSetOpXP.cpp",
-        "effects/GrCoverageSetOpXP.h",
-        "effects/GrCustomXfermode.cpp",
-        "effects/GrCustomXfermode.h",
-        "effects/GrDisableColorXP.cpp",
-        "effects/GrDisableColorXP.h",
-        "effects/GrDistanceFieldGeoProc.cpp",
-        "effects/GrDistanceFieldGeoProc.h",
-        "effects/GrGaussianConvolutionFragmentProcessor.cpp",
-        "effects/GrGaussianConvolutionFragmentProcessor.h",
-        "effects/GrMatrixConvolutionEffect.cpp",
-        "effects/GrMatrixConvolutionEffect.h",
-        "effects/GrMatrixEffect.cpp",
-        "effects/GrMatrixEffect.h",
-        "effects/GrModulateAtlasCoverageEffect.cpp",
-        "effects/GrModulateAtlasCoverageEffect.h",
-        "effects/GrOvalEffect.cpp",
-        "effects/GrOvalEffect.h",
-        "effects/GrPorterDuffXferProcessor.cpp",
-        "effects/GrPorterDuffXferProcessor.h",
-        "effects/GrRRectEffect.cpp",
-        "effects/GrRRectEffect.h",
-        "effects/GrShadowGeoProc.cpp",
-        "effects/GrShadowGeoProc.h",
-        "effects/GrSkSLFP.cpp",
-        "effects/GrSkSLFP.h",
-        "effects/GrTextureEffect.cpp",
-        "effects/GrTextureEffect.h",
-        "effects/GrYUVtoRGBEffect.cpp",
-        "effects/GrYUVtoRGBEffect.h",
-        "geometry/GrAAConvexTessellator.cpp",
-        "geometry/GrAAConvexTessellator.h",
-        "geometry/GrAATriangulator.cpp",
-        "geometry/GrAATriangulator.h",
-        "geometry/GrInnerFanTriangulator.h",
-        "geometry/GrPathUtils.cpp",
-        "geometry/GrPathUtils.h",
-        "geometry/GrQuad.cpp",
-        "geometry/GrQuad.h",
-        "geometry/GrQuadBuffer.h",
-        "geometry/GrQuadUtils.cpp",
-        "geometry/GrQuadUtils.h",
-        "geometry/GrRect.h",
-        "geometry/GrShape.cpp",
-        "geometry/GrShape.h",
-        "geometry/GrStyledShape.cpp",
-        "geometry/GrStyledShape.h",
-        "geometry/GrTriangulator.cpp",
-        "geometry/GrTriangulator.h",
-        "gradients/GrGradientBitmapCache.cpp",
-        "gradients/GrGradientBitmapCache.h",
-        "gradients/GrGradientShader.cpp",
-        "gradients/GrGradientShader.h",
-        "ops/AAConvexPathRenderer.cpp",
-        "ops/AAConvexPathRenderer.h",
-        "ops/AAHairLinePathRenderer.cpp",
-        "ops/AAHairLinePathRenderer.h",
-        "ops/AALinearizingConvexPathRenderer.cpp",
-        "ops/AALinearizingConvexPathRenderer.h",
-        "ops/AtlasInstancedHelper.cpp",
-        "ops/AtlasInstancedHelper.h",
-        "ops/AtlasPathRenderer.cpp",
-        "ops/AtlasPathRenderer.h",
-        "ops/AtlasRenderTask.cpp",
-        "ops/AtlasRenderTask.h",
-        "ops/AtlasTextOp.cpp",
-        "ops/AtlasTextOp.h",
-        "ops/ClearOp.cpp",
-        "ops/ClearOp.h",
-        "ops/DashLinePathRenderer.cpp",
-        "ops/DashLinePathRenderer.h",
-        "ops/DashOp.cpp",
-        "ops/DashOp.h",
-        "ops/DefaultPathRenderer.cpp",
-        "ops/DefaultPathRenderer.h",
-        "ops/DrawAtlasOp.cpp",
-        "ops/DrawAtlasOp.h",
-        "ops/DrawAtlasPathOp.cpp",
-        "ops/DrawAtlasPathOp.h",
-        "ops/DrawVerticesOp.cpp",
-        "ops/DrawVerticesOp.h",
-        "ops/DrawableOp.cpp",
-        "ops/DrawableOp.h",
-        "ops/FillPathFlags.h",
-        "ops/FillRRectOp.cpp",
-        "ops/FillRRectOp.h",
-        "ops/FillRectOp.cpp",
-        "ops/FillRectOp.h",
-        "ops/GrDrawOp.h",
-        "ops/GrMeshDrawOp.cpp",
-        "ops/GrMeshDrawOp.h",
-        "ops/GrOp.cpp",
-        "ops/GrOp.h",
-        "ops/GrOvalOpFactory.cpp",
-        "ops/GrOvalOpFactory.h",
-        "ops/GrPathStencilSettings.h",
-        "ops/GrSimpleMeshDrawOpHelper.cpp",
-        "ops/GrSimpleMeshDrawOpHelper.h",
-        "ops/GrSimpleMeshDrawOpHelperWithStencil.cpp",
-        "ops/GrSimpleMeshDrawOpHelperWithStencil.h",
-        "ops/LatticeOp.cpp",
-        "ops/LatticeOp.h",
-        "ops/OpsTask.cpp",
-        "ops/OpsTask.h",
-        "ops/PathInnerTriangulateOp.cpp",
-        "ops/PathInnerTriangulateOp.h",
-        "ops/PathStencilCoverOp.cpp",
-        "ops/PathStencilCoverOp.h",
-        "ops/PathTessellateOp.cpp",
-        "ops/PathTessellateOp.h",
-        "ops/QuadPerEdgeAA.cpp",
-        "ops/QuadPerEdgeAA.h",
-        "ops/RegionOp.cpp",
-        "ops/RegionOp.h",
-        "ops/ShadowRRectOp.cpp",
-        "ops/ShadowRRectOp.h",
-        "ops/SmallPathAtlasMgr.cpp",
-        "ops/SmallPathAtlasMgr.h",
-        "ops/SmallPathRenderer.cpp",
-        "ops/SmallPathRenderer.h",
-        "ops/SmallPathShapeData.cpp",
-        "ops/SmallPathShapeData.h",
-        "ops/SoftwarePathRenderer.cpp",
-        "ops/SoftwarePathRenderer.h",
-        "ops/StrokeRectOp.cpp",
-        "ops/StrokeRectOp.h",
-        "ops/StrokeTessellateOp.cpp",
-        "ops/StrokeTessellateOp.h",
-        "ops/TessellationPathRenderer.cpp",
-        "ops/TessellationPathRenderer.h",
-        "ops/TextureOp.cpp",
-        "ops/TextureOp.h",
-        "ops/TriangulatingPathRenderer.cpp",
-        "ops/TriangulatingPathRenderer.h",
-        "tessellate/AffineMatrix.h",
-        "tessellate/CullTest.h",
-        "tessellate/MiddleOutPolygonTriangulator.h",
-        "tessellate/PatchWriter.cpp",
-        "tessellate/PatchWriter.h",
-        "tessellate/PathCurveTessellator.cpp",
-        "tessellate/PathCurveTessellator.h",
-        "tessellate/PathTessellator.h",
-        "tessellate/PathWedgeTessellator.cpp",
-        "tessellate/PathWedgeTessellator.h",
-        "tessellate/StrokeFixedCountTessellator.cpp",
-        "tessellate/StrokeFixedCountTessellator.h",
-        "tessellate/StrokeHardwareTessellator.cpp",
-        "tessellate/StrokeHardwareTessellator.h",
-        "tessellate/StrokeIterator.h",
-        "tessellate/StrokeTessellator.h",
-        "tessellate/Tessellation.cpp",
-        "tessellate/Tessellation.h",
-        "tessellate/WangsFormula.h",
-        "tessellate/shaders/GrPathTessellationShader.cpp",
-        "tessellate/shaders/GrPathTessellationShader.h",
-        "tessellate/shaders/GrPathTessellationShader_Hardware.cpp",
-        "tessellate/shaders/GrPathTessellationShader_MiddleOut.cpp",
-        "tessellate/shaders/GrStrokeTessellationShader.cpp",
-        "tessellate/shaders/GrStrokeTessellationShader.h",
-        "tessellate/shaders/GrStrokeTessellationShader_HardwareImpl.cpp",
-        "tessellate/shaders/GrStrokeTessellationShader_InstancedImpl.cpp",
-        "tessellate/shaders/GrTessellationShader.cpp",
-        "tessellate/shaders/GrTessellationShader.h",
-        "text/GrAtlasManager.cpp",
-        "text/GrAtlasManager.h",
-        "text/GrDistanceFieldAdjustTable.cpp",
-        "text/GrDistanceFieldAdjustTable.h",
-        "text/GrSDFMaskFilter.cpp",
-        "text/GrSDFMaskFilter.h",
-        "text/GrSDFTControl.cpp",
-        "text/GrSDFTControl.h",
-        "text/GrStrikeCache.cpp",
-        "text/GrStrikeCache.h",
-        "text/GrTextBlob.cpp",
-        "text/GrTextBlob.h",
-        "text/GrTextBlobCache.cpp",
-        "text/GrTextBlobCache.h",
+generated_cc_atom(
+    name = "BaseDevice_hdr",
+    hdrs = ["BaseDevice.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImage_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/core:SkDevice_hdr",
     ],
 )
 
-filegroup(
-    name = "gl-srcs",
-    srcs = [
-        "gl/GrGLAssembleGLESInterfaceAutogen.cpp",
-        "gl/GrGLAssembleGLInterfaceAutogen.cpp",
-        "gl/GrGLAssembleHelpers.cpp",
-        "gl/GrGLAssembleInterface.cpp",
-        "gl/GrGLAssembleWebGLInterfaceAutogen.cpp",
-        "gl/GrGLAttachment.cpp",
-        "gl/GrGLAttachment.h",
-        "gl/GrGLBuffer.cpp",
-        "gl/GrGLBuffer.h",
-        "gl/GrGLCaps.cpp",
-        "gl/GrGLCaps.h",
-        "gl/GrGLContext.cpp",
-        "gl/GrGLContext.h",
-        "gl/GrGLDefines.h",
-        "gl/GrGLExtensions.cpp",
-        "gl/GrGLGLSL.cpp",
-        "gl/GrGLGLSL.h",
-        "gl/GrGLGpu.cpp",
-        "gl/GrGLGpu.h",
-        "gl/GrGLGpuProgramCache.cpp",
-        "gl/GrGLInterfaceAutogen.cpp",
-        "gl/GrGLOpsRenderPass.cpp",
-        "gl/GrGLOpsRenderPass.h",
-        "gl/GrGLProgram.cpp",
-        "gl/GrGLProgram.h",
-        "gl/GrGLProgramDataManager.cpp",
-        "gl/GrGLProgramDataManager.h",
-        "gl/GrGLRenderTarget.cpp",
-        "gl/GrGLRenderTarget.h",
-        "gl/GrGLSemaphore.cpp",
-        "gl/GrGLSemaphore.h",
-        "gl/GrGLTexture.cpp",
-        "gl/GrGLTexture.h",
-        "gl/GrGLTextureRenderTarget.cpp",
-        "gl/GrGLTextureRenderTarget.h",
-        "gl/GrGLTypesPriv.cpp",
-        "gl/GrGLUniformHandler.cpp",
-        "gl/GrGLUniformHandler.h",
-        "gl/GrGLUtil.cpp",
-        "gl/GrGLUtil.h",
-        "gl/GrGLVaryingHandler.h",
-        "gl/GrGLVertexArray.cpp",
-        "gl/GrGLVertexArray.h",
-        "gl/builders/GrGLProgramBuilder.cpp",
-        "gl/builders/GrGLProgramBuilder.h",
-        "gl/builders/GrGLShaderStringBuilder.cpp",
-        "gl/builders/GrGLShaderStringBuilder.h",
-        "glsl/GrGLSL.cpp",
-        "glsl/GrGLSL.h",
-        "glsl/GrGLSLBlend.cpp",
-        "glsl/GrGLSLBlend.h",
-        "glsl/GrGLSLColorSpaceXformHelper.h",
-        "glsl/GrGLSLFragmentShaderBuilder.cpp",
-        "glsl/GrGLSLFragmentShaderBuilder.h",
-        "glsl/GrGLSLProgramBuilder.cpp",
-        "glsl/GrGLSLProgramBuilder.h",
-        "glsl/GrGLSLProgramDataManager.cpp",
-        "glsl/GrGLSLProgramDataManager.h",
-        "glsl/GrGLSLShaderBuilder.cpp",
-        "glsl/GrGLSLShaderBuilder.h",
-        "glsl/GrGLSLUniformHandler.cpp",
-        "glsl/GrGLSLUniformHandler.h",
-        "glsl/GrGLSLVarying.cpp",
-        "glsl/GrGLSLVarying.h",
-        "glsl/GrGLSLVertexGeoBuilder.cpp",
-        "glsl/GrGLSLVertexGeoBuilder.h",
+generated_cc_atom(
+    name = "BaseDevice_src",
+    srcs = ["BaseDevice.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":BaseDevice_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrRecordingContextPriv_hdr",
+        ":GrSurfaceProxyView_hdr",
+        ":SurfaceContext_hdr",
+        ":SurfaceFillContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
     ],
 )
 
-filegroup(
-    name = "v1-srcs",
-    srcs = [
-        "v1/ClipStack.cpp",
-        "v1/ClipStack.h",
-        "v1/Device.cpp",
-        "v1/Device_drawTexture.cpp",
-        "v1/Device_v1.h",
-        "v1/PathRenderer.cpp",
-        "v1/PathRenderer.h",
-        "v1/PathRendererChain.cpp",
-        "v1/PathRendererChain.h",
-        "v1/StencilClip.h",
-        "v1/StencilMaskHelper.cpp",
-        "v1/StencilMaskHelper.h",
-        "v1/SurfaceDrawContext.cpp",
-        "v1/SurfaceDrawContext_v1.h",
-        "v1/SurfaceFillContext_v1.cpp",
-        "v1/SurfaceFillContext_v1.h",
+generated_cc_atom(
+    name = "BufferWriter_hdr",
+    hdrs = ["BufferWriter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRect_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkNx_hdr",
+        "//include/private:SkTemplates_hdr",
     ],
 )
 
-filegroup(
-    name = "webgl-srcs",
-    srcs = [
-        "gl/webgl/GrGLMakeNativeInterface_webgl.cpp",
+generated_cc_atom(
+    name = "GrAHardwareBufferImageGenerator_hdr",
+    hdrs = ["GrAHardwareBufferImageGenerator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImageGenerator_hdr",
+        "//include/private:GrTypesPriv_hdr",
     ],
 )
 
-filegroup(
-    name = "srcs",
-    srcs = [":core-srcs"] + select({
-        "//bazel/common_config_settings:gl_backend": [
-            ":gl-srcs",
-            ":v1-srcs",
-        ],
-        "//conditions:default": [],
-    }) + select({
-        "//bazel/common_config_settings:webgl_standard": [":webgl-srcs"],
-        "//conditions:default": [],
-    }),
+generated_cc_atom(
+    name = "GrAHardwareBufferImageGenerator_src",
+    srcs = ["GrAHardwareBufferImageGenerator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAHardwareBufferImageGenerator_hdr",
+        ":GrAHardwareBufferUtils_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrRecordingContextPriv_hdr",
+        ":GrResourceCache_hdr",
+        ":GrResourceProviderPriv_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrTextureProxy_hdr",
+        ":GrTexture_hdr",
+        ":SkGr_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/gpu/gl:GrGLTypes_hdr",
+        "//include/gpu/vk:GrVkExtensions_hdr",
+        "//src/core:SkMessageBus_hdr",
+        "//src/gpu/gl:GrGLDefines_hdr",
+        "//src/gpu/vk:GrVkGpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrAHardwareBufferUtils_hdr",
+    hdrs = ["GrAHardwareBufferUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrAHardwareBufferUtils_src",
+    srcs = ["GrAHardwareBufferUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAHardwareBufferUtils_hdr",
+        ":GrDirectContextPriv_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu/gl:GrGLTypes_hdr",
+        "//src/gpu/gl:GrGLDefines_hdr",
+        "//src/gpu/gl:GrGLUtil_hdr",
+        "//src/gpu/vk:GrVkCaps_hdr",
+        "//src/gpu/vk:GrVkGpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrAppliedClip_hdr",
+    hdrs = ["GrAppliedClip.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrFragmentProcessor_hdr",
+        ":GrScissorState_hdr",
+        ":GrWindowRectsState_hdr",
+        "//src/core:SkClipStack_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrAttachment_hdr",
+    hdrs = ["GrAttachment.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSurface_hdr",
+        "//src/core:SkClipStack_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrAttachment_src",
+    srcs = ["GrAttachment.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAttachment_hdr",
+        ":GrBackendUtils_hdr",
+        ":GrCaps_hdr",
+        ":GrDataUtils_hdr",
+        ":GrGpu_hdr",
+        "//include/private:GrResourceKey_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrAuditTrail_hdr",
+    hdrs = ["GrAuditTrail.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrRenderTargetProxy_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkString_hdr",
+        "//include/gpu:GrConfig_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTHash_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrAuditTrail_src",
+    srcs = ["GrAuditTrail.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAuditTrail_hdr",
+        "//src/gpu/ops:GrOp_hdr",
+        "//src/utils:SkJSONWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrAutoLocaleSetter_hdr",
+    hdrs = ["GrAutoLocaleSetter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkString_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBackendSemaphore_src",
+    srcs = ["GrBackendSemaphore.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrBackendSemaphore_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBackendSurfaceMutableStateImpl_hdr",
+    hdrs = ["GrBackendSurfaceMutableStateImpl.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrBackendSurfaceMutableState_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBackendSurfaceMutableState_src",
+    srcs = ["GrBackendSurfaceMutableState.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/gpu:GrBackendSurfaceMutableState_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrBackendSurface_src",
+    srcs = ["GrBackendSurface.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBackendSurfaceMutableStateImpl_hdr",
+        "//include/core:SkString_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//include/gpu/dawn:GrDawnTypes_hdr",
+        "//include/gpu/mtl:GrMtlTypes_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu/d3d:GrD3DResourceState_hdr",
+        "//src/gpu/d3d:GrD3DUtil_hdr",
+        "//src/gpu/dawn:GrDawnUtil_hdr",
+        "//src/gpu/gl:GrGLUtil_hdr",
+        "//src/gpu/mtl:GrMtlCppUtil_hdr",
+        "//src/gpu/vk:GrVkImageLayout_hdr",
+        "//src/gpu/vk:GrVkUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBackendTextureImageGenerator_hdr",
+    hdrs = ["GrBackendTextureImageGenerator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrTexture_hdr",
+        "//include/core:SkImageGenerator_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/private:GrResourceKey_hdr",
+        "//include/private:SkMutex_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBackendTextureImageGenerator_src",
+    srcs = ["GrBackendTextureImageGenerator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBackendTextureImageGenerator_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrGpu_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrRecordingContextPriv_hdr",
+        ":GrResourceCache_hdr",
+        ":GrResourceProviderPriv_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrSemaphore_hdr",
+        ":GrTextureProxyPriv_hdr",
+        ":GrTexture_hdr",
+        ":SkGr_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkMessageBus_hdr",
+        "//src/gpu/gl:GrGLTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBackendUtils_hdr",
+    hdrs = ["GrBackendUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImage_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBackendUtils_src",
+    srcs = ["GrBackendUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBackendUtils_hdr",
+        ":GrDataUtils_hdr",
+        "//src/gpu/d3d:GrD3DUtil_hdr",
+        "//src/gpu/dawn:GrDawnUtil_hdr",
+        "//src/gpu/gl:GrGLUtil_hdr",
+        "//src/gpu/mtl:GrMtlCppUtil_hdr",
+        "//src/gpu/vk:GrVkUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBaseContextPriv_hdr",
+    hdrs = ["GrBaseContextPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:GrContext_Base_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrBlend_hdr",
+    hdrs = ["GrBlend.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrBlurUtils_hdr",
+    hdrs = ["GrBlurUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:GrTypesPriv_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrBlurUtils_src",
+    srcs = ["GrBlurUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBlurUtils_hdr",
+        ":GrCaps_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrFixedClip_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrRecordingContextPriv_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrStyle_hdr",
+        ":GrTextureProxy_hdr",
+        ":GrThreadSafeCache_hdr",
+        ":GrUtil_hdr",
+        ":SkGr_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkDraw_hdr",
+        "//src/core:SkMaskFilterBase_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkTLazy_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBufferAllocPool_hdr",
+    hdrs = ["GrBufferAllocPool.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCpuBuffer_hdr",
+        ":GrDrawIndirectCommand_hdr",
+        ":GrNonAtomicRef_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBufferAllocPool_src",
+    srcs = ["GrBufferAllocPool.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBufferAllocPool_hdr",
+        ":GrCaps_hdr",
+        ":GrCpuBuffer_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrGpuBuffer_hdr",
+        ":GrGpu_hdr",
+        ":GrResourceProvider_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:SkMacros_hdr",
+        "//src/core:SkSafeMath_hdr",
+        "//src/core:SkTraceEvent_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBuffer_hdr",
+    hdrs = ["GrBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/gpu:GrTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrCaps_hdr",
+    hdrs = ["GrCaps.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBlend_hdr",
+        ":GrSamplerState_hdr",
+        ":GrShaderCaps_hdr",
+        ":GrSurfaceProxy_hdr",
+        ":GrSwizzle_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkString_hdr",
+        "//include/gpu:GrDriverBugWorkarounds_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/core:SkCompressedDataUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrCaps_src",
+    srcs = ["GrCaps.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBackendUtils_hdr",
+        ":GrCaps_hdr",
+        ":GrRenderTargetProxy_hdr",
+        ":GrSurfaceProxy_hdr",
+        ":GrSurface_hdr",
+        ":GrTestUtils_hdr",
+        ":GrWindowRectangles_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/utils:SkJSONWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrClientMappedBufferManager_hdr",
+    hdrs = ["GrClientMappedBufferManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGpuBuffer_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/core:SkMessageBus_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrClientMappedBufferManager_src",
+    srcs = ["GrClientMappedBufferManager.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrClientMappedBufferManager_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrClip_hdr",
+    hdrs = ["GrClip.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAppliedClip_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrColorInfo_hdr",
+    hdrs = ["GrColorInfo.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrColorSpaceXform_hdr",
+        "//include/core:SkColorSpace_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrColorInfo_src",
+    srcs = ["GrColorInfo.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrColorInfo_hdr",
+        "//src/core:SkColorSpacePriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrColorSpaceXform_hdr",
+    hdrs = ["GrColorSpaceXform.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrFragmentProcessor_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//src/core:SkColorSpacePriv_hdr",
+        "//src/core:SkColorSpaceXformSteps_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrColorSpaceXform_src",
+    srcs = ["GrColorSpaceXform.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrColorInfo_hdr",
+        ":GrColorSpaceXform_hdr",
+        "//include/core:SkColorSpace_hdr",
+        "//src/core:SkColorSpacePriv_hdr",
+        "//src/gpu/glsl:GrGLSLColorSpaceXformHelper_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrColor_hdr",
+    hdrs = ["GrColor.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":BufferWriter_hdr",
+        "//include/core:SkColorPriv_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkHalf_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrContextThreadSafeProxyPriv_hdr",
+    hdrs = ["GrContextThreadSafeProxyPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        "//include/gpu:GrContextThreadSafeProxy_hdr",
+        "//include/private:GrContext_Base_hdr",
+        "//src/gpu/text:GrTextBlobCache_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrContextThreadSafeProxy_src",
+    srcs = ["GrContextThreadSafeProxy.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBaseContextPriv_hdr",
+        ":GrCaps_hdr",
+        ":GrContextThreadSafeProxyPriv_hdr",
+        ":GrThreadSafeCache_hdr",
+        ":GrThreadSafePipelineBuilder_hdr",
+        "//include/core:SkSurfaceCharacterization_hdr",
+        "//include/gpu:GrContextThreadSafeProxy_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+        "//src/gpu/vk:GrVkCaps_hdr",
+        "//src/image:SkSurface_Gpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrContext_Base_src",
+    srcs = ["GrContext_Base.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBaseContextPriv_hdr",
+        ":GrCaps_hdr",
+        ":GrContextThreadSafeProxyPriv_hdr",
+        ":GrShaderUtils_hdr",
+        "//include/private:GrContext_Base_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrCopyRenderTask_hdr",
+    hdrs = ["GrCopyRenderTask.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrRenderTask_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrCopyRenderTask_src",
+    srcs = ["GrCopyRenderTask.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCopyRenderTask_hdr",
+        ":GrGpu_hdr",
+        ":GrOpFlushState_hdr",
+        ":GrResourceAllocator_hdr",
+        "//src/gpu/geometry:GrRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrCpuBuffer_hdr",
+    hdrs = ["GrCpuBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBuffer_hdr",
+        ":GrNonAtomicRef_hdr",
+        "//src/core:SkSafeMath_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDDLContext_src",
+    srcs = ["GrDDLContext.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrContextThreadSafeProxyPriv_hdr",
+        ":GrProgramDesc_hdr",
+        ":GrProgramInfo_hdr",
+        ":GrRecordingContextPriv_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkLRUCache_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDDLTask_hdr",
+    hdrs = ["GrDDLTask.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrRenderTask_hdr",
+        "//include/core:SkPoint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDDLTask_src",
+    srcs = ["GrDDLTask.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDDLTask_hdr",
+        ":GrResourceAllocator_hdr",
+        "//include/core:SkDeferredDisplayList_hdr",
+        "//src/core:SkDeferredDisplayListPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDataUtils_hdr",
+    hdrs = ["GrDataUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDataUtils_src",
+    srcs = ["GrDataUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrColor_hdr",
+        ":GrDataUtils_hdr",
+        ":GrImageInfo_hdr",
+        ":GrPixmap_hdr",
+        ":GrSwizzle_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/third_party/skcms:skcms_hdr",
+        "//src/core:SkColorSpaceXformSteps_hdr",
+        "//src/core:SkCompressedDataUtils_hdr",
+        "//src/core:SkConvertPixels_hdr",
+        "//src/core:SkMathPriv_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/core:SkRasterPipeline_hdr",
+        "//src/core:SkTLazy_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/core:SkUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDefaultGeoProcFactory_hdr",
+    hdrs = ["GrDefaultGeoProcFactory.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrGeometryProcessor_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrDefaultGeoProcFactory_src",
+    srcs = ["GrDefaultGeoProcFactory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrDefaultGeoProcFactory_hdr",
+        ":GrGeometryProcessor_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDeferredProxyUploader_hdr",
+    hdrs = ["GrDeferredProxyUploader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOpFlushState_hdr",
+        ":GrTextureProxyPriv_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/private:SkSemaphore_hdr",
+        "//src/core:SkAutoPixmapStorage_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDeferredUpload_hdr",
+    hdrs = ["GrDeferredUpload.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDirectContextPriv_hdr",
+    hdrs = ["GrDirectContextPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":BaseDevice_hdr",
+        ":GrRecordingContextPriv_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDirectContextPriv_src",
+    srcs = ["GrDirectContextPriv.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrContextThreadSafeProxyPriv_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrDrawingManager_hdr",
+        ":GrGpu_hdr",
+        ":GrMemoryPool_hdr",
+        ":GrRecordingContextPriv_hdr",
+        ":GrTexture_hdr",
+        ":GrThreadSafePipelineBuilder_hdr",
+        ":GrTracing_hdr",
+        ":SkGr_hdr",
+        ":SurfaceContext_hdr",
+        ":SurfaceFillContext_hdr",
+        "//include/gpu:GrContextThreadSafeProxy_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/core:SkRuntimeEffectPriv_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/text:GrAtlasManager_hdr",
+        "//src/gpu/text:GrTextBlobCache_hdr",
+        "//src/image:SkImage_Base_hdr",
+        "//src/image:SkImage_Gpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDirectContext_src",
+    srcs = ["GrDirectContext.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBackendUtils_hdr",
+        ":GrClientMappedBufferManager_hdr",
+        ":GrContextThreadSafeProxyPriv_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrDrawingManager_hdr",
+        ":GrGpu_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrSemaphore_hdr",
+        ":GrShaderUtils_hdr",
+        ":GrThreadSafePipelineBuilder_hdr",
+        ":SurfaceContext_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTraceMemoryDump_hdr",
+        "//include/gpu:GrBackendSemaphore_hdr",
+        "//include/gpu:GrContextThreadSafeProxy_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu/mtl:GrMtlBackendContext_hdr",
+        "//include/utils:SkRandom_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/core:SkTaskGroup_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu/d3d:GrD3DGpu_hdr",
+        "//src/gpu/dawn:GrDawnGpu_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+        "//src/gpu/gl:GrGLGpu_hdr",
+        "//src/gpu/mock:GrMockGpu_hdr",
+        "//src/gpu/mtl:GrMtlTrampoline_hdr",
+        "//src/gpu/ops:SmallPathAtlasMgr_hdr",
+        "//src/gpu/text:GrAtlasManager_hdr",
+        "//src/gpu/text:GrStrikeCache_hdr",
+        "//src/gpu/vk:GrVkGpu_hdr",
+        "//src/image:SkImage_GpuBase_hdr",
+        "//src/utils:SkJSONWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDistanceFieldGenFromVector_hdr",
+    hdrs = ["GrDistanceFieldGenFromVector.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPath_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrDistanceFieldGenFromVector_src",
+    srcs = ["GrDistanceFieldGenFromVector.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDistanceFieldGenFromVector_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/gpu:GrConfig_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/core:SkDistanceFieldGen_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/core:SkPointPriv_hdr",
+        "//src/core:SkRectPriv_hdr",
+        "//src/gpu/geometry:GrPathUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDrawIndirectCommand_hdr",
+    hdrs = ["GrDrawIndirectCommand.h"],
     visibility = ["//:__subpackages__"],
 )
 
-##########################################################################
-# Test only srcs/headers below
-
-filegroup(
-    name = "mock-srcs",
-    srcs = [
-        "mock/GrMockAttachment.h",
-        "mock/GrMockBuffer.h",
-        "mock/GrMockCaps.cpp",
-        "mock/GrMockCaps.h",
-        "mock/GrMockGpu.cpp",
-        "mock/GrMockGpu.h",
-        "mock/GrMockOpTarget.h",
-        "mock/GrMockOpsRenderPass.h",
-        "mock/GrMockRenderTask.h",
-        "mock/GrMockSurfaceProxy.h",
-        "mock/GrMockTexture.h",
-        "mock/GrMockTypes.cpp",
-    ],
+generated_cc_atom(
+    name = "GrDrawOpAtlas_hdr",
+    hdrs = ["GrDrawOpAtlas.h"],
     visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDeferredUpload_hdr",
+        ":GrRectanizerSkyline_hdr",
+        ":GrSurfaceProxyView_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/core:SkIPoint16_hdr",
+        "//src/core:SkTInternalLList_hdr",
+        "//src/gpu/geometry:GrRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDrawOpAtlas_src",
+    srcs = ["GrDrawOpAtlas.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBackendUtils_hdr",
+        ":GrDrawOpAtlas_hdr",
+        ":GrOnFlushResourceProvider_hdr",
+        ":GrOpFlushState_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrResourceProviderPriv_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrSurfaceProxyPriv_hdr",
+        ":GrTexture_hdr",
+        ":GrTracing_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDrawOpTest_hdr",
+    hdrs = ["GrDrawOpTest.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrTestUtils_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDrawOpTest_src",
+    srcs = ["GrDrawOpTest.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBaseContextPriv_hdr",
+        ":GrCaps_hdr",
+        ":GrDrawOpTest_hdr",
+        ":GrUserStencilSettings_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:GrContext_Base_hdr",
+        "//include/utils:SkRandom_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDrawingManager_hdr",
+    hdrs = ["GrDrawingManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBufferAllocPool_hdr",
+        ":GrDeferredUpload_hdr",
+        ":GrHashMapWithCache_hdr",
+        ":GrResourceCache_hdr",
+        ":GrSurfaceProxy_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTHash_hdr",
+        "//src/gpu/v1:PathRendererChain_hdr",
+        "//src/gpu/v1:PathRenderer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDrawingManager_src",
+    srcs = ["GrDrawingManager.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrClientMappedBufferManager_hdr",
+        ":GrCopyRenderTask_hdr",
+        ":GrDDLTask_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrDrawingManager_hdr",
+        ":GrGpu_hdr",
+        ":GrMemoryPool_hdr",
+        ":GrOnFlushResourceProvider_hdr",
+        ":GrOpFlushState_hdr",
+        ":GrRecordingContextPriv_hdr",
+        ":GrRenderTargetProxy_hdr",
+        ":GrRenderTaskCluster_hdr",
+        ":GrRenderTask_hdr",
+        ":GrResourceAllocator_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrSurfaceProxyPriv_hdr",
+        ":GrTTopoSort_hdr",
+        ":GrTextureProxyPriv_hdr",
+        ":GrTextureProxy_hdr",
+        ":GrTextureResolveRenderTask_hdr",
+        ":GrTexture_hdr",
+        ":GrTracing_hdr",
+        ":GrTransferFromRenderTask_hdr",
+        ":GrWaitRenderTask_hdr",
+        ":GrWritePixelsRenderTask_hdr",
+        "//include/core:SkDeferredDisplayList_hdr",
+        "//include/gpu:GrBackendSemaphore_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkDeferredDisplayListPriv_hdr",
+        "//src/core:SkTInternalLList_hdr",
+        "//src/gpu/ops:OpsTask_hdr",
+        "//src/gpu/ops:SoftwarePathRenderer_hdr",
+        "//src/gpu/text:GrSDFTControl_hdr",
+        "//src/image:SkSurface_Gpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDriverBugWorkarounds_src",
+    srcs = ["GrDriverBugWorkarounds.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/gpu:GrDriverBugWorkarounds_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDstProxyView_hdr",
+    hdrs = ["GrDstProxyView.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSurfaceProxyView_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDynamicAtlas_hdr",
+    hdrs = ["GrDynamicAtlas.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrTextureProxy_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDynamicAtlas_src",
+    srcs = ["GrDynamicAtlas.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrDynamicAtlas_hdr",
+        ":GrOnFlushResourceProvider_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrRectanizerPow2_hdr",
+        ":GrRectanizerSkyline_hdr",
+        ":GrRenderTarget_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrSurfaceProxyPriv_hdr",
+        ":GrSurfaceProxyView_hdr",
+        "//src/core:SkIPoint16_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrEagerVertexAllocator_hdr",
+    hdrs = ["GrEagerVertexAllocator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrThreadSafeCache_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrEagerVertexAllocator_src",
+    srcs = ["GrEagerVertexAllocator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrEagerVertexAllocator_hdr",
+        ":GrMeshDrawTarget_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrFPArgs_hdr",
+    hdrs = ["GrFPArgs.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkMatrix_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrFinishCallbacks_hdr",
+    hdrs = ["GrFinishCallbacks.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrFinishCallbacks_src",
+    srcs = ["GrFinishCallbacks.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrFinishCallbacks_hdr",
+        ":GrGpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrFixedClip_hdr",
+    hdrs = ["GrFixedClip.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrClip_hdr",
+        ":GrScissorState_hdr",
+        ":GrWindowRectsState_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrFixedClip_src",
+    srcs = ["GrFixedClip.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAppliedClip_hdr",
+        ":GrFixedClip_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrFragmentProcessor_hdr",
+    hdrs = ["GrFragmentProcessor.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrProcessor_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkSLSampleUsage_hdr",
+        "//include/private:SkSLString_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrFragmentProcessor_src",
+    srcs = ["GrFragmentProcessor.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrFragmentProcessor_hdr",
+        ":GrPipeline_hdr",
+        ":GrProcessorAnalysis_hdr",
+        ":GrShaderCaps_hdr",
+        "//src/core:SkRuntimeEffectPriv_hdr",
+        "//src/gpu/effects:GrBlendFragmentProcessor_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGeometryProcessor_hdr",
+    hdrs = ["GrGeometryProcessor.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrColor_hdr",
+        ":GrFragmentProcessor_hdr",
+        ":GrProcessor_hdr",
+        ":GrShaderCaps_hdr",
+        ":GrShaderVar_hdr",
+        ":GrSwizzle_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGeometryProcessor_src",
+    srcs = ["GrGeometryProcessor.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGeometryProcessor_hdr",
+        ":GrPipeline_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGlyph_hdr",
+    hdrs = ["GrGlyph.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDrawOpAtlas_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/core:SkGlyph_hdr",
+        "//src/core:SkMask_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGpuBuffer_hdr",
+    hdrs = ["GrGpuBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBuffer_hdr",
+        ":GrGpuResource_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGpuBuffer_src",
+    srcs = ["GrGpuBuffer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrGpuBuffer_hdr",
+        ":GrGpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGpuResourceCacheAccess_hdr",
+    hdrs = ["GrGpuResourceCacheAccess.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGpuResourcePriv_hdr",
+        ":GrGpuResource_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGpuResourcePriv_hdr",
+    hdrs = ["GrGpuResourcePriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrGpuResource_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrGpuResource_hdr",
+    hdrs = ["GrGpuResource.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:GrResourceKey_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGpuResource_src",
+    srcs = ["GrGpuResource.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDirectContextPriv_hdr",
+        ":GrGpuResourcePriv_hdr",
+        ":GrGpuResource_hdr",
+        ":GrGpu_hdr",
+        ":GrResourceCache_hdr",
+        "//include/core:SkTraceMemoryDump_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGpu_hdr",
+    hdrs = ["GrGpu.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAttachment_hdr",
+        ":GrCaps_hdr",
+        ":GrOpsRenderPass_hdr",
+        ":GrPixmap_hdr",
+        ":GrSwizzle_hdr",
+        ":GrXferProcessor_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/core:SkTInternalLList_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGpu_src",
+    srcs = ["GrGpu.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAttachment_hdr",
+        ":GrBackendUtils_hdr",
+        ":GrCaps_hdr",
+        ":GrDataUtils_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrGpuResourcePriv_hdr",
+        ":GrGpu_hdr",
+        ":GrNativeRect_hdr",
+        ":GrPipeline_hdr",
+        ":GrRenderTarget_hdr",
+        ":GrResourceCache_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrRingBuffer_hdr",
+        ":GrSemaphore_hdr",
+        ":GrStagingBufferManager_hdr",
+        ":GrStencilSettings_hdr",
+        ":GrTextureProxyPriv_hdr",
+        ":GrTracing_hdr",
+        "//include/gpu:GrBackendSemaphore_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/core:SkCompressedDataUtils_hdr",
+        "//src/core:SkMathPriv_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/utils:SkJSONWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrHashMapWithCache_hdr",
+    hdrs = ["GrHashMapWithCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkChecksum_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkTHash_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrImageContextPriv_hdr",
+    hdrs = ["GrImageContextPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBaseContextPriv_hdr",
+        "//include/gpu:GrContextThreadSafeProxy_hdr",
+        "//include/private:GrImageContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrImageContext_src",
+    srcs = ["GrImageContext.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrContextThreadSafeProxyPriv_hdr",
+        ":GrImageContextPriv_hdr",
+        ":GrProxyProvider_hdr",
+        "//include/private:GrImageContext_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrImageInfo_hdr",
+    hdrs = ["GrImageInfo.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrColorInfo_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrManagedResource_hdr",
+    hdrs = ["GrManagedResource.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTHash_hdr",
+        "//include/utils:SkRandom_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrManagedResource_src",
+    srcs = ["GrManagedResource.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGpuResourcePriv_hdr",
+        ":GrManagedResource_hdr",
+        ":GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMemoryPool_hdr",
+    hdrs = ["GrMemoryPool.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkTHash_hdr",
+        "//src/core:SkBlockAllocator_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMemoryPool_src",
+    srcs = ["GrMemoryPool.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMemoryPool_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkASAN_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMeshDrawTarget_hdr",
+    hdrs = ["GrMeshDrawTarget.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDrawIndirectCommand_hdr",
+        ":GrSimpleMesh_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMeshDrawTarget_src",
+    srcs = ["GrMeshDrawTarget.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMeshDrawTarget_hdr",
+        ":GrResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrNativeRect_hdr",
+    hdrs = ["GrNativeRect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRect_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrNonAtomicRef_hdr",
+    hdrs = ["GrNonAtomicRef.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrOnFlushResourceProvider_hdr",
+    hdrs = ["GrOnFlushResourceProvider.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDeferredUpload_hdr",
+        "//include/core:SkSpan_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrOnFlushResourceProvider_src",
+    srcs = ["GrOnFlushResourceProvider.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDirectContextPriv_hdr",
+        ":GrDrawingManager_hdr",
+        ":GrOnFlushResourceProvider_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrRecordingContextPriv_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrSurfaceProxyPriv_hdr",
+        ":GrSurfaceProxy_hdr",
+        ":GrTextureResolveRenderTask_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrOpFlushState_hdr",
+    hdrs = ["GrOpFlushState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAppliedClip_hdr",
+        ":GrBufferAllocPool_hdr",
+        ":GrDeferredUpload_hdr",
+        ":GrMeshDrawTarget_hdr",
+        ":GrProgramInfo_hdr",
+        ":GrRenderTargetProxy_hdr",
+        ":GrSurfaceProxyView_hdr",
+        "//src/core:SkArenaAllocList_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrOpFlushState_src",
+    srcs = ["GrOpFlushState.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDataUtils_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrDrawOpAtlas_hdr",
+        ":GrGpu_hdr",
+        ":GrImageInfo_hdr",
+        ":GrOpFlushState_hdr",
+        ":GrProgramInfo_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrTexture_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/core:SkConvertPixels_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrOpsRenderPass_hdr",
+    hdrs = ["GrOpsRenderPass.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDeferredUpload_hdr",
+        ":GrPipeline_hdr",
+        "//include/core:SkDrawable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrOpsRenderPass_src",
+    srcs = ["GrOpsRenderPass.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrCpuBuffer_hdr",
+        ":GrDrawIndirectCommand_hdr",
+        ":GrGeometryProcessor_hdr",
+        ":GrGpu_hdr",
+        ":GrOpsRenderPass_hdr",
+        ":GrProgramInfo_hdr",
+        ":GrRenderTarget_hdr",
+        ":GrScissorState_hdr",
+        ":GrSimpleMesh_hdr",
+        ":GrTexture_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrOpsTypes_hdr",
+    hdrs = ["GrOpsTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSurfaceProxyView_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkColorData_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrPaint_hdr",
+    hdrs = ["GrPaint.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrColor_hdr",
+        ":GrFragmentProcessor_hdr",
+        "//include/core:SkBlendMode_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkRegion_hdr",
+        "//src/core:SkTLazy_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrPaint_src",
+    srcs = ["GrPaint.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrPaint_hdr",
+        ":GrXferProcessor_hdr",
+        "//src/gpu/effects:GrCoverageSetOpXP_hdr",
+        "//src/gpu/effects:GrPorterDuffXferProcessor_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrPersistentCacheUtils_hdr",
+    hdrs = ["GrPersistentCacheUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkData_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrPersistentCacheUtils_src",
+    srcs = ["GrPersistentCacheUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrPersistentCacheUtils_hdr",
+        "//include/private:SkSLString_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrPipeline_hdr",
+    hdrs = ["GrPipeline.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrColor_hdr",
+        ":GrDstProxyView_hdr",
+        ":GrFragmentProcessor_hdr",
+        ":GrProcessorSet_hdr",
+        ":GrScissorState_hdr",
+        ":GrSurfaceProxyView_hdr",
+        ":GrUserStencilSettings_hdr",
+        ":GrWindowRectsState_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//src/gpu/effects:GrPorterDuffXferProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrPipeline_src",
+    srcs = ["GrPipeline.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAppliedClip_hdr",
+        ":GrCaps_hdr",
+        ":GrPipeline_hdr",
+        ":GrXferProcessor_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrPixmap_hdr",
+    hdrs = ["GrPixmap.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrImageInfo_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkPixmap_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrProcessorAnalysis_hdr",
+    hdrs = ["GrProcessorAnalysis.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkColorData_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrProcessorAnalysis_src",
+    srcs = ["GrProcessorAnalysis.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrFragmentProcessor_hdr",
+        ":GrGeometryProcessor_hdr",
+        ":GrProcessorAnalysis_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrProcessorSet_hdr",
+    hdrs = ["GrProcessorSet.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrFragmentProcessor_hdr",
+        ":GrPaint_hdr",
+        ":GrProcessorAnalysis_hdr",
+        ":GrXferProcessor_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrProcessorSet_src",
+    srcs = ["GrProcessorSet.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAppliedClip_hdr",
+        ":GrCaps_hdr",
+        ":GrProcessorSet_hdr",
+        ":GrUserStencilSettings_hdr",
+        ":GrXferProcessor_hdr",
+        "//src/core:SkBlendModePriv_hdr",
+        "//src/gpu/effects:GrPorterDuffXferProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrProcessorUnitTest_hdr",
+    hdrs = ["GrProcessorUnitTest.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrTestUtils_hdr",
+        ":GrTextureProxy_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrProcessorUnitTest_src",
+    srcs = ["GrProcessorUnitTest.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrFragmentProcessor_hdr",
+        ":GrProcessorUnitTest_hdr",
+        ":GrRecordingContextPriv_hdr",
+        ":GrSurfaceProxyView_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrProcessor_hdr",
+    hdrs = ["GrProcessor.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrColor_hdr",
+        ":GrGpuBuffer_hdr",
+        ":GrProcessorUnitTest_hdr",
+        ":GrProgramDesc_hdr",
+        ":GrSamplerState_hdr",
+        ":GrShaderVar_hdr",
+        ":GrSurfaceProxyPriv_hdr",
+        ":GrTextureProxy_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/core:SkString_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrProcessor_src",
+    srcs = ["GrProcessor.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGeometryProcessor_hdr",
+        ":GrMemoryPool_hdr",
+        ":GrProcessor_hdr",
+        ":GrSamplerState_hdr",
+        ":GrTextureProxy_hdr",
+        ":GrXferProcessor_hdr",
+        "//include/private:SkSpinlock_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrProgramDesc_hdr",
+    hdrs = ["GrProgramDesc.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkString_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrProgramDesc_src",
+    srcs = ["GrProgramDesc.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrFragmentProcessor_hdr",
+        ":GrGeometryProcessor_hdr",
+        ":GrPipeline_hdr",
+        ":GrProcessor_hdr",
+        ":GrProgramDesc_hdr",
+        ":GrProgramInfo_hdr",
+        ":GrRenderTarget_hdr",
+        ":GrShaderCaps_hdr",
+        ":GrTexture_hdr",
+        "//include/private:SkChecksum_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrProgramInfo_hdr",
+    hdrs = ["GrProgramInfo.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGeometryProcessor_hdr",
+        ":GrPipeline_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrProgramInfo_src",
+    srcs = ["GrProgramInfo.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrProgramInfo_hdr",
+        ":GrStencilSettings_hdr",
+        ":GrTexture_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrProxyProvider_hdr",
+    hdrs = ["GrProxyProvider.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrTextureProxy_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:GrResourceKey_hdr",
+        "//src/core:SkTDynamicHash_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrProxyProvider_src",
+    srcs = ["GrProxyProvider.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrContextThreadSafeProxyPriv_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrImageContextPriv_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrRenderTarget_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrSurfaceProxyPriv_hdr",
+        ":GrSurfaceProxy_hdr",
+        ":GrTextureProxyCacheAccess_hdr",
+        ":GrTextureRenderTargetProxy_hdr",
+        ":GrTexture_hdr",
+        ":SkGr_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//include/private:GrImageContext_hdr",
+        "//include/private:GrResourceKey_hdr",
+        "//include/private:GrSingleOwner_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//src/core:SkAutoPixmapStorage_hdr",
+        "//src/core:SkCompressedDataUtils_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/image:SkImage_Base_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRecordingContextPriv_hdr",
+    hdrs = ["GrRecordingContextPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":BaseDevice_hdr",
+        ":GrImageContextPriv_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/gpu/text:GrSDFTControl_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRecordingContextPriv_src",
+    srcs = ["GrRecordingContextPriv.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrDrawingManager_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrRecordingContextPriv_hdr",
+        ":GrRenderTargetProxy_hdr",
+        ":GrSurfaceProxyView_hdr",
+        "//src/gpu/v1:Device_v1_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+        "//src/gpu/v1:SurfaceFillContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRecordingContext_src",
+    srcs = ["GrRecordingContext.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAuditTrail_hdr",
+        ":GrCaps_hdr",
+        ":GrContextThreadSafeProxyPriv_hdr",
+        ":GrDrawingManager_hdr",
+        ":GrMemoryPool_hdr",
+        ":GrProgramDesc_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrRecordingContextPriv_hdr",
+        ":SkGr_hdr",
+        ":SurfaceContext_hdr",
+        "//include/gpu:GrContextThreadSafeProxy_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+        "//src/gpu/ops:AtlasTextOp_hdr",
+        "//src/gpu/text:GrTextBlobCache_hdr",
+        "//src/gpu/text:GrTextBlob_hdr",
+        "//src/utils:SkJSONWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRectanizerPow2_hdr",
+    hdrs = ["GrRectanizerPow2.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrRectanizer_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//src/core:SkIPoint16_hdr",
+        "//src/core:SkMathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRectanizerPow2_src",
+    srcs = ["GrRectanizerPow2.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrRectanizerPow2_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrRectanizerSkyline_hdr",
+    hdrs = ["GrRectanizerSkyline.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrRectanizer_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRectanizerSkyline_src",
+    srcs = ["GrRectanizerSkyline.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrRectanizerSkyline_hdr",
+        "//src/core:SkIPoint16_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRectanizer_hdr",
+    hdrs = ["GrRectanizer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/gpu:GrTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrRefCnt_hdr",
+    hdrs = ["GrRefCnt.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGpuResource_hdr",
+        ":GrManagedResource_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRenderTargetContext_hdr",
+    hdrs = ["GrRenderTargetContext.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRenderTargetProxy_hdr",
+    hdrs = ["GrRenderTargetProxy.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrNativeRect_hdr",
+        ":GrSubRunAllocator_hdr",
+        ":GrSurfaceProxy_hdr",
+        ":GrSwizzle_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRenderTargetProxy_src",
+    srcs = ["GrRenderTargetProxy.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrGpuResourcePriv_hdr",
+        ":GrRenderTargetProxy_hdr",
+        ":GrRenderTarget_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrSurfaceProxyPriv_hdr",
+        ":GrSurface_hdr",
+        ":GrTextureRenderTargetProxy_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/core:SkMathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRenderTarget_hdr",
+    hdrs = ["GrRenderTarget.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSurface_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRenderTarget_src",
+    srcs = ["GrRenderTarget.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAttachment_hdr",
+        ":GrBackendUtils_hdr",
+        ":GrGpu_hdr",
+        ":GrRenderTarget_hdr",
+        ":GrStencilSettings_hdr",
+        "//src/core:SkRectPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRenderTaskCluster_hdr",
+    hdrs = ["GrRenderTaskCluster.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkSpan_hdr",
+        "//src/core:SkTInternalLList_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRenderTaskCluster_src",
+    srcs = ["GrRenderTaskCluster.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrRenderTaskCluster_hdr",
+        ":GrRenderTask_hdr",
+        "//include/private:SkTHash_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRenderTask_hdr",
+    hdrs = ["GrRenderTask.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSurfaceProxyView_hdr",
+        ":GrTextureProxy_hdr",
+        ":GrTextureResolveManager_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/core:SkTInternalLList_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRenderTask_src",
+    srcs = ["GrRenderTask.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAttachment_hdr",
+        ":GrRenderTarget_hdr",
+        ":GrRenderTask_hdr",
+        ":GrTextureProxyPriv_hdr",
+        ":GrTextureResolveRenderTask_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrResourceAllocator_hdr",
+    hdrs = ["GrResourceAllocator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrHashMapWithCache_hdr",
+        ":GrSurfaceProxy_hdr",
+        ":GrSurface_hdr",
+        "//include/private:SkTHash_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkTMultiMap_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrResourceAllocator_src",
+    srcs = ["GrResourceAllocator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDirectContextPriv_hdr",
+        ":GrGpuResourcePriv_hdr",
+        ":GrRenderTargetProxy_hdr",
+        ":GrResourceAllocator_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrSurfaceProxyPriv_hdr",
+        ":GrSurfaceProxy_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrResourceCache_hdr",
+    hdrs = ["GrResourceCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGpuResourceCacheAccess_hdr",
+        ":GrGpuResourcePriv_hdr",
+        ":GrGpuResource_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/private:GrResourceKey_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTHash_hdr",
+        "//src/core:SkMessageBus_hdr",
+        "//src/core:SkTDPQueue_hdr",
+        "//src/core:SkTInternalLList_hdr",
+        "//src/core:SkTMultiMap_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrResourceCache_src",
+    srcs = ["GrResourceCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrGpuResourceCacheAccess_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrResourceCache_hdr",
+        ":GrTextureProxyCacheAccess_hdr",
+        ":GrTexture_hdr",
+        ":GrThreadSafeCache_hdr",
+        ":GrTracing_hdr",
+        ":SkGr_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/private:GrSingleOwner_hdr",
+        "//include/private:SkTo_hdr",
+        "//include/utils:SkRandom_hdr",
+        "//src/core:SkMessageBus_hdr",
+        "//src/core:SkOpts_hdr",
+        "//src/core:SkScopeExit_hdr",
+        "//src/core:SkTSort_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrResourceHandle_hdr",
+    hdrs = ["GrResourceHandle.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrResourceProviderPriv_hdr",
+    hdrs = ["GrResourceProviderPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrResourceProvider_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrResourceProvider_hdr",
+    hdrs = ["GrResourceProvider.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGpuBuffer_hdr",
+        ":GrResourceCache_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrResourceProvider_src",
+    srcs = ["GrResourceProvider.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":BufferWriter_hdr",
+        ":GrAttachment_hdr",
+        ":GrCaps_hdr",
+        ":GrDataUtils_hdr",
+        ":GrGpuBuffer_hdr",
+        ":GrGpu_hdr",
+        ":GrImageInfo_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrRenderTarget_hdr",
+        ":GrResourceCache_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrSemaphore_hdr",
+        ":GrTexture_hdr",
+        ":SkGr_hdr",
+        "//include/gpu:GrBackendSemaphore_hdr",
+        "//include/private:GrResourceKey_hdr",
+        "//include/private:GrSingleOwner_hdr",
+        "//src/core:SkConvertPixels_hdr",
+        "//src/core:SkMathPriv_hdr",
+        "//src/core:SkMipmap_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRingBuffer_hdr",
+    hdrs = ["GrRingBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrGpuBuffer_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrRingBuffer_src",
+    srcs = ["GrRingBuffer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDirectContextPriv_hdr",
+        ":GrGpu_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrRingBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSPIRVUniformHandler_hdr",
+    hdrs = ["GrSPIRVUniformHandler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/core:SkTBlockList_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSPIRVUniformHandler_src",
+    srcs = ["GrSPIRVUniformHandler.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSPIRVUniformHandler_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSPIRVVaryingHandler_hdr",
+    hdrs = ["GrSPIRVVaryingHandler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu/glsl:GrGLSLVarying_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrSPIRVVaryingHandler_src",
+    srcs = ["GrSPIRVVaryingHandler.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrSPIRVVaryingHandler_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrSWMaskHelper_hdr",
+    hdrs = ["GrSWMaskHelper.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSurfaceProxyView_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/core:SkAutoPixmapStorage_hdr",
+        "//src/core:SkDraw_hdr",
+        "//src/core:SkRasterClip_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSWMaskHelper_src",
+    srcs = ["GrSWMaskHelper.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrRecordingContextPriv_hdr",
+        ":GrSWMaskHelper_hdr",
+        ":GrTextureProxy_hdr",
+        ":SkGr_hdr",
+        ":SurfaceContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSamplerState_hdr",
+    hdrs = ["GrSamplerState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkSamplingOptions_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrScissorState_hdr",
+    hdrs = ["GrScissorState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkRect_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrSemaphore_hdr",
+    hdrs = ["GrSemaphore.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/gpu:GrBackendSemaphore_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrShaderCaps_hdr",
+    hdrs = ["GrShaderCaps.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//src/gpu/glsl:GrGLSL_hdr",
+        "//src/sksl:SkSLUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrShaderCaps_src",
+    srcs = ["GrShaderCaps.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrShaderCaps_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//src/utils:SkJSONWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrShaderUtils_hdr",
+    hdrs = ["GrShaderUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/private:SkSLProgramKind_hdr",
+        "//include/private:SkSLString_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrShaderUtils_src",
+    srcs = ["GrShaderUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrShaderUtils_hdr",
+        "//include/core:SkString_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/private:SkSLString_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrShaderVar_hdr",
+    hdrs = ["GrShaderVar.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkString_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrShaderVar_src",
+    srcs = ["GrShaderVar.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrShaderCaps_hdr",
+        ":GrShaderVar_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSimpleMesh_hdr",
+    hdrs = ["GrSimpleMesh.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBuffer_hdr",
+        ":GrGpuBuffer_hdr",
+        ":GrOpsRenderPass_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrStagingBufferManager_hdr",
+    hdrs = ["GrStagingBufferManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGpuBuffer_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrStagingBufferManager_src",
+    srcs = ["GrStagingBufferManager.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDirectContextPriv_hdr",
+        ":GrGpu_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrStagingBufferManager_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrStencilSettings_hdr",
+    hdrs = ["GrStencilSettings.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrUserStencilSettings_hdr",
+        "//include/core:SkRegion_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrStencilSettings_src",
+    srcs = ["GrStencilSettings.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrProcessor_hdr",
+        ":GrStencilSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrStyle_hdr",
+    hdrs = ["GrStyle.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkPathEffectBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrStyle_src",
+    srcs = ["GrStyle.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrStyle_hdr",
+        "//src/utils:SkDashPathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSubRunAllocator_hdr",
+    hdrs = ["GrSubRunAllocator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkMath_hdr",
+        "//include/core:SkSpan_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSubRunAllocator_src",
+    srcs = ["GrSubRunAllocator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSubRunAllocator_hdr",
+        "//include/core:SkMath_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSurfaceInfo_src",
+    srcs = ["GrSurfaceInfo.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrSurfaceInfo_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSurfaceProxyPriv_hdr",
+    hdrs = ["GrSurfaceProxyPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrSurfaceProxy_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrSurfaceProxyView_hdr",
+    hdrs = ["GrSurfaceProxyView.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrRenderTargetProxy_hdr",
+        ":GrSurfaceProxy_hdr",
+        ":GrSwizzle_hdr",
+        ":GrTextureProxy_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSurfaceProxy_hdr",
+    hdrs = ["GrSurfaceProxy.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGpuResource_hdr",
+        ":GrSurface_hdr",
+        ":GrTexture_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSurfaceProxy_src",
+    srcs = ["GrSurfaceProxy.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAttachment_hdr",
+        ":GrCaps_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrGpuResourcePriv_hdr",
+        ":GrImageInfo_hdr",
+        ":GrRecordingContextPriv_hdr",
+        ":GrRenderTarget_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrSurfaceProxyPriv_hdr",
+        ":GrSurfaceProxy_hdr",
+        ":GrSurface_hdr",
+        ":GrTextureRenderTargetProxy_hdr",
+        ":GrTexture_hdr",
+        ":SurfaceFillContext_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkMathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSurface_hdr",
+    hdrs = ["GrSurface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGpuResource_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSurface_src",
+    srcs = ["GrSurface.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBackendUtils_hdr",
+        ":GrRenderTarget_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrSurface_hdr",
+        ":GrTexture_hdr",
+        ":SkGr_hdr",
+        "//src/core:SkCompressedDataUtils_hdr",
+        "//src/core:SkMathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSwizzle_hdr",
+    hdrs = ["GrSwizzle.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrColor_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkColorData_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSwizzle_src",
+    srcs = ["GrSwizzle.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSwizzle_hdr",
+        "//src/core:SkRasterPipeline_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTTopoSort_hdr",
+    hdrs = ["GrTTopoSort.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTestUtils_hdr",
+    hdrs = ["GrTestUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrColor_hdr",
+        ":GrFPArgs_hdr",
+        ":GrSamplerState_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/utils:SkRandom_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkPathEffectBase_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTestUtils_src",
+    srcs = ["GrTestUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrColorInfo_hdr",
+        ":GrProcessorUnitTest_hdr",
+        ":GrStyle_hdr",
+        ":GrTestUtils_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPathBuilder_hdr",
+        "//include/core:SkRRect_hdr",
+        "//src/core:SkRectPriv_hdr",
+        "//src/utils:SkDashPathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTextureProxyCacheAccess_hdr",
+    hdrs = ["GrTextureProxyCacheAccess.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrTextureProxy_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrTextureProxyPriv_hdr",
+    hdrs = ["GrTextureProxyPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrTextureProxy_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrTextureProxy_hdr",
+    hdrs = ["GrTextureProxy.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSamplerState_hdr",
+        ":GrSurfaceProxy_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTextureProxy_src",
+    srcs = ["GrTextureProxy.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDeferredProxyUploader_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrGpuResourcePriv_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrSurface_hdr",
+        ":GrTextureProxyPriv_hdr",
+        ":GrTextureProxy_hdr",
+        ":GrTexture_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTextureRenderTargetProxy_hdr",
+    hdrs = ["GrTextureRenderTargetProxy.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrRenderTargetProxy_hdr",
+        ":GrTextureProxy_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTextureRenderTargetProxy_src",
+    srcs = ["GrTextureRenderTargetProxy.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrRenderTarget_hdr",
+        ":GrSurfaceProxyPriv_hdr",
+        ":GrSurface_hdr",
+        ":GrTextureProxyPriv_hdr",
+        ":GrTextureRenderTargetProxy_hdr",
+        ":GrTexture_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTextureResolveManager_hdr",
+    hdrs = ["GrTextureResolveManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDrawingManager_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTextureResolveRenderTask_hdr",
+    hdrs = ["GrTextureResolveRenderTask.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrRenderTask_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrTextureResolveRenderTask_src",
+    srcs = ["GrTextureResolveRenderTask.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGpu_hdr",
+        ":GrMemoryPool_hdr",
+        ":GrOpFlushState_hdr",
+        ":GrRenderTarget_hdr",
+        ":GrResourceAllocator_hdr",
+        ":GrTextureResolveRenderTask_hdr",
+        ":GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTexture_hdr",
+    hdrs = ["GrTexture.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSurface_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTexture_src",
+    srcs = ["GrTexture.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrGpu_hdr",
+        ":GrRenderTarget_hdr",
+        ":GrResourceCache_hdr",
+        ":GrTexture_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:GrResourceKey_hdr",
+        "//src/core:SkMipmap_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrThreadSafeCache_hdr",
+    hdrs = ["GrThreadSafeCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGpuBuffer_hdr",
+        ":GrSurfaceProxyView_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/private:SkSpinlock_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkTDynamicHash_hdr",
+        "//src/core:SkTInternalLList_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrThreadSafeCache_src",
+    srcs = ["GrThreadSafeCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDirectContextPriv_hdr",
+        ":GrGpuBuffer_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrResourceCache_hdr",
+        ":GrThreadSafeCache_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrThreadSafePipelineBuilder_hdr",
+    hdrs = ["GrThreadSafePipelineBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrConfig_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrThreadSafePipelineBuilder_src",
+    srcs = ["GrThreadSafePipelineBuilder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrThreadSafePipelineBuilder_hdr",
+        "//include/core:SkString_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTracing_hdr",
+    hdrs = ["GrTracing.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAuditTrail_hdr",
+        "//src/core:SkTraceEvent_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTransferFromRenderTask_hdr",
+    hdrs = ["GrTransferFromRenderTask.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrRenderTask_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrTransferFromRenderTask_src",
+    srcs = ["GrTransferFromRenderTask.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGpu_hdr",
+        ":GrOpFlushState_hdr",
+        ":GrResourceAllocator_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrTransferFromRenderTask_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrUniformDataManager_hdr",
+    hdrs = ["GrUniformDataManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrUniformDataManager_src",
+    srcs = ["GrUniformDataManager.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrShaderVar_hdr",
+        ":GrUniformDataManager_hdr",
+        "//include/private:SkHalf_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrUserStencilSettings_hdr",
+    hdrs = ["GrUserStencilSettings.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/gpu:GrTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrUtil_hdr",
+    hdrs = ["GrUtil.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrUtil_src",
+    srcs = ["GrUtil.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrStyle_hdr",
+        ":GrUtil_hdr",
+        "//src/core:SkDrawProcs_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVertexChunkArray_hdr",
+    hdrs = ["GrVertexChunkArray.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":BufferWriter_hdr",
+        ":GrBuffer_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVertexChunkArray_src",
+    srcs = ["GrVertexChunkArray.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMeshDrawTarget_hdr",
+        ":GrVertexChunkArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVx_hdr",
+    hdrs = ["GrVx.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkVx_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrWaitRenderTask_hdr",
+    hdrs = ["GrWaitRenderTask.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrRenderTask_hdr",
+        ":GrSemaphore_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrWaitRenderTask_src",
+    srcs = ["GrWaitRenderTask.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGpu_hdr",
+        ":GrOpFlushState_hdr",
+        ":GrResourceAllocator_hdr",
+        ":GrWaitRenderTask_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrWindowRectangles_hdr",
+    hdrs = ["GrWindowRectangles.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrNonAtomicRef_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrWindowRectsState_hdr",
+    hdrs = ["GrWindowRectsState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrWindowRectangles_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrWritePixelsRenderTask_hdr",
+    hdrs = ["GrWritePixelsRenderTask.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrRenderTask_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrWritePixelsRenderTask_src",
+    srcs = ["GrWritePixelsRenderTask.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGpu_hdr",
+        ":GrOpFlushState_hdr",
+        ":GrResourceAllocator_hdr",
+        ":GrWritePixelsRenderTask_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrXferProcessor_hdr",
+    hdrs = ["GrXferProcessor.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBlend_hdr",
+        ":GrNonAtomicRef_hdr",
+        ":GrProcessorAnalysis_hdr",
+        ":GrProcessor_hdr",
+        ":GrSurfaceProxyView_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrXferProcessor_src",
+    srcs = ["GrXferProcessor.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrPipeline_hdr",
+        ":GrXferProcessor_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrYUVABackendTextures_src",
+    srcs = ["GrYUVABackendTextures.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrYUVABackendTextures_hdr",
+        "//src/core:SkYUVAInfoLocation_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrYUVATextureProxies_hdr",
+    hdrs = ["GrYUVATextureProxies.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSurfaceProxyView_hdr",
+        ":GrSurfaceProxy_hdr",
+        "//include/core:SkYUVAInfo_hdr",
+        "//src/core:SkYUVAInfoLocation_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrYUVATextureProxies_src",
+    srcs = ["GrYUVATextureProxies.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrYUVATextureProxies_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkGr_hdr",
+    hdrs = ["SkGr.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBlend_hdr",
+        ":GrCaps_hdr",
+        ":GrColor_hdr",
+        ":GrSamplerState_hdr",
+        "//include/core:SkBlender_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkSamplingOptions_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:SkColorData_hdr",
+        "//src/core:SkBlendModePriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGr_src",
+    srcs = ["SkGr.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCaps_hdr",
+        ":GrColorInfo_hdr",
+        ":GrColorSpaceXform_hdr",
+        ":GrGpuResourcePriv_hdr",
+        ":GrPaint_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrRecordingContextPriv_hdr",
+        ":GrTextureProxy_hdr",
+        ":GrXferProcessor_hdr",
+        ":SkGr_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkPixelRef_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkIDChangeListener_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/core:SkBlendModePriv_hdr",
+        "//src/core:SkBlenderBase_hdr",
+        "//src/core:SkColorFilterBase_hdr",
+        "//src/core:SkColorSpacePriv_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/core:SkMaskFilterBase_hdr",
+        "//src/core:SkMessageBus_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/core:SkPaintPriv_hdr",
+        "//src/core:SkResourceCache_hdr",
+        "//src/core:SkRuntimeEffectPriv_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu/effects:GrBicubicEffect_hdr",
+        "//src/gpu/effects:GrBlendFragmentProcessor_hdr",
+        "//src/gpu/effects:GrPorterDuffXferProcessor_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/image:SkImage_Base_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SurfaceContext_hdr",
+    hdrs = ["SurfaceContext.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrColorInfo_hdr",
+        ":GrDataUtils_hdr",
+        ":GrImageInfo_hdr",
+        ":GrPixmap_hdr",
+        ":GrRenderTask_hdr",
+        ":GrSurfaceProxyView_hdr",
+        ":GrSurfaceProxy_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkSamplingOptions_hdr",
+        "//include/core:SkSurface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SurfaceContext_src",
+    srcs = ["SurfaceContext.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrClientMappedBufferManager_hdr",
+        ":GrColorSpaceXform_hdr",
+        ":GrDataUtils_hdr",
+        ":GrDirectContextPriv_hdr",
+        ":GrDrawingManager_hdr",
+        ":GrGpu_hdr",
+        ":GrImageInfo_hdr",
+        ":GrProxyProvider_hdr",
+        ":GrRecordingContextPriv_hdr",
+        ":GrResourceProvider_hdr",
+        ":GrTracing_hdr",
+        ":SkGr_hdr",
+        ":SurfaceContext_hdr",
+        ":SurfaceFillContext_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkAutoPixmapStorage_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/core:SkYUVMath_hdr",
+        "//src/gpu/effects:GrBicubicEffect_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SurfaceFillContext_hdr",
+    hdrs = ["SurfaceFillContext.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SurfaceContext_hdr"],
+)
+
+generated_cc_atom(
+    name = "SurfaceFillContext_src",
+    srcs = ["SurfaceFillContext.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SurfaceFillContext_hdr",
+        "//src/gpu/effects:GrMatrixEffect_hdr",
+    ],
 )
diff --git a/src/gpu/d3d/BUILD.bazel b/src/gpu/d3d/BUILD.bazel
new file mode 100644
index 0000000..4c80608
--- /dev/null
+++ b/src/gpu/d3d/BUILD.bazel
@@ -0,0 +1,638 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrD3DAMDMemoryAllocator_hdr",
+    hdrs = ["GrD3DAMDMemoryAllocator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DAMDMemoryAllocator_src",
+    srcs = ["GrD3DAMDMemoryAllocator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DAMDMemoryAllocator_hdr",
+        ":GrD3DUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DAttachment_hdr",
+    hdrs = ["GrD3DAttachment.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DDescriptorHeap_hdr",
+        ":GrD3DTextureResource_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/gpu:GrAttachment_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DAttachment_src",
+    srcs = ["GrD3DAttachment.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DAttachment_hdr",
+        ":GrD3DGpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DBuffer_hdr",
+    hdrs = ["GrD3DBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/gpu:GrGpuBuffer_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DBuffer_src",
+    srcs = ["GrD3DBuffer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DBuffer_hdr",
+        ":GrD3DGpu_hdr",
+        ":GrD3DUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DCaps_hdr",
+    hdrs = ["GrD3DCaps.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DAttachment_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/gpu:GrCaps_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DCaps_src",
+    srcs = ["GrD3DCaps.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DCaps_hdr",
+        ":GrD3DGpu_hdr",
+        ":GrD3DRenderTarget_hdr",
+        ":GrD3DTexture_hdr",
+        ":GrD3DUtil_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/gpu/d3d:GrD3DBackendContext_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/core:SkCompressedDataUtils_hdr",
+        "//src/gpu:GrBackendUtils_hdr",
+        "//src/gpu:GrProgramDesc_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DCommandList_hdr",
+    hdrs = ["GrD3DCommandList.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DRootSignature_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+        "//src/gpu:GrRingBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DCommandList_src",
+    srcs = ["GrD3DCommandList.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DAttachment_hdr",
+        ":GrD3DBuffer_hdr",
+        ":GrD3DCommandList_hdr",
+        ":GrD3DCommandSignature_hdr",
+        ":GrD3DGpu_hdr",
+        ":GrD3DPipeline_hdr",
+        ":GrD3DRenderTarget_hdr",
+        ":GrD3DTextureResource_hdr",
+        ":GrD3DTexture_hdr",
+        ":GrD3DUtil_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrScissorState_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DCommandSignature_hdr",
+    hdrs = ["GrD3DCommandSignature.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DCommandSignature_src",
+    srcs = ["GrD3DCommandSignature.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DCommandSignature_hdr",
+        ":GrD3DGpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DCpuDescriptorManager_hdr",
+    hdrs = ["GrD3DCpuDescriptorManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrD3DDescriptorHeap_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrD3DCpuDescriptorManager_src",
+    srcs = ["GrD3DCpuDescriptorManager.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DCpuDescriptorManager_hdr",
+        ":GrD3DGpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DDescriptorHeap_hdr",
+    hdrs = ["GrD3DDescriptorHeap.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+        "//src/utils:SkBitSet_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DDescriptorHeap_src",
+    srcs = ["GrD3DDescriptorHeap.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DDescriptorHeap_hdr",
+        ":GrD3DGpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DDescriptorTableManager_hdr",
+    hdrs = ["GrD3DDescriptorTableManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrD3DDescriptorHeap_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrD3DDescriptorTableManager_src",
+    srcs = ["GrD3DDescriptorTableManager.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DDescriptorTableManager_hdr",
+        ":GrD3DGpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DGpu_hdr",
+    hdrs = ["GrD3DGpu.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DCaps_hdr",
+        ":GrD3DCommandList_hdr",
+        ":GrD3DResourceProvider_hdr",
+        "//include/private:SkDeque_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrSemaphore_hdr",
+        "//src/gpu:GrStagingBufferManager_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DGpu_src",
+    srcs = ["GrD3DGpu.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DAMDMemoryAllocator_hdr",
+        ":GrD3DAttachment_hdr",
+        ":GrD3DBuffer_hdr",
+        ":GrD3DCaps_hdr",
+        ":GrD3DGpu_hdr",
+        ":GrD3DOpsRenderPass_hdr",
+        ":GrD3DSemaphore_hdr",
+        ":GrD3DTextureRenderTarget_hdr",
+        ":GrD3DTexture_hdr",
+        ":GrD3DUtil_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu/d3d:GrD3DBackendContext_hdr",
+        "//src/core:SkConvertPixels_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/gpu:GrBackendUtils_hdr",
+        "//src/gpu:GrDataUtils_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:GrThreadSafePipelineBuilder_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DOpsRenderPass_hdr",
+    hdrs = ["GrD3DOpsRenderPass.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:GrOpsRenderPass_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DOpsRenderPass_src",
+    srcs = ["GrD3DOpsRenderPass.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DBuffer_hdr",
+        ":GrD3DCommandSignature_hdr",
+        ":GrD3DGpu_hdr",
+        ":GrD3DOpsRenderPass_hdr",
+        ":GrD3DPipelineStateBuilder_hdr",
+        ":GrD3DPipelineState_hdr",
+        ":GrD3DRenderTarget_hdr",
+        ":GrD3DTexture_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/gpu:GrBackendUtils_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrProgramDesc_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DPipelineStateBuilder_hdr",
+    hdrs = ["GrD3DPipelineStateBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DPipelineState_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrSPIRVUniformHandler_hdr",
+        "//src/gpu:GrSPIRVVaryingHandler_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DPipelineStateBuilder_src",
+    srcs = ["GrD3DPipelineStateBuilder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DGpu_hdr",
+        ":GrD3DPipelineStateBuilder_hdr",
+        ":GrD3DPipeline_hdr",
+        ":GrD3DRenderTarget_hdr",
+        ":GrD3DRootSignature_hdr",
+        ":GrD3DUtil_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrAutoLocaleSetter_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrPersistentCacheUtils_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrShaderUtils_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DPipelineStateDataManager_hdr",
+    hdrs = ["GrD3DPipelineStateDataManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/gpu:GrSPIRVUniformHandler_hdr",
+        "//src/gpu:GrUniformDataManager_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DPipelineStateDataManager_src",
+    srcs = ["GrD3DPipelineStateDataManager.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DGpu_hdr",
+        ":GrD3DPipelineStateDataManager_hdr",
+        ":GrD3DResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DPipelineState_hdr",
+    hdrs = ["GrD3DPipelineState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DPipelineStateDataManager_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DPipelineState_src",
+    srcs = ["GrD3DPipelineState.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DBuffer_hdr",
+        ":GrD3DGpu_hdr",
+        ":GrD3DPipelineState_hdr",
+        ":GrD3DPipeline_hdr",
+        ":GrD3DRootSignature_hdr",
+        ":GrD3DTexture_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DPipeline_hdr",
+    hdrs = ["GrD3DPipeline.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DRenderTarget_hdr",
+    hdrs = ["GrD3DRenderTarget.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DDescriptorHeap_hdr",
+        ":GrD3DResourceProvider_hdr",
+        ":GrD3DTextureResource_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DRenderTarget_src",
+    srcs = ["GrD3DRenderTarget.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DGpu_hdr",
+        ":GrD3DRenderTarget_hdr",
+        ":GrD3DResourceProvider_hdr",
+        ":GrD3DTextureResource_hdr",
+        ":GrD3DUtil_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DResourceProvider_hdr",
+    hdrs = ["GrD3DResourceProvider.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DCommandSignature_hdr",
+        ":GrD3DCpuDescriptorManager_hdr",
+        ":GrD3DDescriptorTableManager_hdr",
+        ":GrD3DPipeline_hdr",
+        ":GrD3DRootSignature_hdr",
+        ":GrD3DUtil_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTHash_hdr",
+        "//src/core:SkLRUCache_hdr",
+        "//src/gpu:GrProgramDesc_hdr",
+        "//src/gpu:GrRingBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DResourceProvider_src",
+    srcs = ["GrD3DResourceProvider.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DBuffer_hdr",
+        ":GrD3DCommandList_hdr",
+        ":GrD3DGpu_hdr",
+        ":GrD3DPipelineStateBuilder_hdr",
+        ":GrD3DPipelineState_hdr",
+        ":GrD3DRenderTarget_hdr",
+        ":GrD3DResourceProvider_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/private:SkOpts_spi_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DResourceState_hdr",
+    hdrs = ["GrD3DResourceState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DRootSignature_hdr",
+    hdrs = ["GrD3DRootSignature.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DRootSignature_src",
+    srcs = ["GrD3DRootSignature.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DGpu_hdr",
+        ":GrD3DRootSignature_hdr",
+        "//src/gpu:GrSPIRVUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DSemaphore_hdr",
+    hdrs = ["GrD3DSemaphore.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrBackendSemaphore_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:GrSemaphore_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DSemaphore_src",
+    srcs = ["GrD3DSemaphore.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DGpu_hdr",
+        ":GrD3DSemaphore_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DTextureRenderTarget_hdr",
+    hdrs = ["GrD3DTextureRenderTarget.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DRenderTarget_hdr",
+        ":GrD3DTexture_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DTextureRenderTarget_src",
+    srcs = ["GrD3DTextureRenderTarget.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DGpu_hdr",
+        ":GrD3DTextureRenderTarget_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DTextureResource_hdr",
+    hdrs = ["GrD3DTextureResource.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DResourceState_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DTextureResource_src",
+    srcs = ["GrD3DTextureResource.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DAMDMemoryAllocator_hdr",
+        ":GrD3DGpu_hdr",
+        ":GrD3DTextureResource_hdr",
+        "//src/gpu:GrGpuResourcePriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DTexture_hdr",
+    hdrs = ["GrD3DTexture.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DDescriptorHeap_hdr",
+        ":GrD3DTextureResource_hdr",
+        "//src/core:SkLRUCache_hdr",
+        "//src/gpu:GrSamplerState_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DTexture_src",
+    srcs = ["GrD3DTexture.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DGpu_hdr",
+        ":GrD3DTexture_hdr",
+        ":GrD3DUtil_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DTypesMinimal_src",
+    srcs = ["GrD3DTypesMinimal.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DResourceState_hdr",
+        ":GrD3DTypesPriv_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//include/private:GrD3DTypesMinimal_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DTypesPriv_hdr",
+    hdrs = ["GrD3DTypesPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/gpu/d3d:GrD3DTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrD3DTypesPriv_src",
+    srcs = ["GrD3DTypesPriv.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrD3DTypesPriv_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrD3DUtil_hdr",
+    hdrs = ["GrD3DUtil.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImage_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/gpu/d3d:GrD3DTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrD3DUtil_src",
+    srcs = ["GrD3DUtil.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrD3DGpu_hdr",
+        ":GrD3DUtil_hdr",
+        "//src/gpu:GrDataUtils_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+    ],
+)
diff --git a/src/gpu/dawn/BUILD.bazel b/src/gpu/dawn/BUILD.bazel
new file mode 100644
index 0000000..c9e5d06
--- /dev/null
+++ b/src/gpu/dawn/BUILD.bazel
@@ -0,0 +1,296 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrDawnAttachment_hdr",
+    hdrs = ["GrDawnAttachment.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu:GrAttachment_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrDawnAttachment_src",
+    srcs = ["GrDawnAttachment.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnAttachment_hdr",
+        ":GrDawnGpu_hdr",
+        ":GrDawnUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnBuffer_hdr",
+    hdrs = ["GrDawnBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu:GrGpuBuffer_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrDawnBuffer_src",
+    srcs = ["GrDawnBuffer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnBuffer_hdr",
+        ":GrDawnGpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnCaps_hdr",
+    hdrs = ["GrDawnCaps.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnUtil_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//src/gpu:GrCaps_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnCaps_src",
+    srcs = ["GrDawnCaps.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnCaps_hdr",
+        "//src/gpu:GrProgramDesc_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnGpu_hdr",
+    hdrs = ["GrDawnGpu.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnRingBuffer_hdr",
+        "//src/core:SkLRUCache_hdr",
+        "//src/gpu:GrFinishCallbacks_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrProgramDesc_hdr",
+        "//src/gpu:GrStagingBufferManager_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnGpu_src",
+    srcs = ["GrDawnGpu.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnAttachment_hdr",
+        ":GrDawnBuffer_hdr",
+        ":GrDawnCaps_hdr",
+        ":GrDawnGpu_hdr",
+        ":GrDawnOpsRenderPass_hdr",
+        ":GrDawnProgramBuilder_hdr",
+        ":GrDawnRenderTarget_hdr",
+        ":GrDawnTexture_hdr",
+        ":GrDawnUtil_hdr",
+        "//include/gpu:GrBackendSemaphore_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/core:SkConvertPixels_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/gpu:GrDataUtils_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrGpuResourceCacheAccess_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrSemaphore_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:GrThreadSafePipelineBuilder_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnOpsRenderPass_hdr",
+    hdrs = ["GrDawnOpsRenderPass.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrTypes_hdr",
+        "//src/gpu:GrColor_hdr",
+        "//src/gpu:GrOpsRenderPass_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnOpsRenderPass_src",
+    srcs = ["GrDawnOpsRenderPass.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnAttachment_hdr",
+        ":GrDawnBuffer_hdr",
+        ":GrDawnGpu_hdr",
+        ":GrDawnOpsRenderPass_hdr",
+        ":GrDawnProgramBuilder_hdr",
+        ":GrDawnRenderTarget_hdr",
+        ":GrDawnTexture_hdr",
+        ":GrDawnUtil_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnProgramBuilder_hdr",
+    hdrs = ["GrDawnProgramBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnProgramDataManager_hdr",
+        "//src/gpu:GrSPIRVUniformHandler_hdr",
+        "//src/gpu:GrSPIRVVaryingHandler_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnProgramBuilder_src",
+    srcs = ["GrDawnProgramBuilder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnGpu_hdr",
+        ":GrDawnProgramBuilder_hdr",
+        ":GrDawnTexture_hdr",
+        "//src/gpu:GrAutoLocaleSetter_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrShaderUtils_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnProgramDataManager_hdr",
+    hdrs = ["GrDawnProgramDataManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnRingBuffer_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/gpu:GrSPIRVUniformHandler_hdr",
+        "//src/gpu:GrUniformDataManager_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnProgramDataManager_src",
+    srcs = ["GrDawnProgramDataManager.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnGpu_hdr",
+        ":GrDawnProgramDataManager_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnRenderTarget_hdr",
+    hdrs = ["GrDawnRenderTarget.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/dawn:GrDawnTypes_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnRenderTarget_src",
+    srcs = ["GrDawnRenderTarget.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnGpu_hdr",
+        ":GrDawnRenderTarget_hdr",
+        ":GrDawnUtil_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnRingBuffer_hdr",
+    hdrs = ["GrDawnRingBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrDawnBuffer_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrDawnRingBuffer_src",
+    srcs = ["GrDawnRingBuffer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnGpu_hdr",
+        ":GrDawnRingBuffer_hdr",
+        ":GrDawnUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnTextureRenderTarget_hdr",
+    hdrs = ["GrDawnTextureRenderTarget.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnRenderTarget_hdr",
+        ":GrDawnTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnTextureRenderTarget_src",
+    srcs = ["GrDawnTextureRenderTarget.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnGpu_hdr",
+        ":GrDawnTextureRenderTarget_hdr",
+        "//include/core:SkTraceMemoryDump_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnTexture_hdr",
+    hdrs = ["GrDawnTexture.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu:GrTexture_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrDawnTexture_src",
+    srcs = ["GrDawnTexture.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDawnGpu_hdr",
+        ":GrDawnTextureRenderTarget_hdr",
+        ":GrDawnTexture_hdr",
+        ":GrDawnUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDawnTypesPriv_src",
+    srcs = ["GrDawnTypesPriv.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:GrDawnTypesPriv_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrDawnUtil_hdr",
+    hdrs = ["GrDawnUtil.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:GrTypesPriv_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrDawnUtil_src",
+    srcs = ["GrDawnUtil.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrDawnUtil_hdr"],
+)
diff --git a/src/gpu/effects/BUILD.bazel b/src/gpu/effects/BUILD.bazel
new file mode 100644
index 0000000..f07b69d
--- /dev/null
+++ b/src/gpu/effects/BUILD.bazel
@@ -0,0 +1,556 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrAtlasedShaderHelpers_hdr",
+    hdrs = ["GrAtlasedShaderHelpers.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/gpu:GrDrawOpAtlas_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBezierEffect_hdr",
+    hdrs = ["GrBezierEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:GrTypesPriv_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBezierEffect_src",
+    srcs = ["GrBezierEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBezierEffect_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBicubicEffect_hdr",
+    hdrs = ["GrBicubicEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu:GrFragmentProcessor_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrBicubicEffect_src",
+    srcs = ["GrBicubicEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBicubicEffect_hdr",
+        ":GrMatrixEffect_hdr",
+        ":GrTextureEffect_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+        "//src/shaders:SkImageShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBitmapTextGeoProc_hdr",
+    hdrs = ["GrBitmapTextGeoProc.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBitmapTextGeoProc_src",
+    srcs = ["GrBitmapTextGeoProc.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAtlasedShaderHelpers_hdr",
+        ":GrBitmapTextGeoProc_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBlendFragmentProcessor_hdr",
+    hdrs = ["GrBlendFragmentProcessor.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBlendMode_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrBlendFragmentProcessor_src",
+    srcs = ["GrBlendFragmentProcessor.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrBlendFragmentProcessor_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/glsl:GrGLSLBlend_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrConvexPolyEffect_hdr",
+    hdrs = ["GrConvexPolyEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrConvexPolyEffect_src",
+    srcs = ["GrConvexPolyEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrConvexPolyEffect_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+        "//src/sksl/dsl/priv:DSLFPs_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrCoverageSetOpXP_hdr",
+    hdrs = ["GrCoverageSetOpXP.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRegion_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrCoverageSetOpXP_src",
+    srcs = ["GrCoverageSetOpXP.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCoverageSetOpXP_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrColor_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+        "//src/gpu/glsl:GrGLSLBlend_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrCustomXfermode_hdr",
+    hdrs = ["GrCustomXfermode.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBlendMode_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrCustomXfermode_src",
+    srcs = ["GrCustomXfermode.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrCustomXfermode_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrProcessor_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+        "//src/gpu/glsl:GrGLSLBlend_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDisableColorXP_hdr",
+    hdrs = ["GrDisableColorXP.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDisableColorXP_src",
+    srcs = ["GrDisableColorXP.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDisableColorXP_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrProcessor_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDistanceFieldGeoProc_hdr",
+    hdrs = ["GrDistanceFieldGeoProc.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDistanceFieldGeoProc_src",
+    srcs = ["GrDistanceFieldGeoProc.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAtlasedShaderHelpers_hdr",
+        ":GrDistanceFieldGeoProc_hdr",
+        "//src/core:SkDistanceFieldGen_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGaussianConvolutionFragmentProcessor_hdr",
+    hdrs = ["GrGaussianConvolutionFragmentProcessor.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu:GrFragmentProcessor_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrGaussianConvolutionFragmentProcessor_src",
+    srcs = ["GrGaussianConvolutionFragmentProcessor.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGaussianConvolutionFragmentProcessor_hdr",
+        ":GrTextureEffect_hdr",
+        "//src/core:SkGpuBlurUtils_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+        "//src/sksl/dsl/priv:DSLFPs_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMatrixConvolutionEffect_hdr",
+    hdrs = ["GrMatrixConvolutionEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu:GrFragmentProcessor_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrMatrixConvolutionEffect_src",
+    srcs = ["GrMatrixConvolutionEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMatrixConvolutionEffect_hdr",
+        ":GrTextureEffect_hdr",
+        "//include/private:SkHalf_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:GrThreadSafeCache_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMatrixEffect_hdr",
+    hdrs = ["GrMatrixEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkM44_hdr",
+        "//include/core:SkTypes_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMatrixEffect_src",
+    srcs = ["GrMatrixEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMatrixEffect_hdr",
+        ":GrTextureEffect_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+        "//src/sksl:SkSLUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrModulateAtlasCoverageEffect_hdr",
+    hdrs = ["GrModulateAtlasCoverageEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu:GrFragmentProcessor_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrModulateAtlasCoverageEffect_src",
+    srcs = ["GrModulateAtlasCoverageEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrModulateAtlasCoverageEffect_hdr",
+        ":GrTextureEffect_hdr",
+        "//src/gpu:GrDynamicAtlas_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrOvalEffect_hdr",
+    hdrs = ["GrOvalEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrOvalEffect_src",
+    srcs = ["GrOvalEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOvalEffect_hdr",
+        "//include/core:SkRect_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrPorterDuffXferProcessor_hdr",
+    hdrs = ["GrPorterDuffXferProcessor.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBlendMode_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:SkMacros_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrPorterDuffXferProcessor_src",
+    srcs = ["GrPorterDuffXferProcessor.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrPorterDuffXferProcessor_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/gpu:GrBlend_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrProcessorAnalysis_hdr",
+        "//src/gpu:GrProcessor_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+        "//src/gpu/glsl:GrGLSLBlend_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRRectEffect_hdr",
+    hdrs = ["GrRRectEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRRectEffect_src",
+    srcs = ["GrRRectEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrConvexPolyEffect_hdr",
+        ":GrOvalEffect_hdr",
+        ":GrRRectEffect_hdr",
+        "//src/core:SkRRectPriv_hdr",
+        "//src/core:SkTLazy_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrShadowGeoProc_hdr",
+    hdrs = ["GrShadowGeoProc.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrShadowGeoProc_src",
+    srcs = ["GrShadowGeoProc.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrShadowGeoProc_hdr",
+        "//src/gpu:GrSurfaceProxyView_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSkSLFP_hdr",
+    hdrs = ["GrSkSLFP.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/private:SkVx_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSkSLFP_src",
+    srcs = ["GrSkSLFP.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSkSLFP_hdr",
+        "//include/effects:SkOverdrawColorFilter_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//include/private:GrContext_Base_hdr",
+        "//include/private:SkSLString_hdr",
+        "//src/core:SkColorFilterBase_hdr",
+        "//src/core:SkRuntimeEffectPriv_hdr",
+        "//src/core:SkVM_hdr",
+        "//src/gpu:GrBaseContextPriv_hdr",
+        "//src/gpu:GrColorInfo_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+        "//src/sksl:SkSLUtil_hdr",
+        "//src/sksl/codegen:SkSLPipelineStageCodeGenerator_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTextureEffect_hdr",
+    hdrs = ["GrTextureEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrSurfaceProxyView_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTextureEffect_src",
+    srcs = ["GrTextureEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMatrixEffect_hdr",
+        ":GrTextureEffect_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+        "//src/sksl:SkSLUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrYUVtoRGBEffect_hdr",
+    hdrs = ["GrYUVtoRGBEffect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkYUVAInfo_hdr",
+        "//src/core:SkYUVAInfoLocation_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrYUVtoRGBEffect_src",
+    srcs = ["GrYUVtoRGBEffect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMatrixEffect_hdr",
+        ":GrTextureEffect_hdr",
+        ":GrYUVtoRGBEffect_hdr",
+        "//include/core:SkYUVAInfo_hdr",
+        "//src/core:SkYUVMath_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:GrYUVATextureProxies_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+        "//src/sksl:SkSLUtil_hdr",
+    ],
+)
diff --git a/src/gpu/geometry/BUILD.bazel b/src/gpu/geometry/BUILD.bazel
new file mode 100644
index 0000000..d959303
--- /dev/null
+++ b/src/gpu/geometry/BUILD.bazel
@@ -0,0 +1,227 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrAAConvexTessellator_hdr",
+    hdrs = ["GrAAConvexTessellator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//src/core:SkPointPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrAAConvexTessellator_src",
+    srcs = ["GrAAConvexTessellator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAAConvexTessellator_hdr",
+        ":GrPathUtils_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkGeometry_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrAATriangulator_hdr",
+    hdrs = ["GrAATriangulator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrTriangulator_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrAATriangulator_src",
+    srcs = ["GrAATriangulator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAATriangulator_hdr",
+        "//src/gpu:GrEagerVertexAllocator_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrInnerFanTriangulator_hdr",
+    hdrs = ["GrInnerFanTriangulator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrTriangulator_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrPathUtils_hdr",
+    hdrs = ["GrPathUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRect_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrVx_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrPathUtils_src",
+    srcs = ["GrPathUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrPathUtils_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//src/core:SkMathPriv_hdr",
+        "//src/core:SkPointPriv_hdr",
+        "//src/core:SkUtils_hdr",
+        "//src/gpu/tessellate:WangsFormula_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrQuadBuffer_hdr",
+    hdrs = ["GrQuadBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrQuad_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrQuadUtils_hdr",
+    hdrs = ["GrQuadUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrQuad_hdr",
+        "//include/private:SkVx_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrQuadUtils_src",
+    srcs = ["GrQuadUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrQuadUtils_hdr",
+        ":GrQuad_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkVx_hdr",
+        "//src/core:SkPathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrQuad_hdr",
+    hdrs = ["GrQuad.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPoint3_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/private:SkVx_hdr",
+        "//src/gpu:BufferWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrQuad_src",
+    srcs = ["GrQuad.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrQuad_hdr",
+        "//include/core:SkMatrix_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrRect_hdr",
+    hdrs = ["GrRect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrShape_hdr",
+    hdrs = ["GrShape.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrShape_src",
+    srcs = ["GrShape.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrShape_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/core:SkRRectPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrStyledShape_hdr",
+    hdrs = ["GrStyledShape.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrShape_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/core:SkTLazy_hdr",
+        "//src/gpu:GrStyle_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrStyledShape_src",
+    srcs = ["GrStyledShape.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrStyledShape_hdr",
+        "//include/private:SkIDChangeListener_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTriangulator_hdr",
+    hdrs = ["GrTriangulator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/private:SkColorData_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/gpu:GrColor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTriangulator_src",
+    srcs = ["GrTriangulator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrPathUtils_hdr",
+        ":GrTriangulator_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/core:SkPointPriv_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrEagerVertexAllocator_hdr",
+    ],
+)
diff --git a/src/gpu/gl/BUILD.bazel b/src/gpu/gl/BUILD.bazel
new file mode 100644
index 0000000..dc8fd70
--- /dev/null
+++ b/src/gpu/gl/BUILD.bazel
@@ -0,0 +1,584 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGLAssembleGLESInterfaceAutogen_src",
+    srcs = ["GrGLAssembleGLESInterfaceAutogen.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLUtil_hdr",
+        "//include/gpu/gl:GrGLAssembleHelpers_hdr",
+        "//include/gpu/gl:GrGLAssembleInterface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLAssembleGLInterfaceAutogen_src",
+    srcs = ["GrGLAssembleGLInterfaceAutogen.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLUtil_hdr",
+        "//include/gpu/gl:GrGLAssembleHelpers_hdr",
+        "//include/gpu/gl:GrGLAssembleInterface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLAssembleHelpers_src",
+    srcs = ["GrGLAssembleHelpers.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLUtil_hdr",
+        "//include/gpu/gl:GrGLAssembleHelpers_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLAssembleInterface_src",
+    srcs = ["GrGLAssembleInterface.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLUtil_hdr",
+        "//include/gpu/gl:GrGLAssembleHelpers_hdr",
+        "//include/gpu/gl:GrGLAssembleInterface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLAssembleWebGLInterfaceAutogen_src",
+    srcs = ["GrGLAssembleWebGLInterfaceAutogen.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLUtil_hdr",
+        "//include/gpu/gl:GrGLAssembleHelpers_hdr",
+        "//include/gpu/gl:GrGLAssembleInterface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLAttachment_hdr",
+    hdrs = ["GrGLAttachment.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/gl:GrGLInterface_hdr",
+        "//src/gpu:GrAttachment_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLAttachment_src",
+    srcs = ["GrGLAttachment.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLAttachment_hdr",
+        ":GrGLGpu_hdr",
+        "//include/core:SkTraceMemoryDump_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLBuffer_hdr",
+    hdrs = ["GrGLBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/gl:GrGLTypes_hdr",
+        "//src/gpu:GrGpuBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLBuffer_src",
+    srcs = ["GrGLBuffer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLBuffer_hdr",
+        ":GrGLCaps_hdr",
+        ":GrGLGpu_hdr",
+        "//include/core:SkTraceMemoryDump_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrGpuResourcePriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLCaps_hdr",
+    hdrs = ["GrGLCaps.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLAttachment_hdr",
+        ":GrGLUtil_hdr",
+        "//include/private:GrGLTypesPriv_hdr",
+        "//include/private:SkChecksum_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTHash_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrSwizzle_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLCaps_src",
+    srcs = ["GrGLCaps.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLCaps_hdr",
+        ":GrGLContext_hdr",
+        ":GrGLRenderTarget_hdr",
+        ":GrGLTexture_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//src/core:SkCompressedDataUtils_hdr",
+        "//src/core:SkMathPriv_hdr",
+        "//src/core:SkTSearch_hdr",
+        "//src/gpu:GrBackendUtils_hdr",
+        "//src/gpu:GrProgramDesc_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrSurfaceProxyPriv_hdr",
+        "//src/gpu:GrTextureProxyPriv_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/utils:SkJSONWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLContext_hdr",
+    hdrs = ["GrGLContext.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLCaps_hdr",
+        ":GrGLUtil_hdr",
+        "//include/gpu/gl:GrGLExtensions_hdr",
+        "//include/gpu/gl:GrGLInterface_hdr",
+        "//src/gpu/glsl:GrGLSL_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLContext_src",
+    srcs = ["GrGLContext.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLContext_hdr",
+        ":GrGLGLSL_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLDefines_hdr",
+    hdrs = ["GrGLDefines.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "GrGLExtensions_src",
+    srcs = ["GrGLExtensions.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLDefines_hdr",
+        ":GrGLUtil_hdr",
+        "//include/gpu/gl:GrGLExtensions_hdr",
+        "//src/core:SkTSearch_hdr",
+        "//src/core:SkTSort_hdr",
+        "//src/utils:SkJSONWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLGLSL_hdr",
+    hdrs = ["GrGLGLSL.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu/glsl:GrGLSL_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrGLGLSL_src",
+    srcs = ["GrGLGLSL.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLGLSL_hdr",
+        ":GrGLUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLGpuProgramCache_src",
+    srcs = ["GrGLGpuProgramCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLGpu_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrProcessor_hdr",
+        "//src/gpu:GrProgramDesc_hdr",
+        "//src/gpu/gl/builders:GrGLProgramBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLGpu_hdr",
+    hdrs = ["GrGLGpu.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLAttachment_hdr",
+        ":GrGLContext_hdr",
+        ":GrGLProgram_hdr",
+        ":GrGLRenderTarget_hdr",
+        ":GrGLTexture_hdr",
+        ":GrGLVertexArray_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/core:SkLRUCache_hdr",
+        "//src/gpu:GrFinishCallbacks_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrNativeRect_hdr",
+        "//src/gpu:GrProgramDesc_hdr",
+        "//src/gpu:GrThreadSafePipelineBuilder_hdr",
+        "//src/gpu:GrWindowRectsState_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLGpu_src",
+    srcs = ["GrGLGpu.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLAttachment_hdr",
+        ":GrGLBuffer_hdr",
+        ":GrGLGpu_hdr",
+        ":GrGLOpsRenderPass_hdr",
+        ":GrGLSemaphore_hdr",
+        ":GrGLTextureRenderTarget_hdr",
+        "//include/core:SkPixmap_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/gpu:GrBackendSemaphore_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:SkHalf_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/core:SkCompressedDataUtils_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/core:SkScopeExit_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrBackendUtils_hdr",
+        "//src/gpu:GrCpuBuffer_hdr",
+        "//src/gpu:GrDataUtils_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrGpuResourcePriv_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrSurfaceProxyPriv_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu/gl/builders:GrGLShaderStringBuilder_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/utils:SkJSONWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLInterfaceAutogen_src",
+    srcs = ["GrGLInterfaceAutogen.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLUtil_hdr",
+        "//include/gpu/gl:GrGLExtensions_hdr",
+        "//include/gpu/gl:GrGLInterface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLMakeNativeInterface_none_src",
+    srcs = ["GrGLMakeNativeInterface_none.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/gpu/gl:GrGLInterface_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrGLOpsRenderPass_hdr",
+    hdrs = ["GrGLOpsRenderPass.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLGpu_hdr",
+        ":GrGLRenderTarget_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrOpsRenderPass_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLOpsRenderPass_src",
+    srcs = ["GrGLOpsRenderPass.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLOpsRenderPass_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLProgramDataManager_hdr",
+    hdrs = ["GrGLProgramDataManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/gl:GrGLTypes_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/core:SkTBlockList_hdr",
+        "//src/gpu:GrShaderVar_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLProgramDataManager_src",
+    srcs = ["GrGLProgramDataManager.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLGpu_hdr",
+        ":GrGLProgramDataManager_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLProgram_hdr",
+    hdrs = ["GrGLProgram.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLProgramDataManager_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLProgram_src",
+    srcs = ["GrGLProgram.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLBuffer_hdr",
+        ":GrGLGpu_hdr",
+        ":GrGLProgram_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrProcessor_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLRenderTarget_hdr",
+    hdrs = ["GrGLRenderTarget.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLDefines_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLRenderTarget_src",
+    srcs = ["GrGLRenderTarget.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLGpu_hdr",
+        ":GrGLRenderTarget_hdr",
+        ":GrGLUtil_hdr",
+        "//include/core:SkTraceMemoryDump_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/gpu:GrBackendUtils_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrGpuResourcePriv_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSemaphore_hdr",
+    hdrs = ["GrGLSemaphore.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrBackendSemaphore_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:GrSemaphore_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSemaphore_src",
+    srcs = ["GrGLSemaphore.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLGpu_hdr",
+        ":GrGLSemaphore_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLTextureRenderTarget_hdr",
+    hdrs = ["GrGLTextureRenderTarget.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLRenderTarget_hdr",
+        ":GrGLTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLTextureRenderTarget_src",
+    srcs = ["GrGLTextureRenderTarget.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLGpu_hdr",
+        ":GrGLTextureRenderTarget_hdr",
+        "//include/core:SkTraceMemoryDump_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLTexture_hdr",
+    hdrs = ["GrGLTexture.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLUtil_hdr",
+        "//include/private:GrGLTypesPriv_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLTexture_src",
+    srcs = ["GrGLTexture.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLGpu_hdr",
+        ":GrGLTexture_hdr",
+        "//include/core:SkTraceMemoryDump_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrSemaphore_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLTypesPriv_src",
+    srcs = ["GrGLTypesPriv.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLDefines_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/private:GrGLTypesPriv_hdr",
+        "//src/gpu:GrSwizzle_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLUniformHandler_hdr",
+    hdrs = ["GrGLUniformHandler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLUniformHandler_src",
+    srcs = ["GrGLUniformHandler.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLCaps_hdr",
+        ":GrGLGpu_hdr",
+        ":GrGLUniformHandler_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu/gl/builders:GrGLProgramBuilder_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLUtil_hdr",
+    hdrs = ["GrGLUtil.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLDefines_hdr",
+        "//include/gpu/gl:GrGLInterface_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//src/gpu:GrDataUtils_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLUtil_src",
+    srcs = ["GrGLUtil.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLUtil_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:GrDataUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLVaryingHandler_hdr",
+    hdrs = ["GrGLVaryingHandler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLProgramDataManager_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLVertexArray_hdr",
+    hdrs = ["GrGLVertexArray.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLDefines_hdr",
+        "//include/gpu/gl:GrGLTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/gpu:GrGpuResource_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLVertexArray_src",
+    srcs = ["GrGLVertexArray.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLBuffer_hdr",
+        ":GrGLGpu_hdr",
+        ":GrGLVertexArray_hdr",
+        "//src/gpu:GrCpuBuffer_hdr",
+    ],
+)
diff --git a/src/gpu/gl/android/BUILD.bazel b/src/gpu/gl/android/BUILD.bazel
new file mode 100644
index 0000000..9a088f2
--- /dev/null
+++ b/src/gpu/gl/android/BUILD.bazel
@@ -0,0 +1,11 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGLMakeNativeInterface_android_src",
+    srcs = ["GrGLMakeNativeInterface_android.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/gpu/gl/egl:GrGLMakeEGLInterface_src",
+        "//src/gpu/gl/egl:GrGLMakeNativeInterface_egl_src",
+    ],
+)
diff --git a/src/gpu/gl/builders/BUILD.bazel b/src/gpu/gl/builders/BUILD.bazel
new file mode 100644
index 0000000..077c5dc
--- /dev/null
+++ b/src/gpu/gl/builders/BUILD.bazel
@@ -0,0 +1,75 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGLProgramBuilder_hdr",
+    hdrs = ["GrGLProgramBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu/gl:GrGLProgramDataManager_hdr",
+        "//src/gpu/gl:GrGLProgram_hdr",
+        "//src/gpu/gl:GrGLUniformHandler_hdr",
+        "//src/gpu/gl:GrGLVaryingHandler_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLProgramBuilder_src",
+    srcs = ["GrGLProgramBuilder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLProgramBuilder_hdr",
+        ":GrGLShaderStringBuilder_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/core:SkATrace_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrAutoLocaleSetter_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrPersistentCacheUtils_hdr",
+        "//src/gpu:GrProgramDesc_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrShaderUtils_hdr",
+        "//src/gpu:GrSwizzle_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+        "//src/gpu/gl:GrGLGpu_hdr",
+        "//src/gpu/gl:GrGLProgram_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLShaderStringBuilder_hdr",
+    hdrs = ["GrGLShaderStringBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu/gl:GrGLContext_hdr",
+        "//src/sksl/codegen:SkSLGLSLCodeGenerator_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLShaderStringBuilder_src",
+    srcs = ["GrGLShaderStringBuilder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLShaderStringBuilder_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrShaderUtils_hdr",
+        "//src/gpu/gl:GrGLGpu_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl/codegen:SkSLGLSLCodeGenerator_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+    ],
+)
diff --git a/src/gpu/gl/egl/BUILD.bazel b/src/gpu/gl/egl/BUILD.bazel
new file mode 100644
index 0000000..573ca14
--- /dev/null
+++ b/src/gpu/gl/egl/BUILD.bazel
@@ -0,0 +1,22 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGLMakeEGLInterface_src",
+    srcs = ["GrGLMakeEGLInterface.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/gl:GrGLAssembleInterface_hdr",
+        "//include/gpu/gl:GrGLInterface_hdr",
+        "//src/gpu/gl:GrGLUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLMakeNativeInterface_egl_src",
+    srcs = ["GrGLMakeNativeInterface_egl.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/gl:GrGLInterface_hdr",
+        "//include/gpu/gl/egl:GrGLMakeEGLInterface_hdr",
+    ],
+)
diff --git a/src/gpu/gl/glfw/BUILD.bazel b/src/gpu/gl/glfw/BUILD.bazel
new file mode 100644
index 0000000..13ae7a4
--- /dev/null
+++ b/src/gpu/gl/glfw/BUILD.bazel
@@ -0,0 +1,12 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGLMakeNativeInterface_glfw_src",
+    srcs = ["GrGLMakeNativeInterface_glfw.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/gl:GrGLAssembleInterface_hdr",
+        "//include/gpu/gl:GrGLInterface_hdr",
+        "//src/gpu/gl:GrGLUtil_hdr",
+    ],
+)
diff --git a/src/gpu/gl/glx/BUILD.bazel b/src/gpu/gl/glx/BUILD.bazel
new file mode 100644
index 0000000..81d0c6a
--- /dev/null
+++ b/src/gpu/gl/glx/BUILD.bazel
@@ -0,0 +1,22 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGLMakeGLXInterface_src",
+    srcs = ["GrGLMakeGLXInterface.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/gl:GrGLAssembleInterface_hdr",
+        "//include/gpu/gl:GrGLInterface_hdr",
+        "//src/gpu/gl:GrGLUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLMakeNativeInterface_glx_src",
+    srcs = ["GrGLMakeNativeInterface_glx.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/gl:GrGLInterface_hdr",
+        "//include/gpu/gl/glx:GrGLMakeGLXInterface_hdr",
+    ],
+)
diff --git a/src/gpu/gl/iOS/BUILD.bazel b/src/gpu/gl/iOS/BUILD.bazel
new file mode 100644
index 0000000..20b89e4
--- /dev/null
+++ b/src/gpu/gl/iOS/BUILD.bazel
@@ -0,0 +1,13 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGLMakeNativeInterface_iOS_src",
+    srcs = ["GrGLMakeNativeInterface_iOS.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/gpu/gl:GrGLAssembleInterface_hdr",
+        "//include/gpu/gl:GrGLInterface_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
diff --git a/src/gpu/gl/mac/BUILD.bazel b/src/gpu/gl/mac/BUILD.bazel
new file mode 100644
index 0000000..3bfe2e7
--- /dev/null
+++ b/src/gpu/gl/mac/BUILD.bazel
@@ -0,0 +1,13 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGLMakeNativeInterface_mac_src",
+    srcs = ["GrGLMakeNativeInterface_mac.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/gpu/gl:GrGLAssembleInterface_hdr",
+        "//include/gpu/gl:GrGLInterface_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
diff --git a/src/gpu/gl/webgl/BUILD.bazel b/src/gpu/gl/webgl/BUILD.bazel
new file mode 100644
index 0000000..5ab7527
--- /dev/null
+++ b/src/gpu/gl/webgl/BUILD.bazel
@@ -0,0 +1,11 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGLMakeNativeInterface_webgl_src",
+    srcs = ["GrGLMakeNativeInterface_webgl.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/gl:GrGLAssembleInterface_hdr",
+        "//include/gpu/gl:GrGLInterface_hdr",
+    ],
+)
diff --git a/src/gpu/gl/win/BUILD.bazel b/src/gpu/gl/win/BUILD.bazel
new file mode 100644
index 0000000..a5537ea
--- /dev/null
+++ b/src/gpu/gl/win/BUILD.bazel
@@ -0,0 +1,14 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGLMakeNativeInterface_win_src",
+    srcs = ["GrGLMakeNativeInterface_win.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/gpu/gl:GrGLAssembleInterface_hdr",
+        "//include/gpu/gl:GrGLInterface_hdr",
+        "//src/core:SkLeanWindows_hdr",
+        "//src/gpu/gl:GrGLUtil_hdr",
+    ],
+)
diff --git a/src/gpu/glsl/BUILD.bazel b/src/gpu/glsl/BUILD.bazel
new file mode 100644
index 0000000..4e41a6e
--- /dev/null
+++ b/src/gpu/glsl/BUILD.bazel
@@ -0,0 +1,236 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGLSLBlend_hdr",
+    hdrs = ["GrGLSLBlend.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkBlendMode_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrGLSLBlend_src",
+    srcs = ["GrGLSLBlend.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLBlend_hdr",
+        ":GrGLSLFragmentShaderBuilder_hdr",
+        ":GrGLSLProgramBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLColorSpaceXformHelper_hdr",
+    hdrs = ["GrGLSLColorSpaceXformHelper.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLUniformHandler_hdr",
+        "//src/core:SkColorSpacePriv_hdr",
+        "//src/core:SkColorSpaceXformSteps_hdr",
+        "//src/gpu:GrColorSpaceXform_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLFragmentShaderBuilder_hdr",
+    hdrs = ["GrGLSLFragmentShaderBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLShaderBuilder_hdr",
+        "//src/gpu:GrBlend_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLFragmentShaderBuilder_src",
+    srcs = ["GrGLSLFragmentShaderBuilder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLFragmentShaderBuilder_hdr",
+        ":GrGLSLProgramBuilder_hdr",
+        ":GrGLSLUniformHandler_hdr",
+        ":GrGLSLVarying_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLProgramBuilder_hdr",
+    hdrs = ["GrGLSLProgramBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLFragmentShaderBuilder_hdr",
+        ":GrGLSLProgramDataManager_hdr",
+        ":GrGLSLUniformHandler_hdr",
+        ":GrGLSLVertexGeoBuilder_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLProgramBuilder_src",
+    srcs = ["GrGLSLProgramBuilder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLProgramBuilder_hdr",
+        ":GrGLSLVarying_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl/dsl/priv:DSLFPs_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLProgramDataManager_hdr",
+    hdrs = ["GrGLSLProgramDataManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//src/gpu:GrResourceHandle_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLProgramDataManager_src",
+    srcs = ["GrGLSLProgramDataManager.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLProgramDataManager_hdr",
+        "//include/core:SkM44_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLShaderBuilder_hdr",
+    hdrs = ["GrGLSLShaderBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLUniformHandler_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/private:SkSLStatement_hdr",
+        "//include/private:SkSLString_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//src/core:SkTBlockList_hdr",
+        "//src/gpu:GrShaderVar_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLShaderBuilder_src",
+    srcs = ["GrGLSLShaderBuilder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLBlend_hdr",
+        ":GrGLSLColorSpaceXformHelper_hdr",
+        ":GrGLSLProgramBuilder_hdr",
+        ":GrGLSLShaderBuilder_hdr",
+        "//include/sksl:DSL_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrShaderVar_hdr",
+        "//src/gpu:GrSwizzle_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLUniformHandler_hdr",
+    hdrs = ["GrGLSLUniformHandler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLProgramDataManager_hdr",
+        "//src/gpu:GrShaderVar_hdr",
+        "//src/gpu:GrSwizzle_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLUniformHandler_src",
+    srcs = ["GrGLSLUniformHandler.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLShaderBuilder_hdr",
+        ":GrGLSLUniformHandler_hdr",
+        ":GrGLSL_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLVarying_hdr",
+    hdrs = ["GrGLSLVarying.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLProgramDataManager_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/core:SkTBlockList_hdr",
+        "//src/gpu:GrShaderVar_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLVarying_src",
+    srcs = ["GrGLSLVarying.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLProgramBuilder_hdr",
+        ":GrGLSLVarying_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLVertexGeoBuilder_hdr",
+    hdrs = ["GrGLSLVertexGeoBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLShaderBuilder_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSLVertexGeoBuilder_src",
+    srcs = ["GrGLSLVertexGeoBuilder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGLSLProgramBuilder_hdr",
+        ":GrGLSLVarying_hdr",
+        ":GrGLSLVertexGeoBuilder_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSL_hdr",
+    hdrs = ["GrGLSL.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:GrTypesPriv_hdr",
+        "//src/sksl:SkSLGLSL_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGLSL_src",
+    srcs = ["GrGLSL.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrGLSL_hdr"],
+)
diff --git a/src/gpu/gradients/BUILD.bazel b/src/gpu/gradients/BUILD.bazel
new file mode 100644
index 0000000..5ab0c3f
--- /dev/null
+++ b/src/gpu/gradients/BUILD.bazel
@@ -0,0 +1,63 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrGradientBitmapCache_hdr",
+    hdrs = ["GrGradientBitmapCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkNoncopyable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGradientBitmapCache_src",
+    srcs = ["GrGradientBitmapCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGradientBitmapCache_hdr",
+        "//include/private:SkFloatBits_hdr",
+        "//include/private:SkHalf_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGradientShader_hdr",
+    hdrs = ["GrGradientShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/utils:SkRandom_hdr",
+        "//src/gpu:GrFPArgs_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/shaders/gradients:SkGradientShaderPriv_hdr",
+        "//src/shaders/gradients:SkLinearGradient_hdr",
+        "//src/shaders/gradients:SkRadialGradient_hdr",
+        "//src/shaders/gradients:SkSweepGradient_hdr",
+        "//src/shaders/gradients:SkTwoPointConicalGradient_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrGradientShader_src",
+    srcs = ["GrGradientShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrGradientBitmapCache_hdr",
+        ":GrGradientShader_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkMathPriv_hdr",
+        "//src/core:SkRuntimeEffectPriv_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrColorInfo_hdr",
+        "//src/gpu:GrColor_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrMatrixEffect_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+    ],
+)
diff --git a/src/gpu/mock/BUILD.bazel b/src/gpu/mock/BUILD.bazel
new file mode 100644
index 0000000..fd2e971
--- /dev/null
+++ b/src/gpu/mock/BUILD.bazel
@@ -0,0 +1,135 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrMockAttachment_hdr",
+    hdrs = ["GrMockAttachment.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMockGpu_hdr",
+        "//src/gpu:GrAttachment_hdr",
+        "//src/gpu:GrBackendUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMockBuffer_hdr",
+    hdrs = ["GrMockBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMockGpu_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrGpuBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMockCaps_hdr",
+    hdrs = ["GrMockCaps.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/mock:GrMockTypes_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:SkGr_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMockCaps_src",
+    srcs = ["GrMockCaps.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMockCaps_hdr",
+        "//src/core:SkMathPriv_hdr",
+        "//src/gpu:GrProgramDesc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMockGpu_hdr",
+    hdrs = ["GrMockGpu.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkTHash_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrSemaphore_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMockGpu_src",
+    srcs = ["GrMockGpu.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMockAttachment_hdr",
+        ":GrMockBuffer_hdr",
+        ":GrMockCaps_hdr",
+        ":GrMockGpu_hdr",
+        ":GrMockOpsRenderPass_hdr",
+        ":GrMockTexture_hdr",
+        "//src/gpu:GrThreadSafePipelineBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMockOpTarget_hdr",
+    hdrs = ["GrMockOpTarget.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/gpu:GrAppliedClip_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrDstProxyView_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrMeshDrawTarget_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMockOpsRenderPass_hdr",
+    hdrs = ["GrMockOpsRenderPass.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMockGpu_hdr",
+        "//src/gpu:GrOpsRenderPass_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMockRenderTask_hdr",
+    hdrs = ["GrMockRenderTask.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu:GrRenderTask_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrMockSurfaceProxy_hdr",
+    hdrs = ["GrMockSurfaceProxy.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu:GrSurfaceProxy_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrMockTexture_hdr",
+    hdrs = ["GrMockTexture.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMockGpu_hdr",
+        "//include/gpu/mock:GrMockTypes_hdr",
+        "//src/gpu:GrAttachment_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMockTypes_src",
+    srcs = ["GrMockTypes.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu/mock:GrMockTypes_hdr",
+    ],
+)
diff --git a/src/gpu/mtl/BUILD.bazel b/src/gpu/mtl/BUILD.bazel
new file mode 100644
index 0000000..bb07b52
--- /dev/null
+++ b/src/gpu/mtl/BUILD.bazel
@@ -0,0 +1,286 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrMtlAttachment_hdr",
+    hdrs = ["GrMtlAttachment.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/mtl:GrMtlTypes_hdr",
+        "//src/gpu:GrAttachment_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlBuffer_hdr",
+    hdrs = ["GrMtlBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMtlUniformHandler_hdr",
+        "//src/gpu:GrGpuBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlCaps_hdr",
+    hdrs = ["GrMtlCaps.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMtlAttachment_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//src/gpu:GrCaps_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlCommandBuffer_hdr",
+    hdrs = ["GrMtlCommandBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMtlRenderCommandEncoder_hdr",
+        ":GrMtlUtil_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//src/gpu:GrBuffer_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+        "//src/gpu:GrRefCnt_hdr",
+        "//src/gpu:GrSurface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlCppUtil_hdr",
+    hdrs = ["GrMtlCppUtil.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImage_hdr",
+        "//include/gpu/mtl:GrMtlTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlDepthStencil_hdr",
+    hdrs = ["GrMtlDepthStencil.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrTypes_hdr",
+        "//src/core:SkOpts_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlFramebuffer_hdr",
+    hdrs = ["GrMtlFramebuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrTypes_hdr",
+        "//include/gpu/mtl:GrMtlTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlGpu_hdr",
+    hdrs = ["GrMtlGpu.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMtlAttachment_hdr",
+        ":GrMtlCaps_hdr",
+        ":GrMtlCommandBuffer_hdr",
+        ":GrMtlResourceProvider_hdr",
+        ":GrMtlUtil_hdr",
+        "//include/gpu/mtl:GrMtlBackendContext_hdr",
+        "//include/private:GrMtlTypesPriv_hdr",
+        "//include/private:SkDeque_hdr",
+        "//src/gpu:GrFinishCallbacks_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrRingBuffer_hdr",
+        "//src/gpu:GrSemaphore_hdr",
+        "//src/gpu:GrStagingBufferManager_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlOpsRenderPass_hdr",
+    hdrs = ["GrMtlOpsRenderPass.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMtlGpu_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrOpsRenderPass_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlPipelineStateBuilder_hdr",
+    hdrs = ["GrMtlPipelineStateBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMtlUniformHandler_hdr",
+        ":GrMtlVaryingHandler_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlPipelineStateDataManager_hdr",
+    hdrs = ["GrMtlPipelineStateDataManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMtlUniformHandler_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/gpu:GrUniformDataManager_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlPipelineState_hdr",
+    hdrs = ["GrMtlPipelineState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMtlBuffer_hdr",
+        ":GrMtlPipelineStateDataManager_hdr",
+        ":GrMtlPipeline_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlPipeline_hdr",
+    hdrs = ["GrMtlPipeline.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu:GrManagedResource_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrMtlRenderCommandEncoder_hdr",
+    hdrs = ["GrMtlRenderCommandEncoder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMtlSampler_hdr",
+        ":GrMtlUniformHandler_hdr",
+        ":GrMtlUtil_hdr",
+        "//src/gpu:GrSamplerState_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlRenderTarget_hdr",
+    hdrs = ["GrMtlRenderTarget.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMtlAttachment_hdr",
+        ":GrMtlFramebuffer_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlResourceProvider_hdr",
+    hdrs = ["GrMtlResourceProvider.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMtlDepthStencil_hdr",
+        ":GrMtlPipelineStateBuilder_hdr",
+        ":GrMtlPipeline_hdr",
+        ":GrMtlSampler_hdr",
+        "//include/private:SkSpinlock_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/core:SkLRUCache_hdr",
+        "//src/core:SkTDynamicHash_hdr",
+        "//src/gpu:GrProgramDesc_hdr",
+        "//src/gpu:GrThreadSafePipelineBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlSampler_hdr",
+    hdrs = ["GrMtlSampler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/core:SkOpts_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlSemaphore_hdr",
+    hdrs = ["GrMtlSemaphore.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMtlUtil_hdr",
+        "//include/gpu:GrBackendSemaphore_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+        "//src/gpu:GrSemaphore_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlTextureRenderTarget_hdr",
+    hdrs = ["GrMtlTextureRenderTarget.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMtlRenderTarget_hdr",
+        ":GrMtlTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlTexture_hdr",
+    hdrs = ["GrMtlTexture.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMtlAttachment_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlTrampoline_hdr",
+    hdrs = ["GrMtlTrampoline.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlUniformHandler_hdr",
+    hdrs = ["GrMtlUniformHandler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/core:SkTBlockList_hdr",
+        "//src/gpu:GrShaderVar_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlUtil_hdr",
+    hdrs = ["GrMtlUtil.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/private:GrMtlTypesPriv_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMtlVaryingHandler_hdr",
+    hdrs = ["GrMtlVaryingHandler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu/glsl:GrGLSLVarying_hdr"],
+)
diff --git a/src/gpu/ops/BUILD.bazel b/src/gpu/ops/BUILD.bazel
new file mode 100644
index 0000000..6149481
--- /dev/null
+++ b/src/gpu/ops/BUILD.bazel
@@ -0,0 +1,1328 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "AAConvexPathRenderer_hdr",
+    hdrs = ["AAConvexPathRenderer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu/v1:PathRenderer_hdr"],
+)
+
+generated_cc_atom(
+    name = "AAConvexPathRenderer_src",
+    srcs = ["AAConvexPathRenderer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":AAConvexPathRenderer_hdr",
+        ":GrMeshDrawOp_hdr",
+        ":GrSimpleMeshDrawOpHelperWithStencil_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypes_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/core:SkPointPriv_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrAuditTrail_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrProcessor_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu/geometry:GrPathUtils_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "AAHairLinePathRenderer_hdr",
+    hdrs = ["AAHairLinePathRenderer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu/v1:PathRenderer_hdr"],
+)
+
+generated_cc_atom(
+    name = "AAHairLinePathRenderer_src",
+    srcs = ["AAHairLinePathRenderer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":AAHairLinePathRenderer_hdr",
+        ":GrMeshDrawOp_hdr",
+        ":GrSimpleMeshDrawOpHelperWithStencil_hdr",
+        "//include/core:SkPoint3_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/core:SkPointPriv_hdr",
+        "//src/core:SkRectPriv_hdr",
+        "//src/core:SkStroke_hdr",
+        "//src/gpu:GrAuditTrail_hdr",
+        "//src/gpu:GrBuffer_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDefaultGeoProcFactory_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrProcessor_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu:GrStyle_hdr",
+        "//src/gpu:GrUtil_hdr",
+        "//src/gpu/effects:GrBezierEffect_hdr",
+        "//src/gpu/geometry:GrPathUtils_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "AALinearizingConvexPathRenderer_hdr",
+    hdrs = ["AALinearizingConvexPathRenderer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu/v1:PathRenderer_hdr"],
+)
+
+generated_cc_atom(
+    name = "AALinearizingConvexPathRenderer_src",
+    srcs = ["AALinearizingConvexPathRenderer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":AALinearizingConvexPathRenderer_hdr",
+        ":GrMeshDrawOp_hdr",
+        ":GrSimpleMeshDrawOpHelperWithStencil_hdr",
+        "//include/core:SkString_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrAuditTrail_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDefaultGeoProcFactory_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrProcessor_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrStyle_hdr",
+        "//src/gpu/geometry:GrAAConvexTessellator_hdr",
+        "//src/gpu/geometry:GrPathUtils_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "AtlasInstancedHelper_hdr",
+    hdrs = ["AtlasInstancedHelper.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/core:SkIPoint16_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrSurfaceProxyView_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "AtlasInstancedHelper_src",
+    srcs = ["AtlasInstancedHelper.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":AtlasInstancedHelper_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "AtlasPathRenderer_hdr",
+    hdrs = ["AtlasPathRenderer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:SkTHash_hdr",
+        "//src/core:SkIPoint16_hdr",
+        "//src/gpu:GrDynamicAtlas_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrOnFlushResourceProvider_hdr",
+        "//src/gpu/v1:PathRenderer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "AtlasPathRenderer_src",
+    srcs = ["AtlasPathRenderer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":AtlasPathRenderer_hdr",
+        ":AtlasRenderTask_hdr",
+        ":DrawAtlasPathOp_hdr",
+        ":TessellationPathRenderer_hdr",
+        "//include/private:SkVx_hdr",
+        "//src/core:SkIPoint16_hdr",
+        "//src/gpu:GrClip_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrVx_hdr",
+        "//src/gpu/effects:GrModulateAtlasCoverageEffect_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/tessellate/shaders:GrTessellationShader_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "AtlasRenderTask_hdr",
+    hdrs = ["AtlasRenderTask.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":OpsTask_hdr",
+        "//include/core:SkPath_hdr",
+        "//src/core:SkTBlockList_hdr",
+        "//src/gpu:GrDynamicAtlas_hdr",
+        "//src/gpu/tessellate:PathTessellator_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "AtlasRenderTask_src",
+    srcs = ["AtlasRenderTask.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":AtlasRenderTask_hdr",
+        ":FillRectOp_hdr",
+        ":PathStencilCoverOp_hdr",
+        "//src/core:SkBlendModePriv_hdr",
+        "//src/core:SkIPoint16_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrOpsTypes_hdr",
+        "//src/gpu/geometry:GrQuad_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "AtlasTextOp_hdr",
+    hdrs = ["AtlasTextOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMeshDrawOp_hdr",
+        "//src/gpu/effects:GrDistanceFieldGeoProc_hdr",
+        "//src/gpu/text:GrTextBlob_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "AtlasTextOp_src",
+    srcs = ["AtlasTextOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":AtlasTextOp_hdr",
+        ":GrSimpleMeshDrawOpHelper_hdr",
+        "//include/core:SkPoint3_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkMathPriv_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkStrikeCache_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrMemoryPool_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrBitmapTextGeoProc_hdr",
+        "//src/gpu/effects:GrDistanceFieldGeoProc_hdr",
+        "//src/gpu/text:GrAtlasManager_hdr",
+        "//src/gpu/text:GrDistanceFieldAdjustTable_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "ClearOp_hdr",
+    hdrs = ["ClearOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOp_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//src/gpu:GrScissorState_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "ClearOp_src",
+    srcs = ["ClearOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":ClearOp_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/gpu:GrMemoryPool_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrOpsRenderPass_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DashLinePathRenderer_hdr",
+    hdrs = ["DashLinePathRenderer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu/v1:PathRenderer_hdr"],
+)
+
+generated_cc_atom(
+    name = "DashLinePathRenderer_src",
+    srcs = ["DashLinePathRenderer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DashLinePathRenderer_hdr",
+        ":DashOp_hdr",
+        ":GrMeshDrawOp_hdr",
+        "//src/gpu:GrAuditTrail_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DashOp_hdr",
+    hdrs = ["DashOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOp_hdr",
+        "//include/gpu:GrTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DashOp_src",
+    srcs = ["DashOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DashOp_hdr",
+        ":GrMeshDrawOp_hdr",
+        ":GrSimpleMeshDrawOpHelper_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/core:SkPointPriv_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrAppliedClip_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDefaultGeoProcFactory_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrMemoryPool_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrProcessor_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrStyle_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/geometry:GrQuad_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DefaultPathRenderer_hdr",
+    hdrs = ["DefaultPathRenderer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu/v1:PathRenderer_hdr"],
+)
+
+generated_cc_atom(
+    name = "DefaultPathRenderer_src",
+    srcs = ["DefaultPathRenderer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DefaultPathRenderer_hdr",
+        ":GrMeshDrawOp_hdr",
+        ":GrPathStencilSettings_hdr",
+        ":GrSimpleMeshDrawOpHelperWithStencil_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/core:SkTLazy_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrAuditTrail_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrClip_hdr",
+        "//src/gpu:GrDefaultGeoProcFactory_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrSimpleMesh_hdr",
+        "//src/gpu:GrStyle_hdr",
+        "//src/gpu:GrUtil_hdr",
+        "//src/gpu/effects:GrDisableColorXP_hdr",
+        "//src/gpu/geometry:GrPathUtils_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DrawAtlasOp_hdr",
+    hdrs = ["DrawAtlasOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOp_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DrawAtlasOp_src",
+    srcs = ["DrawAtlasOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DrawAtlasOp_hdr",
+        ":GrSimpleMeshDrawOpHelper_hdr",
+        "//include/core:SkRSXform_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/utils:SkRandom_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/core:SkRectPriv_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDefaultGeoProcFactory_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:SkGr_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DrawAtlasPathOp_hdr",
+    hdrs = ["DrawAtlasPathOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":AtlasInstancedHelper_hdr",
+        ":GrDrawOp_hdr",
+        "//src/core:SkIPoint16_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DrawAtlasPathOp_src",
+    srcs = ["DrawAtlasPathOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DrawAtlasPathOp_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrOpsRenderPass_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DrawVerticesOp_hdr",
+    hdrs = ["DrawVerticesOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOp_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DrawVerticesOp_src",
+    srcs = ["DrawVerticesOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DrawVerticesOp_hdr",
+        ":GrSimpleMeshDrawOpHelper_hdr",
+        "//include/core:SkM44_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkDevice_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/core:SkVerticesPriv_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/glsl:GrGLSLColorSpaceXformHelper_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DrawableOp_hdr",
+    hdrs = ["DrawableOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOp_hdr",
+        "//include/core:SkDrawable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DrawableOp_src",
+    srcs = ["DrawableOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DrawableOp_hdr",
+        "//include/core:SkDrawable_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/gpu:GrMemoryPool_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrOpsRenderPass_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "FillPathFlags_hdr",
+    hdrs = ["FillPathFlags.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/gpu:GrTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "FillRRectOp_hdr",
+    hdrs = ["FillRRectOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOp_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "FillRRectOp_src",
+    srcs = ["FillRRectOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":FillRRectOp_hdr",
+        ":GrMeshDrawOp_hdr",
+        ":GrSimpleMeshDrawOpHelper_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkRRectPriv_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrMemoryPool_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrOpsRenderPass_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu:GrVx_hdr",
+        "//src/gpu/geometry:GrShape_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "FillRectOp_hdr",
+    hdrs = ["FillRectOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSimpleMeshDrawOpHelper_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "FillRectOp_src",
+    srcs = ["FillRectOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":FillRectOp_hdr",
+        ":GrMeshDrawOp_hdr",
+        ":GrSimpleMeshDrawOpHelperWithStencil_hdr",
+        ":QuadPerEdgeAA_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkRect_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrOpsTypes_hdr",
+        "//src/gpu:GrPaint_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/geometry:GrQuadBuffer_hdr",
+        "//src/gpu/geometry:GrQuadUtils_hdr",
+        "//src/gpu/geometry:GrQuad_hdr",
+        "//src/gpu/glsl:GrGLSLColorSpaceXformHelper_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDrawOp_hdr",
+    hdrs = ["GrDrawOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOp_hdr",
+        "//src/core:SkIPoint16_hdr",
+        "//src/gpu:GrDeferredUpload_hdr",
+        "//src/gpu:GrPipeline_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMeshDrawOp_hdr",
+    hdrs = ["GrMeshDrawOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDrawOp_hdr",
+        "//src/gpu:GrAppliedClip_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrMeshDrawOp_src",
+    srcs = ["GrMeshDrawOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMeshDrawOp_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrOpsRenderPass_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrOp_hdr",
+    hdrs = ["GrOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkString_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/gpu:GrGpuResource_hdr",
+        "//src/gpu:GrMemoryPool_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrTracing_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrOp_src",
+    srcs = ["GrOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrOp_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrOvalOpFactory_hdr",
+    hdrs = ["GrOvalOpFactory.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOp_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//src/gpu:GrColor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrOvalOpFactory_src",
+    srcs = ["GrOvalOpFactory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMeshDrawOp_hdr",
+        ":GrOvalOpFactory_hdr",
+        ":GrSimpleMeshDrawOpHelper_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/core:SkRRectPriv_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrProcessor_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrStyle_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrPathStencilSettings_hdr",
+    hdrs = ["GrPathStencilSettings.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu:GrUserStencilSettings_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrSimpleMeshDrawOpHelperWithStencil_hdr",
+    hdrs = ["GrSimpleMeshDrawOpHelperWithStencil.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrSimpleMeshDrawOpHelper_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrSimpleMeshDrawOpHelperWithStencil_src",
+    srcs = ["GrSimpleMeshDrawOpHelperWithStencil.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrSimpleMeshDrawOpHelperWithStencil_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrSimpleMeshDrawOpHelper_hdr",
+    hdrs = ["GrSimpleMeshDrawOpHelper.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMeshDrawOp_hdr",
+        ":GrOp_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/gpu:GrMemoryPool_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSimpleMeshDrawOpHelper_src",
+    srcs = ["GrSimpleMeshDrawOpHelper.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSimpleMeshDrawOpHelper_hdr",
+        "//src/gpu:GrAppliedClip_hdr",
+        "//src/gpu:GrProcessorSet_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrUserStencilSettings_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/geometry:GrRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "LatticeOp_hdr",
+    hdrs = ["LatticeOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOp_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//src/gpu:GrSamplerState_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "LatticeOp_src",
+    srcs = ["LatticeOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMeshDrawOp_hdr",
+        ":GrSimpleMeshDrawOpHelper_hdr",
+        ":LatticeOp_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkRect_hdr",
+        "//src/core:SkLatticeIter_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrResourceProviderPriv_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/glsl:GrGLSLColorSpaceXformHelper_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "OpsTask_hdr",
+    hdrs = ["OpsTask.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOp_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkClipStack_hdr",
+        "//src/core:SkStringUtils_hdr",
+        "//src/core:SkTLazy_hdr",
+        "//src/gpu:GrAppliedClip_hdr",
+        "//src/gpu:GrDstProxyView_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrProcessorSet_hdr",
+        "//src/gpu:GrRenderTask_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "OpsTask_src",
+    srcs = ["OpsTask.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":OpsTask_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkRectPriv_hdr",
+        "//src/core:SkScopeExit_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrAttachment_hdr",
+        "//src/gpu:GrAuditTrail_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrMemoryPool_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrOpsRenderPass_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrResourceAllocator_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu/geometry:GrRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathInnerTriangulateOp_hdr",
+    hdrs = ["PathInnerTriangulateOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":FillPathFlags_hdr",
+        ":GrDrawOp_hdr",
+        "//src/gpu/geometry:GrInnerFanTriangulator_hdr",
+        "//src/gpu/tessellate/shaders:GrTessellationShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathInnerTriangulateOp_src",
+    srcs = ["PathInnerTriangulateOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":PathInnerTriangulateOp_hdr",
+        "//src/gpu:GrEagerVertexAllocator_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+        "//src/gpu/tessellate:PathCurveTessellator_hdr",
+        "//src/gpu/tessellate/shaders:GrPathTessellationShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathStencilCoverOp_hdr",
+    hdrs = ["PathStencilCoverOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":FillPathFlags_hdr",
+        ":GrDrawOp_hdr",
+        "//src/gpu/tessellate:PathTessellator_hdr",
+        "//src/gpu/tessellate/shaders:GrTessellationShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathStencilCoverOp_src",
+    srcs = ["PathStencilCoverOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSimpleMeshDrawOpHelper_hdr",
+        ":PathStencilCoverOp_hdr",
+        "//src/gpu:GrEagerVertexAllocator_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+        "//src/gpu/tessellate:AffineMatrix_hdr",
+        "//src/gpu/tessellate:MiddleOutPolygonTriangulator_hdr",
+        "//src/gpu/tessellate:PathCurveTessellator_hdr",
+        "//src/gpu/tessellate:PathWedgeTessellator_hdr",
+        "//src/gpu/tessellate:Tessellation_hdr",
+        "//src/gpu/tessellate/shaders:GrPathTessellationShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathTessellateOp_hdr",
+    hdrs = ["PathTessellateOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDrawOp_hdr",
+        "//src/gpu/tessellate:PathTessellator_hdr",
+        "//src/gpu/tessellate:Tessellation_hdr",
+        "//src/gpu/tessellate/shaders:GrTessellationShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathTessellateOp_src",
+    srcs = ["PathTessellateOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":PathTessellateOp_hdr",
+        "//src/gpu:GrAppliedClip_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu/tessellate:PathWedgeTessellator_hdr",
+        "//src/gpu/tessellate/shaders:GrPathTessellationShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "QuadPerEdgeAA_hdr",
+    hdrs = ["QuadPerEdgeAA.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":TextureOp_hdr",
+        "//include/core:SkPoint3_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrColor_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrSamplerState_hdr",
+        "//src/gpu/geometry:GrQuadUtils_hdr",
+        "//src/gpu/geometry:GrQuad_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "QuadPerEdgeAA_src",
+    srcs = ["QuadPerEdgeAA.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":QuadPerEdgeAA_hdr",
+        "//include/private:SkVx_hdr",
+        "//src/gpu:GrMeshDrawTarget_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/geometry:GrQuadUtils_hdr",
+        "//src/gpu/glsl:GrGLSLColorSpaceXformHelper_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "RegionOp_hdr",
+    hdrs = ["RegionOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOp_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "RegionOp_src",
+    srcs = ["RegionOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMeshDrawOp_hdr",
+        ":GrSimpleMeshDrawOpHelperWithStencil_hdr",
+        ":RegionOp_hdr",
+        "//include/core:SkRegion_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDefaultGeoProcFactory_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "ShadowRRectOp_hdr",
+    hdrs = ["ShadowRRectOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOp_hdr",
+        "//src/gpu:GrColor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "ShadowRRectOp_src",
+    srcs = ["ShadowRRectOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSimpleMeshDrawOpHelper_hdr",
+        ":ShadowRRectOp_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkRRectPriv_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrMemoryPool_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrThreadSafeCache_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrShadowGeoProc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SmallPathAtlasMgr_hdr",
+    hdrs = ["SmallPathAtlasMgr.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/core:SkTDynamicHash_hdr",
+        "//src/core:SkTInternalLList_hdr",
+        "//src/gpu:GrDrawOpAtlas_hdr",
+        "//src/gpu:GrOnFlushResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SmallPathAtlasMgr_src",
+    srcs = ["SmallPathAtlasMgr.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SmallPathAtlasMgr_hdr",
+        ":SmallPathShapeData_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SmallPathRenderer_hdr",
+    hdrs = ["SmallPathRenderer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu/v1:PathRenderer_hdr"],
+)
+
+generated_cc_atom(
+    name = "SmallPathRenderer_src",
+    srcs = ["SmallPathRenderer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMeshDrawOp_hdr",
+        ":GrSimpleMeshDrawOpHelperWithStencil_hdr",
+        ":SmallPathAtlasMgr_hdr",
+        ":SmallPathRenderer_hdr",
+        ":SmallPathShapeData_hdr",
+        "//include/core:SkPaint_hdr",
+        "//src/core:SkAutoPixmapStorage_hdr",
+        "//src/core:SkDistanceFieldGen_hdr",
+        "//src/core:SkDraw_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkPointPriv_hdr",
+        "//src/core:SkRasterClip_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrBuffer_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDistanceFieldGenFromVector_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu/effects:GrBitmapTextGeoProc_hdr",
+        "//src/gpu/effects:GrDistanceFieldGeoProc_hdr",
+        "//src/gpu/geometry:GrQuad_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SmallPathShapeData_hdr",
+    hdrs = ["SmallPathShapeData.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/core:SkOpts_hdr",
+        "//src/gpu:GrDrawOpAtlas_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SmallPathShapeData_src",
+    srcs = ["SmallPathShapeData.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SmallPathShapeData_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SoftwarePathRenderer_hdr",
+    hdrs = ["SoftwarePathRenderer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/gpu:GrSurfaceProxyView_hdr",
+        "//src/gpu/v1:PathRenderer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SoftwarePathRenderer_src",
+    srcs = ["SoftwarePathRenderer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDrawOp_hdr",
+        ":SoftwarePathRenderer_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/private:SkSemaphore_hdr",
+        "//src/core:SkTaskGroup_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrAuditTrail_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrClip_hdr",
+        "//src/gpu:GrDeferredProxyUploader_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrGpuResourcePriv_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrSWMaskHelper_hdr",
+        "//src/gpu:GrUtil_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "StrokeRectOp_hdr",
+    hdrs = ["StrokeRectOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOp_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "StrokeRectOp_src",
+    srcs = ["StrokeRectOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":FillRectOp_hdr",
+        ":GrMeshDrawOp_hdr",
+        ":GrSimpleMeshDrawOpHelper_hdr",
+        ":StrokeRectOp_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/private:GrResourceKey_hdr",
+        "//include/utils:SkRandom_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrColor_hdr",
+        "//src/gpu:GrDefaultGeoProcFactory_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu/geometry:GrQuad_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "StrokeTessellateOp_hdr",
+    hdrs = ["StrokeTessellateOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDrawOp_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//src/gpu/tessellate:StrokeTessellator_hdr",
+        "//src/gpu/tessellate/shaders:GrTessellationShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "StrokeTessellateOp_src",
+    srcs = ["StrokeTessellateOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":StrokeTessellateOp_hdr",
+        "//src/core:SkMathPriv_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/gpu:GrAppliedClip_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu/tessellate:StrokeFixedCountTessellator_hdr",
+        "//src/gpu/tessellate:StrokeHardwareTessellator_hdr",
+        "//src/gpu/tessellate/shaders:GrStrokeTessellationShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "TessellationPathRenderer_hdr",
+    hdrs = ["TessellationPathRenderer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu:GrTypes_hdr",
+        "//src/gpu/v1:PathRenderer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "TessellationPathRenderer_src",
+    srcs = ["TessellationPathRenderer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":PathInnerTriangulateOp_hdr",
+        ":PathStencilCoverOp_hdr",
+        ":PathTessellateOp_hdr",
+        ":StrokeTessellateOp_hdr",
+        ":TessellationPathRenderer_hdr",
+        "//include/private:SkVx_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/gpu:GrClip_hdr",
+        "//src/gpu:GrMemoryPool_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrVx_hdr",
+        "//src/gpu/effects:GrDisableColorXP_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/tessellate:Tessellation_hdr",
+        "//src/gpu/tessellate:WangsFormula_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "TextureOp_hdr",
+    hdrs = ["TextureOp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrOp_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:GrColor_hdr",
+        "//src/gpu:GrSamplerState_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "TextureOp_src",
+    srcs = ["TextureOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":FillRectOp_hdr",
+        ":GrMeshDrawOp_hdr",
+        ":GrSimpleMeshDrawOpHelper_hdr",
+        ":QuadPerEdgeAA_hdr",
+        ":TextureOp_hdr",
+        "//include/core:SkPoint3_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkFloatingPoint_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkMathPriv_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/core:SkRectPriv_hdr",
+        "//src/gpu:GrAppliedClip_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrMemoryPool_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrOpsTypes_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrResourceProviderPriv_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrBlendFragmentProcessor_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/geometry:GrQuadBuffer_hdr",
+        "//src/gpu/geometry:GrQuadUtils_hdr",
+        "//src/gpu/geometry:GrQuad_hdr",
+        "//src/gpu/geometry:GrRect_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "TriangulatingPathRenderer_hdr",
+    hdrs = ["TriangulatingPathRenderer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu/v1:PathRenderer_hdr"],
+)
+
+generated_cc_atom(
+    name = "TriangulatingPathRenderer_src",
+    srcs = ["TriangulatingPathRenderer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrMeshDrawOp_hdr",
+        ":GrSimpleMeshDrawOpHelperWithStencil_hdr",
+        ":TriangulatingPathRenderer_hdr",
+        "//include/private:SkIDChangeListener_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/gpu:GrAuditTrail_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDefaultGeoProcFactory_hdr",
+        "//src/gpu:GrDrawOpTest_hdr",
+        "//src/gpu:GrEagerVertexAllocator_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrResourceCache_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu:GrSimpleMesh_hdr",
+        "//src/gpu:GrStyle_hdr",
+        "//src/gpu:GrThreadSafeCache_hdr",
+        "//src/gpu/geometry:GrAATriangulator_hdr",
+        "//src/gpu/geometry:GrPathUtils_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/geometry:GrTriangulator_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
diff --git a/src/gpu/tessellate/BUILD.bazel b/src/gpu/tessellate/BUILD.bazel
new file mode 100644
index 0000000..37a9434
--- /dev/null
+++ b/src/gpu/tessellate/BUILD.bazel
@@ -0,0 +1,234 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "AffineMatrix_hdr",
+    hdrs = ["AffineMatrix.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":Tessellation_hdr",
+        "//include/core:SkMatrix_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "CullTest_hdr",
+    hdrs = ["CullTest.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":Tessellation_hdr",
+        "//include/core:SkMatrix_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "MiddleOutPolygonTriangulator_hdr",
+    hdrs = ["MiddleOutPolygonTriangulator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkMathPriv_hdr",
+        "//src/core:SkPathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PatchWriter_hdr",
+    hdrs = ["PatchWriter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":MiddleOutPolygonTriangulator_hdr",
+        ":Tessellation_hdr",
+        "//include/private:SkColorData_hdr",
+        "//src/gpu:GrVertexChunkArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PatchWriter_src",
+    srcs = ["PatchWriter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":PatchWriter_hdr",
+        ":PathTessellator_hdr",
+        ":StrokeTessellator_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathCurveTessellator_hdr",
+    hdrs = ["PathCurveTessellator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":PathTessellator_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathCurveTessellator_src",
+    srcs = ["PathCurveTessellator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":AffineMatrix_hdr",
+        ":MiddleOutPolygonTriangulator_hdr",
+        ":PatchWriter_hdr",
+        ":PathCurveTessellator_hdr",
+        ":WangsFormula_hdr",
+        "//src/gpu:GrMeshDrawTarget_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathTessellator_hdr",
+    hdrs = ["PathTessellator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":PatchWriter_hdr",
+        ":Tessellation_hdr",
+        "//src/gpu:GrGpuBuffer_hdr",
+        "//src/gpu:GrVertexChunkArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathWedgeTessellator_hdr",
+    hdrs = ["PathWedgeTessellator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":PathTessellator_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathWedgeTessellator_src",
+    srcs = ["PathWedgeTessellator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":AffineMatrix_hdr",
+        ":PatchWriter_hdr",
+        ":PathCurveTessellator_hdr",
+        ":PathWedgeTessellator_hdr",
+        ":WangsFormula_hdr",
+        "//src/gpu:GrMeshDrawTarget_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "StrokeFixedCountTessellator_hdr",
+    hdrs = ["StrokeFixedCountTessellator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":StrokeTessellator_hdr",
+        "//src/gpu:GrGpuBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "StrokeFixedCountTessellator_src",
+    srcs = ["StrokeFixedCountTessellator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":PatchWriter_hdr",
+        ":StrokeFixedCountTessellator_hdr",
+        ":StrokeIterator_hdr",
+        ":WangsFormula_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/gpu:GrMeshDrawTarget_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "StrokeHardwareTessellator_hdr",
+    hdrs = ["StrokeHardwareTessellator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":StrokeTessellator_hdr"],
+)
+
+generated_cc_atom(
+    name = "StrokeHardwareTessellator_src",
+    srcs = ["StrokeHardwareTessellator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":PatchWriter_hdr",
+        ":StrokeHardwareTessellator_hdr",
+        ":WangsFormula_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/gpu:GrMeshDrawTarget_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "StrokeIterator_hdr",
+    hdrs = ["StrokeIterator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//src/core:SkPathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "StrokeTessellator_hdr",
+    hdrs = ["StrokeTessellator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":Tessellation_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//include/private:SkColorData_hdr",
+        "//src/gpu:GrVertexChunkArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "Tessellation_hdr",
+    hdrs = ["Tessellation.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkStrokeRec_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/private:SkVx_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "Tessellation_src",
+    srcs = ["Tessellation.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":CullTest_hdr",
+        ":MiddleOutPolygonTriangulator_hdr",
+        ":Tessellation_hdr",
+        ":WangsFormula_hdr",
+        "//include/core:SkPath_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/core:SkUtils_hdr",
+        "//src/gpu:BufferWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "WangsFormula_hdr",
+    hdrs = ["WangsFormula.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":Tessellation_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkFloatingPoint_hdr",
+    ],
+)
diff --git a/src/gpu/tessellate/shaders/BUILD.bazel b/src/gpu/tessellate/shaders/BUILD.bazel
new file mode 100644
index 0000000..02be7e6
--- /dev/null
+++ b/src/gpu/tessellate/shaders/BUILD.bazel
@@ -0,0 +1,120 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrPathTessellationShader_Hardware_src",
+    srcs = ["GrPathTessellationShader_Hardware.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrPathTessellationShader_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+        "//src/gpu/tessellate:Tessellation_hdr",
+        "//src/gpu/tessellate:WangsFormula_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrPathTessellationShader_MiddleOut_src",
+    srcs = ["GrPathTessellationShader_MiddleOut.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrPathTessellationShader_hdr",
+        "//src/core:SkMathPriv_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+        "//src/gpu/tessellate:PathTessellator_hdr",
+        "//src/gpu/tessellate:Tessellation_hdr",
+        "//src/gpu/tessellate:WangsFormula_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrPathTessellationShader_hdr",
+    hdrs = ["GrPathTessellationShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrTessellationShader_hdr",
+        "//src/gpu/tessellate:Tessellation_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrPathTessellationShader_src",
+    srcs = ["GrPathTessellationShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrPathTessellationShader_hdr",
+        "//src/gpu/effects:GrDisableColorXP_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrStrokeTessellationShader_HardwareImpl_src",
+    srcs = ["GrStrokeTessellationShader_HardwareImpl.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrStrokeTessellationShader_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+        "//src/gpu/tessellate:WangsFormula_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrStrokeTessellationShader_InstancedImpl_src",
+    srcs = ["GrStrokeTessellationShader_InstancedImpl.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrStrokeTessellationShader_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+        "//src/gpu/tessellate:StrokeFixedCountTessellator_hdr",
+        "//src/gpu/tessellate:WangsFormula_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrStrokeTessellationShader_hdr",
+    hdrs = ["GrStrokeTessellationShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrTessellationShader_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//src/gpu:GrVx_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/tessellate:Tessellation_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrStrokeTessellationShader_src",
+    srcs = ["GrStrokeTessellationShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrStrokeTessellationShader_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLVarying_hdr",
+        "//src/gpu/glsl:GrGLSLVertexGeoBuilder_hdr",
+        "//src/gpu/tessellate:StrokeTessellator_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTessellationShader_hdr",
+    hdrs = ["GrTessellationShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/gpu:BufferWriter_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrProgramInfo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTessellationShader_src",
+    srcs = ["GrTessellationShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrTessellationShader_hdr"],
+)
diff --git a/src/gpu/text/BUILD.bazel b/src/gpu/text/BUILD.bazel
new file mode 100644
index 0000000..aaf9ef4
--- /dev/null
+++ b/src/gpu/text/BUILD.bazel
@@ -0,0 +1,206 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrAtlasManager_hdr",
+    hdrs = ["GrAtlasManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDrawOpAtlas_hdr",
+        "//src/gpu:GrOnFlushResourceProvider_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrAtlasManager_src",
+    srcs = ["GrAtlasManager.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAtlasManager_hdr",
+        ":GrStrikeCache_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkImageEncoder_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/codec:SkMasks_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrGlyph_hdr",
+        "//src/gpu:GrImageInfo_hdr",
+        "//src/gpu:GrSurfaceProxy_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:SurfaceContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrDistanceFieldAdjustTable_hdr",
+    hdrs = ["GrDistanceFieldAdjustTable.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkScalar_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrDistanceFieldAdjustTable_src",
+    srcs = ["GrDistanceFieldAdjustTable.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrDistanceFieldAdjustTable_hdr",
+        "//src/core:SkScalerContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSDFMaskFilter_hdr",
+    hdrs = ["GrSDFMaskFilter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkMaskFilter_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrSDFMaskFilter_src",
+    srcs = ["GrSDFMaskFilter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSDFMaskFilter_hdr",
+        "//include/core:SkString_hdr",
+        "//src/core:SkDistanceFieldGen_hdr",
+        "//src/core:SkMaskFilterBase_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSafeMath_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSDFTControl_hdr",
+    hdrs = ["GrSDFTControl.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFont_hdr",
+        "//include/core:SkScalar_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSDFTControl_src",
+    srcs = ["GrSDFTControl.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrSDFTControl_hdr",
+        "//include/core:SkFont_hdr",
+        "//include/core:SkGraphics_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkSurfaceProps_hdr",
+        "//src/core:SkGlyphRunPainter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrSlug_src",
+    srcs = ["GrSlug.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/private/chromium:GrSlug_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrStrikeCache_hdr",
+    hdrs = ["GrStrikeCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkTHash_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkStrikeSpec_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrStrikeCache_src",
+    srcs = ["GrStrikeCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrStrikeCache_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkStrikeSpec_hdr",
+        "//src/gpu:GrGlyph_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTextBlobCache_hdr",
+    hdrs = ["GrTextBlobCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrTextBlob_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/private:SkSpinlock_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTHash_hdr",
+        "//src/core:SkMessageBus_hdr",
+        "//src/core:SkTextBlobPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTextBlobCache_src",
+    srcs = ["GrTextBlobCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrTextBlobCache_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrTextBlob_hdr",
+    hdrs = ["GrTextBlob.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPoint3_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//src/core:SkGlyphRunPainter_hdr",
+        "//src/core:SkIPoint16_hdr",
+        "//src/core:SkMaskFilterBase_hdr",
+        "//src/core:SkOpts_hdr",
+        "//src/core:SkRectPriv_hdr",
+        "//src/core:SkStrikeSpec_hdr",
+        "//src/core:SkTInternalLList_hdr",
+        "//src/core:SkTLazy_hdr",
+        "//src/gpu:GrColor_hdr",
+        "//src/gpu:GrSubRunAllocator_hdr",
+        "//src/gpu/ops:GrOp_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrTextBlob_src",
+    srcs = ["GrTextBlob.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrAtlasManager_hdr",
+        ":GrStrikeCache_hdr",
+        ":GrTextBlob_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkMaskFilterBase_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkPaintPriv_hdr",
+        "//src/core:SkStrikeCache_hdr",
+        "//src/core:SkStrikeSpec_hdr",
+        "//src/gpu:GrBlurUtils_hdr",
+        "//src/gpu:GrClip_hdr",
+        "//src/gpu:GrGlyph_hdr",
+        "//src/gpu:GrMeshDrawTarget_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrStyle_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrDistanceFieldGeoProc_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/ops:AtlasTextOp_hdr",
+        "//src/gpu/v1:SurfaceDrawContext_v1_hdr",
+    ],
+)
diff --git a/src/gpu/v1/BUILD.bazel b/src/gpu/v1/BUILD.bazel
new file mode 100644
index 0000000..2d999b7
--- /dev/null
+++ b/src/gpu/v1/BUILD.bazel
@@ -0,0 +1,371 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "ClipStack_hdr",
+    hdrs = ["ClipStack.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkClipOp_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/private:GrResourceKey_hdr",
+        "//src/core:SkTBlockList_hdr",
+        "//src/gpu:GrClip_hdr",
+        "//src/gpu:GrSurfaceProxyView_hdr",
+        "//src/gpu/geometry:GrShape_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "ClipStack_src",
+    srcs = ["ClipStack.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":ClipStack_hdr",
+        ":StencilMaskHelper_hdr",
+        ":SurfaceDrawContext_v1_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/core:SkRRectPriv_hdr",
+        "//src/core:SkRectPriv_hdr",
+        "//src/core:SkTaskGroup_hdr",
+        "//src/gpu:GrClip_hdr",
+        "//src/gpu:GrDeferredProxyUploader_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrSWMaskHelper_hdr",
+        "//src/gpu/effects:GrBlendFragmentProcessor_hdr",
+        "//src/gpu/effects:GrConvexPolyEffect_hdr",
+        "//src/gpu/effects:GrRRectEffect_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/geometry:GrQuadUtils_hdr",
+        "//src/gpu/ops:AtlasPathRenderer_hdr",
+        "//src/gpu/ops:GrDrawOp_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "Device_drawTexture_src",
+    srcs = ["Device_drawTexture.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":Device_v1_hdr",
+        ":SurfaceDrawContext_v1_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkDraw_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/core:SkMaskFilterBase_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/gpu:GrBlurUtils_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrColorSpaceXform_hdr",
+        "//src/gpu:GrOpsTypes_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrStyle_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrBicubicEffect_hdr",
+        "//src/gpu/effects:GrBlendFragmentProcessor_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/geometry:GrRect_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/image:SkImage_Base_hdr",
+        "//src/image:SkImage_Gpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "Device_src",
+    srcs = ["Device.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":Device_v1_hdr",
+        "//include/core:SkImageFilter_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/core:SkVertices_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkShadowFlags_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkCanvasPriv_hdr",
+        "//src/core:SkClipStack_hdr",
+        "//src/core:SkDraw_hdr",
+        "//src/core:SkImageFilterCache_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkLatticeIter_hdr",
+        "//src/core:SkPictureData_hdr",
+        "//src/core:SkRRectPriv_hdr",
+        "//src/core:SkRasterClip_hdr",
+        "//src/core:SkRecord_hdr",
+        "//src/core:SkStroke_hdr",
+        "//src/core:SkTLazy_hdr",
+        "//src/core:SkVerticesPriv_hdr",
+        "//src/gpu:GrBlurUtils_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrStyle_hdr",
+        "//src/gpu:GrSurfaceProxyPriv_hdr",
+        "//src/gpu:GrTracing_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrDisableColorXP_hdr",
+        "//src/gpu/effects:GrRRectEffect_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/image:SkImage_Base_hdr",
+        "//src/image:SkReadPixelsRec_hdr",
+        "//src/image:SkSurface_Gpu_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "Device_v1_hdr",
+    hdrs = ["Device_v1.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":ClipStack_hdr",
+        ":SurfaceDrawContext_v1_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkRegion_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//src/gpu:BaseDevice_hdr",
+        "//src/gpu:SkGr_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathRendererChain_hdr",
+    hdrs = ["PathRendererChain.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":PathRenderer_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathRendererChain_src",
+    srcs = ["PathRendererChain.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":PathRendererChain_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/ops:AAConvexPathRenderer_hdr",
+        "//src/gpu/ops:AAHairLinePathRenderer_hdr",
+        "//src/gpu/ops:AALinearizingConvexPathRenderer_hdr",
+        "//src/gpu/ops:AtlasPathRenderer_hdr",
+        "//src/gpu/ops:DashLinePathRenderer_hdr",
+        "//src/gpu/ops:DefaultPathRenderer_hdr",
+        "//src/gpu/ops:SmallPathRenderer_hdr",
+        "//src/gpu/ops:TessellationPathRenderer_hdr",
+        "//src/gpu/ops:TriangulatingPathRenderer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathRenderer_hdr",
+    hdrs = ["PathRenderer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "PathRenderer_src",
+    srcs = ["PathRenderer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":PathRenderer_hdr",
+        ":SurfaceDrawContext_v1_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkDrawProcs_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrPaint_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrUserStencilSettings_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "StencilClip_hdr",
+    hdrs = ["StencilClip.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/gpu:GrAppliedClip_hdr",
+        "//src/gpu:GrFixedClip_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "StencilMaskHelper_hdr",
+    hdrs = ["StencilMaskHelper.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":StencilClip_hdr"],
+)
+
+generated_cc_atom(
+    name = "StencilMaskHelper_src",
+    srcs = ["StencilMaskHelper.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":StencilMaskHelper_hdr",
+        ":SurfaceDrawContext_v1_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPath_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+        "//src/gpu/effects:GrDisableColorXP_hdr",
+        "//src/gpu/geometry:GrShape_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SurfaceDrawContext_src",
+    srcs = ["SurfaceDrawContext.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":PathRenderer_hdr",
+        ":SurfaceDrawContext_v1_hdr",
+        "//include/core:SkDrawable_hdr",
+        "//include/core:SkVertices_hdr",
+        "//include/gpu:GrBackendSemaphore_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:GrImageContext_hdr",
+        "//include/private:SkShadowFlags_hdr",
+        "//include/private:SkVx_hdr",
+        "//include/utils:SkShadowUtils_hdr",
+        "//src/core:SkAutoPixmapStorage_hdr",
+        "//src/core:SkConvertPixels_hdr",
+        "//src/core:SkDrawProcs_hdr",
+        "//src/core:SkDrawShadowInfo_hdr",
+        "//src/core:SkGlyphRunPainter_hdr",
+        "//src/core:SkLatticeIter_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkRRectPriv_hdr",
+        "//src/gpu:GrAppliedClip_hdr",
+        "//src/gpu:GrAttachment_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrClip_hdr",
+        "//src/gpu:GrColor_hdr",
+        "//src/gpu:GrDataUtils_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrDrawingManager_hdr",
+        "//src/gpu:GrGpuResourcePriv_hdr",
+        "//src/gpu:GrImageContextPriv_hdr",
+        "//src/gpu:GrImageInfo_hdr",
+        "//src/gpu:GrMemoryPool_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu:GrSemaphore_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+        "//src/gpu:GrStyle_hdr",
+        "//src/gpu:GrTracing_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrBicubicEffect_hdr",
+        "//src/gpu/effects:GrBlendFragmentProcessor_hdr",
+        "//src/gpu/effects:GrDisableColorXP_hdr",
+        "//src/gpu/effects:GrRRectEffect_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/geometry:GrQuadUtils_hdr",
+        "//src/gpu/geometry:GrQuad_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+        "//src/gpu/ops:ClearOp_hdr",
+        "//src/gpu/ops:DrawAtlasOp_hdr",
+        "//src/gpu/ops:DrawVerticesOp_hdr",
+        "//src/gpu/ops:DrawableOp_hdr",
+        "//src/gpu/ops:FillRRectOp_hdr",
+        "//src/gpu/ops:FillRectOp_hdr",
+        "//src/gpu/ops:GrDrawOp_hdr",
+        "//src/gpu/ops:GrOp_hdr",
+        "//src/gpu/ops:GrOvalOpFactory_hdr",
+        "//src/gpu/ops:LatticeOp_hdr",
+        "//src/gpu/ops:RegionOp_hdr",
+        "//src/gpu/ops:ShadowRRectOp_hdr",
+        "//src/gpu/ops:StrokeRectOp_hdr",
+        "//src/gpu/ops:TextureOp_hdr",
+        "//src/gpu/text:GrSDFTControl_hdr",
+        "//src/gpu/text:GrTextBlobCache_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SurfaceDrawContext_v1_hdr",
+    hdrs = ["SurfaceDrawContext_v1.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SurfaceFillContext_v1_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkDrawable_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkSurfaceProps_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/core:SkGlyphRunPainter_hdr",
+        "//src/gpu:GrPaint_hdr",
+        "//src/gpu:GrRenderTargetProxy_hdr",
+        "//src/gpu:GrSurfaceProxyView_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+        "//src/gpu/geometry:GrQuad_hdr",
+        "//src/gpu/ops:OpsTask_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SurfaceFillContext_v1_hdr",
+    hdrs = ["SurfaceFillContext_v1.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkSize_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:GrImageInfo_hdr",
+        "//src/gpu:GrSwizzle_hdr",
+        "//src/gpu:SurfaceFillContext_hdr",
+        "//src/gpu/ops:OpsTask_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SurfaceFillContext_v1_src",
+    srcs = ["SurfaceFillContext_v1.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SurfaceDrawContext_v1_hdr",
+        ":SurfaceFillContext_v1_hdr",
+        "//include/private:GrImageContext_hdr",
+        "//src/gpu:GrDstProxyView_hdr",
+        "//src/gpu:GrImageContextPriv_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/geometry:GrRect_hdr",
+        "//src/gpu/ops:ClearOp_hdr",
+        "//src/gpu/ops:FillRectOp_hdr",
+    ],
+)
diff --git a/src/gpu/vk/BUILD.bazel b/src/gpu/vk/BUILD.bazel
new file mode 100644
index 0000000..53720ef
--- /dev/null
+++ b/src/gpu/vk/BUILD.bazel
@@ -0,0 +1,1028 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "GrVkAMDMemoryAllocator_hdr",
+    hdrs = ["GrVkAMDMemoryAllocator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/gpu/vk:GrVkMemoryAllocator_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrVkAMDMemoryAllocator_src",
+    srcs = ["GrVkAMDMemoryAllocator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkAMDMemoryAllocator_hdr",
+        ":GrVkInterface_hdr",
+        ":GrVkMemory_hdr",
+        ":GrVkUtil_hdr",
+        "//include/gpu/vk:GrVkExtensions_hdr",
+        "//src/core:SkTraceEvent_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkBuffer_hdr",
+    hdrs = ["GrVkBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/gpu:GrGpuBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkBuffer_src",
+    srcs = ["GrVkBuffer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkBuffer_hdr",
+        ":GrVkDescriptorSet_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkMemory_hdr",
+        ":GrVkUtil_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkCaps_hdr",
+    hdrs = ["GrVkCaps.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/gpu:GrCaps_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkCaps_src",
+    srcs = ["GrVkCaps.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkCaps_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkImage_hdr",
+        ":GrVkInterface_hdr",
+        ":GrVkRenderTarget_hdr",
+        ":GrVkTexture_hdr",
+        ":GrVkUniformHandler_hdr",
+        ":GrVkUtil_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu/vk:GrVkBackendContext_hdr",
+        "//include/gpu/vk:GrVkExtensions_hdr",
+        "//src/core:SkCompressedDataUtils_hdr",
+        "//src/gpu:GrBackendUtils_hdr",
+        "//src/gpu:GrProgramDesc_hdr",
+        "//src/gpu:GrRenderTargetProxy_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+        "//src/gpu:GrUtil_hdr",
+        "//src/gpu:SkGr_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkCommandBuffer_hdr",
+    hdrs = ["GrVkCommandBuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkGpu_hdr",
+        ":GrVkSemaphore_hdr",
+        ":GrVkUtil_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+        "//src/gpu:GrRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkCommandBuffer_src",
+    srcs = ["GrVkCommandBuffer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkBuffer_hdr",
+        ":GrVkCommandBuffer_hdr",
+        ":GrVkCommandPool_hdr",
+        ":GrVkFramebuffer_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkImageView_hdr",
+        ":GrVkImage_hdr",
+        ":GrVkPipelineState_hdr",
+        ":GrVkPipeline_hdr",
+        ":GrVkRenderPass_hdr",
+        ":GrVkRenderTarget_hdr",
+        ":GrVkUtil_hdr",
+        "//include/core:SkRect_hdr",
+        "//src/core:SkTraceEvent_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkCommandPool_hdr",
+    hdrs = ["GrVkCommandPool.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkInterface_hdr",
+        ":GrVkManagedResource_hdr",
+        ":GrVkResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkCommandPool_src",
+    srcs = ["GrVkCommandPool.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkCommandBuffer_hdr",
+        ":GrVkCommandPool_hdr",
+        ":GrVkGpu_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkDescriptorPool_hdr",
+    hdrs = ["GrVkDescriptorPool.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkManagedResource_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkDescriptorPool_src",
+    srcs = ["GrVkDescriptorPool.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkDescriptorPool_hdr",
+        ":GrVkGpu_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkDescriptorSetManager_hdr",
+    hdrs = ["GrVkDescriptorSetManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkDescriptorPool_hdr",
+        ":GrVkSampler_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/gpu:GrResourceHandle_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkDescriptorSetManager_src",
+    srcs = ["GrVkDescriptorSetManager.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkDescriptorPool_hdr",
+        ":GrVkDescriptorSetManager_hdr",
+        ":GrVkDescriptorSet_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkDescriptorSet_hdr",
+    hdrs = ["GrVkDescriptorSet.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkDescriptorSetManager_hdr",
+        ":GrVkManagedResource_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkDescriptorSet_src",
+    srcs = ["GrVkDescriptorSet.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkDescriptorPool_hdr",
+        ":GrVkDescriptorSet_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkExtensions_src",
+    srcs = ["GrVkExtensions.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/vk:GrVkBackendContext_hdr",
+        "//include/gpu/vk:GrVkExtensions_hdr",
+        "//src/core:SkTSearch_hdr",
+        "//src/core:SkTSort_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkFramebuffer_hdr",
+    hdrs = ["GrVkFramebuffer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkManagedResource_hdr",
+        ":GrVkResourceProvider_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkFramebuffer_src",
+    srcs = ["GrVkFramebuffer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkCommandBuffer_hdr",
+        ":GrVkFramebuffer_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkImageView_hdr",
+        ":GrVkImage_hdr",
+        ":GrVkRenderPass_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkGpu_hdr",
+    hdrs = ["GrVkGpu.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkCaps_hdr",
+        ":GrVkMSAALoadManager_hdr",
+        ":GrVkMemory_hdr",
+        ":GrVkResourceProvider_hdr",
+        ":GrVkSemaphore_hdr",
+        ":GrVkUtil_hdr",
+        "//include/gpu/vk:GrVkBackendContext_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrStagingBufferManager_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkGpu_src",
+    srcs = ["GrVkGpu.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkAMDMemoryAllocator_hdr",
+        ":GrVkBuffer_hdr",
+        ":GrVkCommandBuffer_hdr",
+        ":GrVkCommandPool_hdr",
+        ":GrVkFramebuffer_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkImage_hdr",
+        ":GrVkInterface_hdr",
+        ":GrVkMemory_hdr",
+        ":GrVkOpsRenderPass_hdr",
+        ":GrVkPipelineState_hdr",
+        ":GrVkPipeline_hdr",
+        ":GrVkRenderPass_hdr",
+        ":GrVkResourceProvider_hdr",
+        ":GrVkSemaphore_hdr",
+        ":GrVkTextureRenderTarget_hdr",
+        ":GrVkTexture_hdr",
+        "//include/gpu:GrBackendSemaphore_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu/vk:GrVkExtensions_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkCompressedDataUtils_hdr",
+        "//src/core:SkConvertPixels_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrBackendUtils_hdr",
+        "//src/gpu:GrDataUtils_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrGpuResourceCacheAccess_hdr",
+        "//src/gpu:GrNativeRect_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:GrThreadSafePipelineBuilder_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/image:SkImage_Gpu_hdr",
+        "//src/image:SkSurface_Gpu_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkImageLayout_hdr",
+    hdrs = ["GrVkImageLayout.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkImageView_hdr",
+    hdrs = ["GrVkImageView.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkManagedResource_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkImageView_src",
+    srcs = ["GrVkImageView.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkGpu_hdr",
+        ":GrVkImageView_hdr",
+        ":GrVkSamplerYcbcrConversion_hdr",
+        ":GrVkUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkImage_hdr",
+    hdrs = ["GrVkImage.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkDescriptorSet_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:GrVkTypesPriv_hdr",
+        "//src/gpu:GrAttachment_hdr",
+        "//src/gpu:GrBackendSurfaceMutableStateImpl_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+        "//src/gpu:GrRefCnt_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkImage_src",
+    srcs = ["GrVkImage.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkGpu_hdr",
+        ":GrVkImageView_hdr",
+        ":GrVkImage_hdr",
+        ":GrVkMemory_hdr",
+        ":GrVkTexture_hdr",
+        ":GrVkUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkInterface_hdr",
+    hdrs = ["GrVkInterface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/gpu/vk:GrVkBackendContext_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkInterface_src",
+    srcs = ["GrVkInterface.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkInterface_hdr",
+        ":GrVkUtil_hdr",
+        "//include/gpu/vk:GrVkBackendContext_hdr",
+        "//include/gpu/vk:GrVkExtensions_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkMSAALoadManager_hdr",
+    hdrs = ["GrVkMSAALoadManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkDescriptorSetManager_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/gpu:GrNativeRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkMSAALoadManager_src",
+    srcs = ["GrVkMSAALoadManager.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkBuffer_hdr",
+        ":GrVkCommandBuffer_hdr",
+        ":GrVkDescriptorSet_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkImageView_hdr",
+        ":GrVkMSAALoadManager_hdr",
+        ":GrVkPipeline_hdr",
+        ":GrVkRenderTarget_hdr",
+        ":GrVkResourceProvider_hdr",
+        ":GrVkUtil_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkManagedResource_hdr",
+    hdrs = ["GrVkManagedResource.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu:GrManagedResource_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrVkMemory_hdr",
+    hdrs = ["GrVkMemory.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/gpu/vk:GrVkMemoryAllocator_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkMemory_src",
+    srcs = ["GrVkMemory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkGpu_hdr",
+        ":GrVkMemory_hdr",
+        ":GrVkUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkOpsRenderPass_hdr",
+    hdrs = ["GrVkOpsRenderPass.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkPipelineState_hdr",
+        ":GrVkRenderPass_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/gpu:GrColor_hdr",
+        "//src/gpu:GrOpsRenderPass_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkOpsRenderPass_src",
+    srcs = ["GrVkOpsRenderPass.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkBuffer_hdr",
+        ":GrVkCommandBuffer_hdr",
+        ":GrVkCommandPool_hdr",
+        ":GrVkFramebuffer_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkImage_hdr",
+        ":GrVkOpsRenderPass_hdr",
+        ":GrVkPipeline_hdr",
+        ":GrVkRenderPass_hdr",
+        ":GrVkRenderTarget_hdr",
+        ":GrVkResourceProvider_hdr",
+        ":GrVkSemaphore_hdr",
+        ":GrVkTexture_hdr",
+        "//include/core:SkDrawable_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/gpu:GrBackendDrawableInfo_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/gpu:GrBackendUtils_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrOpFlushState_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkPipelineStateBuilder_hdr",
+    hdrs = ["GrVkPipelineStateBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkPipelineState_hdr",
+        ":GrVkUniformHandler_hdr",
+        ":GrVkVaryingHandler_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkPipelineStateBuilder_src",
+    srcs = ["GrVkPipelineStateBuilder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkDescriptorSetManager_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkPipelineStateBuilder_hdr",
+        ":GrVkPipeline_hdr",
+        ":GrVkRenderPass_hdr",
+        ":GrVkRenderTarget_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrAutoLocaleSetter_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrPersistentCacheUtils_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/gpu:GrShaderUtils_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkPipelineStateCache_src",
+    srcs = ["GrVkPipelineStateCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkGpu_hdr",
+        ":GrVkPipelineStateBuilder_hdr",
+        ":GrVkPipelineState_hdr",
+        ":GrVkResourceProvider_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/core:SkOpts_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrProcessor_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkPipelineStateDataManager_hdr",
+    hdrs = ["GrVkPipelineStateDataManager.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkUniformHandler_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/gpu:GrUniformDataManager_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkPipelineStateDataManager_src",
+    srcs = ["GrVkPipelineStateDataManager.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkCommandBuffer_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkPipelineStateDataManager_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrGpuBuffer_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkPipelineState_hdr",
+    hdrs = ["GrVkPipelineState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkDescriptorSetManager_hdr",
+        ":GrVkDescriptorSet_hdr",
+        ":GrVkPipelineStateDataManager_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/gpu:GrRefCnt_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkPipelineState_src",
+    srcs = ["GrVkPipelineState.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkBuffer_hdr",
+        ":GrVkCommandBuffer_hdr",
+        ":GrVkDescriptorPool_hdr",
+        ":GrVkDescriptorSet_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkImageView_hdr",
+        ":GrVkMemory_hdr",
+        ":GrVkPipelineState_hdr",
+        ":GrVkPipeline_hdr",
+        ":GrVkRenderTarget_hdr",
+        ":GrVkSampler_hdr",
+        ":GrVkTexture_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkPipeline_hdr",
+    hdrs = ["GrVkPipeline.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkManagedResource_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrXferProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkPipeline_src",
+    srcs = ["GrVkPipeline.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkCommandBuffer_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkPipeline_hdr",
+        ":GrVkRenderTarget_hdr",
+        ":GrVkUtil_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrGeometryProcessor_hdr",
+        "//src/gpu:GrPipeline_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkRenderPass_hdr",
+    hdrs = ["GrVkRenderPass.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkManagedResource_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//include/private:SkMacros_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkRenderPass_src",
+    srcs = ["GrVkRenderPass.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkFramebuffer_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkRenderPass_hdr",
+        ":GrVkRenderTarget_hdr",
+        ":GrVkUtil_hdr",
+        "//src/gpu:GrProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkRenderTarget_hdr",
+    hdrs = ["GrVkRenderTarget.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkImage_hdr",
+        ":GrVkRenderPass_hdr",
+        ":GrVkResourceProvider_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkRenderTarget_src",
+    srcs = ["GrVkRenderTarget.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkCommandBuffer_hdr",
+        ":GrVkDescriptorSet_hdr",
+        ":GrVkFramebuffer_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkImageView_hdr",
+        ":GrVkRenderTarget_hdr",
+        ":GrVkResourceProvider_hdr",
+        ":GrVkUtil_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/gpu:GrBackendSurfaceMutableStateImpl_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkResourceProvider_hdr",
+    hdrs = ["GrVkResourceProvider.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkDescriptorPool_hdr",
+        ":GrVkDescriptorSetManager_hdr",
+        ":GrVkPipelineStateBuilder_hdr",
+        ":GrVkRenderPass_hdr",
+        ":GrVkSamplerYcbcrConversion_hdr",
+        ":GrVkSampler_hdr",
+        ":GrVkUtil_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/core:SkLRUCache_hdr",
+        "//src/core:SkTDynamicHash_hdr",
+        "//src/core:SkTInternalLList_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrManagedResource_hdr",
+        "//src/gpu:GrProgramDesc_hdr",
+        "//src/gpu:GrResourceHandle_hdr",
+        "//src/gpu:GrThreadSafePipelineBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkResourceProvider_src",
+    srcs = ["GrVkResourceProvider.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkCommandBuffer_hdr",
+        ":GrVkCommandPool_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkPipeline_hdr",
+        ":GrVkRenderTarget_hdr",
+        ":GrVkResourceProvider_hdr",
+        ":GrVkUtil_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/core:SkTaskGroup_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrSamplerState_hdr",
+        "//src/gpu:GrStencilSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkSamplerYcbcrConversion_hdr",
+    hdrs = ["GrVkSamplerYcbcrConversion.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkManagedResource_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/core:SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkSamplerYcbcrConversion_src",
+    srcs = ["GrVkSamplerYcbcrConversion.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkGpu_hdr",
+        ":GrVkSamplerYcbcrConversion_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkSampler_hdr",
+    hdrs = ["GrVkSampler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkManagedResource_hdr",
+        ":GrVkSamplerYcbcrConversion_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/core:SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkSampler_src",
+    srcs = ["GrVkSampler.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkGpu_hdr",
+        ":GrVkSamplerYcbcrConversion_hdr",
+        ":GrVkSampler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkSecondaryCBDrawContext_hdr",
+    hdrs = ["GrVkSecondaryCBDrawContext.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkSurfaceProps_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkSecondaryCBDrawContext_src",
+    srcs = ["GrVkSecondaryCBDrawContext.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkSecondaryCBDrawContext_hdr",
+        "//include/core:SkDeferredDisplayList_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkSurfaceCharacterization_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/core:SkSurfacePriv_hdr",
+        "//src/gpu:GrContextThreadSafeProxyPriv_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrRenderTargetProxy_hdr",
+        "//src/gpu:GrSurfaceProxyView_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkSemaphore_hdr",
+    hdrs = ["GrVkSemaphore.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkManagedResource_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/gpu:GrSemaphore_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkSemaphore_src",
+    srcs = ["GrVkSemaphore.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkGpu_hdr",
+        ":GrVkSemaphore_hdr",
+        ":GrVkUtil_hdr",
+        "//include/gpu:GrBackendSemaphore_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkTextureRenderTarget_hdr",
+    hdrs = ["GrVkTextureRenderTarget.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkRenderTarget_hdr",
+        ":GrVkTexture_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkTextureRenderTarget_src",
+    srcs = ["GrVkTextureRenderTarget.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkGpu_hdr",
+        ":GrVkImageView_hdr",
+        ":GrVkImage_hdr",
+        ":GrVkTextureRenderTarget_hdr",
+        ":GrVkUtil_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkTexture_hdr",
+    hdrs = ["GrVkTexture.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkImage_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/core:SkLRUCache_hdr",
+        "//src/gpu:GrSamplerState_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkTexture_src",
+    srcs = ["GrVkTexture.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkDescriptorSet_hdr",
+        ":GrVkGpu_hdr",
+        ":GrVkImageView_hdr",
+        ":GrVkTextureRenderTarget_hdr",
+        ":GrVkTexture_hdr",
+        ":GrVkUtil_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkTypesPriv_src",
+    srcs = ["GrVkTypesPriv.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkImageLayout_hdr",
+        "//include/private:GrVkTypesPriv_hdr",
+        "//src/gpu:GrBackendSurfaceMutableStateImpl_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkUniformHandler_hdr",
+    hdrs = ["GrVkUniformHandler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkSampler_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//src/core:SkTBlockList_hdr",
+        "//src/gpu:GrSamplerState_hdr",
+        "//src/gpu:GrShaderVar_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkUniformHandler_src",
+    srcs = ["GrVkUniformHandler.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkGpu_hdr",
+        ":GrVkPipelineStateBuilder_hdr",
+        ":GrVkTexture_hdr",
+        ":GrVkUniformHandler_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu/glsl:GrGLSLProgramBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkUtil_hdr",
+    hdrs = ["GrVkUtil.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkInterface_hdr",
+        "//include/gpu:GrTypes_hdr",
+        "//include/gpu/vk:GrVkTypes_hdr",
+        "//include/private:SkMacros_hdr",
+        "//src/gpu:GrColor_hdr",
+        "//src/gpu:GrDataUtils_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkUtil_src",
+    srcs = ["GrVkUtil.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":GrVkGpu_hdr",
+        ":GrVkUtil_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrDataUtils_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "GrVkVaryingHandler_hdr",
+    hdrs = ["GrVkVaryingHandler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/gpu/glsl:GrGLSLVarying_hdr"],
+)
+
+generated_cc_atom(
+    name = "GrVkVaryingHandler_src",
+    srcs = ["GrVkVaryingHandler.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":GrVkVaryingHandler_hdr"],
+)
diff --git a/src/image/BUILD.bazel b/src/image/BUILD.bazel
index ae6c461..0db7ce8 100644
--- a/src/image/BUILD.bazel
+++ b/src/image/BUILD.bazel
@@ -1,46 +1,383 @@
-# https://github.com/bazelbuild/bazel-skylib
-load("@bazel_skylib//lib:selects.bzl", "selects")
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-package(default_visibility = ["//visibility:private"])
-
-filegroup(
-    name = "core-srcs",
-    srcs = [
-        "SkImage.cpp",
-        "SkImage_Base.h",
-        "SkImage_Lazy.cpp",
-        "SkImage_Lazy.h",
-        "SkImage_Raster.cpp",
-        "SkReadPixelsRec.h",
-        "SkRescaleAndReadPixels.cpp",
-        "SkRescaleAndReadPixels.h",
-        "SkSurface.cpp",
-        "SkSurface_Base.h",
-        "SkSurface_Raster.cpp",
-    ],
-)
-
-filegroup(
-    name = "gpu-srcs",
-    srcs = [
-        "SkImage_Gpu.cpp",
-        "SkImage_Gpu.h",
-        "SkImage_GpuBase.cpp",
-        "SkImage_GpuBase.h",
-        "SkImage_GpuYUVA.cpp",
-        "SkImage_GpuYUVA.h",
-        "SkSurface_Gpu.cpp",
-        "SkSurface_Gpu.h",
-    ],
-)
-
-filegroup(
-    name = "srcs",
-    srcs = [":core-srcs"] + selects.with_or({
-        ("//bazel/common_config_settings:gl_backend", "//bazel/common_config_settings:vulkan_backend"): [
-            ":gpu-srcs",
-        ],
-        "//conditions:default": [],
-    }),
+generated_cc_atom(
+    name = "SkImage_Base_hdr",
+    hdrs = ["SkImage_Base.h"],
     visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImage_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/gpu:GrSurfaceProxyView_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:SkGr_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImage_GpuBase_hdr",
+    hdrs = ["SkImage_GpuBase.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImage_Base_hdr",
+        "//include/core:SkDeferredDisplayListRecorder_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//src/core:SkYUVAInfoLocation_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImage_GpuBase_src",
+    srcs = ["SkImage_GpuBase.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImage_GpuBase_hdr",
+        ":SkImage_Gpu_hdr",
+        ":SkReadPixelsRec_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkPromiseImageTexture_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/gpu:GrYUVABackendTextures_hdr",
+        "//src/core:SkBitmapCache_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrImageContextPriv_hdr",
+        "//src/gpu:GrImageInfo_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrResourceProvider_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:GrYUVATextureProxies_hdr",
+        "//src/gpu:SurfaceContext_hdr",
+        "//src/gpu/effects:GrYUVtoRGBEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImage_GpuYUVA_hdr",
+    hdrs = ["SkImage_GpuYUVA.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImage_GpuBase_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//src/core:SkCachedData_hdr",
+        "//src/gpu:GrYUVATextureProxies_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImage_GpuYUVA_src",
+    srcs = ["SkImage_GpuYUVA.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImage_GpuYUVA_hdr",
+        ":SkImage_Gpu_hdr",
+        "//include/core:SkYUVAPixmaps_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/gpu:GrYUVABackendTextures_hdr",
+        "//src/core:SkAutoPixmapStorage_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/core:SkScopeExit_hdr",
+        "//src/gpu:GrClip_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrImageContextPriv_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu:SurfaceFillContext_hdr",
+        "//src/gpu/effects:GrBicubicEffect_hdr",
+        "//src/gpu/effects:GrYUVtoRGBEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImage_Gpu_hdr",
+    hdrs = ["SkImage_Gpu.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImage_GpuBase_hdr",
+        "//include/private:SkSpinlock_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/gpu:GrGpuResourcePriv_hdr",
+        "//src/gpu:GrSurfaceProxyPriv_hdr",
+        "//src/gpu:GrSurfaceProxyView_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImage_Gpu_src",
+    srcs = ["SkImage_Gpu.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImage_Gpu_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/gpu:GrYUVABackendTextures_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//src/core:SkAutoPixmapStorage_hdr",
+        "//src/core:SkBitmapCache_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/core:SkScopeExit_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrAHardwareBufferImageGenerator_hdr",
+        "//src/gpu:GrAHardwareBufferUtils_hdr",
+        "//src/gpu:GrBackendTextureImageGenerator_hdr",
+        "//src/gpu:GrBackendUtils_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrColorSpaceXform_hdr",
+        "//src/gpu:GrContextThreadSafeProxyPriv_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrDrawingManager_hdr",
+        "//src/gpu:GrGpu_hdr",
+        "//src/gpu:GrImageContextPriv_hdr",
+        "//src/gpu:GrImageInfo_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrSemaphore_hdr",
+        "//src/gpu:GrTextureProxyPriv_hdr",
+        "//src/gpu:GrTextureProxy_hdr",
+        "//src/gpu:GrTexture_hdr",
+        "//src/gpu:GrYUVATextureProxies_hdr",
+        "//src/gpu:SurfaceFillContext_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/gl:GrGLTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImage_Lazy_hdr",
+    hdrs = ["SkImage_Lazy.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImage_Base_hdr",
+        "//include/core:SkYUVAPixmaps_hdr",
+        "//include/private:SkIDChangeListener_hdr",
+        "//include/private:SkMutex_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImage_Lazy_src",
+    srcs = ["SkImage_Lazy.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImage_Lazy_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkImageGenerator_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:GrResourceKey_hdr",
+        "//src/core:SkBitmapCache_hdr",
+        "//src/core:SkCachedData_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/core:SkNextID_hdr",
+        "//src/core:SkResourceCache_hdr",
+        "//src/core:SkYUVPlanesCache_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrColorSpaceXform_hdr",
+        "//src/gpu:GrGpuResourcePriv_hdr",
+        "//src/gpu:GrPaint_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrSamplerState_hdr",
+        "//src/gpu:GrYUVATextureProxies_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu:SurfaceFillContext_hdr",
+        "//src/gpu/effects:GrYUVtoRGBEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImage_Raster_src",
+    srcs = ["SkImage_Raster.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImage_Base_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkPixelRef_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//src/codec:SkColorTable_hdr",
+        "//src/core:SkCompressedDataUtils_hdr",
+        "//src/core:SkConvertPixels_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/core:SkTLazy_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrBicubicEffect_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/shaders:SkBitmapProcShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImage_src",
+    srcs = ["SkImage.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImage_Base_hdr",
+        ":SkImage_Gpu_hdr",
+        ":SkReadPixelsRec_hdr",
+        ":SkRescaleAndReadPixels_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkImageEncoder_hdr",
+        "//include/core:SkImageFilter_hdr",
+        "//include/core:SkImageGenerator_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrContextThreadSafeProxy_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//src/core:SkBitmapCache_hdr",
+        "//src/core:SkCachedData_hdr",
+        "//src/core:SkColorSpacePriv_hdr",
+        "//src/core:SkImageFilterCache_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/core:SkMipmapBuilder_hdr",
+        "//src/core:SkMipmap_hdr",
+        "//src/core:SkNextID_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSamplingPriv_hdr",
+        "//src/core:SkSpecialImage_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrImageContextPriv_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrBicubicEffect_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/shaders:SkImageShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkReadPixelsRec_hdr",
+    hdrs = ["SkReadPixelsRec.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkPixmap_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRescaleAndReadPixels_hdr",
+    hdrs = ["SkRescaleAndReadPixels.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkSamplingOptions_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRescaleAndReadPixels_src",
+    srcs = ["SkRescaleAndReadPixels.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkSurface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSurface_Base_hdr",
+    hdrs = ["SkSurface_Base.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkDeferredDisplayList_hdr",
+        "//include/core:SkSurface_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/core:SkSurfacePriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSurface_Gpu_hdr",
+    hdrs = ["SkSurface_Gpu.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSurface_Base_hdr",
+        "//include/private:GrTypesPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSurface_Gpu_src",
+    srcs = ["SkSurface_Gpu.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImage_Base_hdr",
+        ":SkImage_Gpu_hdr",
+        ":SkSurface_Base_hdr",
+        ":SkSurface_Gpu_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkDeferredDisplayList_hdr",
+        "//include/core:SkSurfaceCharacterization_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/core:SkSurfacePriv_hdr",
+        "//src/gpu:BaseDevice_hdr",
+        "//src/gpu:GrAHardwareBufferUtils_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrContextThreadSafeProxyPriv_hdr",
+        "//src/gpu:GrDirectContextPriv_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:GrRenderTarget_hdr",
+        "//src/gpu:GrTexture_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSurface_Raster_src",
+    srcs = ["SkSurface_Raster.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSurface_Base_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkMallocPixelRef_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//src/core:SkDevice_hdr",
+        "//src/core:SkImagePriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSurface_src",
+    srcs = ["SkSurface.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImage_Base_hdr",
+        ":SkRescaleAndReadPixels_hdr",
+        ":SkSurface_Base_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/gpu:GrBackendSurface_hdr",
+        "//include/utils:SkNoDrawCanvas_hdr",
+        "//src/core:SkAutoPixmapStorage_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/core:SkPaintPriv_hdr",
+    ],
 )
diff --git a/src/images/BUILD.bazel b/src/images/BUILD.bazel
index f999f92..94075e8 100644
--- a/src/images/BUILD.bazel
+++ b/src/images/BUILD.bazel
@@ -1,50 +1,110 @@
-load("//bazel:macros.bzl", "select_multi")
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-package(default_visibility = ["//visibility:private"])
-
-filegroup(
-    name = "core-srcs",
-    srcs = [
-        "SkImageEncoder.cpp",
-        "SkImageEncoderFns.h",
-        "SkImageEncoderPriv.h",
-    ],
-)
-
-filegroup(
-    name = "jpeg-srcs",
-    srcs = [
-        "SkJPEGWriteUtility.cpp",
-        "SkJPEGWriteUtility.h",
-        "SkJpegEncoder.cpp",
-    ],
-)
-
-filegroup(
-    name = "png-srcs",
-    srcs = [
-        "SkPngEncoder.cpp",
-    ],
-)
-
-filegroup(
-    name = "webp-srcs",
-    srcs = [
-        "SkWebpEncoder.cpp",
-    ],
-)
-
-filegroup(
-    name = "srcs",
-    srcs = [
-        ":core-srcs",
-    ] + select_multi(
-        {
-            "//bazel/common_config_settings:jpeg_encode_codec": [":jpeg-srcs"],
-            "//bazel/common_config_settings:png_encode_codec": [":png-srcs"],
-            "//bazel/common_config_settings:webp_encode_codec": [":webp-srcs"],
-        },
-        default = [],
-    ),
+generated_cc_atom(
+    name = "SkImageEncoderFns_hdr",
+    hdrs = ["SkImageEncoderFns.h"],
     visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/core:SkICC_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/third_party/skcms:skcms_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageEncoderPriv_hdr",
+    hdrs = ["SkImageEncoderPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkImageEncoder_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageEncoder_src",
+    srcs = ["SkImageEncoder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImageEncoderPriv_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/encode:SkJpegEncoder_hdr",
+        "//include/encode:SkPngEncoder_hdr",
+        "//include/encode:SkWebpEncoder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkJPEGWriteUtility_hdr",
+    hdrs = ["SkJPEGWriteUtility.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkStream_hdr",
+        "//src/codec:SkJpegPriv_hdr",
+        "//third_party:libjpeg-turbo",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkJPEGWriteUtility_src",
+    srcs = ["SkJPEGWriteUtility.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkJPEGWriteUtility_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkJpegEncoder_src",
+    srcs = ["SkJpegEncoder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImageEncoderFns_hdr",
+        ":SkImageEncoderPriv_hdr",
+        ":SkJPEGWriteUtility_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/encode:SkJpegEncoder_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkMSAN_hdr",
+        "//third_party:libjpeg-turbo",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPngEncoder_src",
+    srcs = ["SkPngEncoder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImageEncoderFns_hdr",
+        ":SkImageEncoderPriv_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/encode:SkPngEncoder_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//src/codec:SkColorTable_hdr",
+        "//src/codec:SkPngPriv_hdr",
+        "//src/core:SkMSAN_hdr",
+        "//third_party:libpng",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkWebpEncoder_src",
+    srcs = ["SkWebpEncoder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkImageEncoderFns_hdr",
+        ":SkImageEncoderPriv_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkUnPreMultiply_hdr",
+        "//include/encode:SkWebpEncoder_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/utils:SkUTF_hdr",
+        "//third_party:libwebp",
+    ],
 )
diff --git a/src/lazy/BUILD.bazel b/src/lazy/BUILD.bazel
new file mode 100644
index 0000000..0961b01
--- /dev/null
+++ b/src/lazy/BUILD.bazel
@@ -0,0 +1,25 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkDiscardableMemoryPool_hdr",
+    hdrs = ["SkDiscardableMemoryPool.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkMutex_hdr",
+        "//src/core:SkDiscardableMemory_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDiscardableMemoryPool_src",
+    srcs = ["SkDiscardableMemoryPool.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDiscardableMemoryPool_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkDiscardableMemory_hdr",
+        "//src/core:SkTInternalLList_hdr",
+    ],
+)
diff --git a/src/opts/BUILD.bazel b/src/opts/BUILD.bazel
index 18c00ff..a2405ef 100644
--- a/src/opts/BUILD.bazel
+++ b/src/opts/BUILD.bazel
@@ -1,28 +1,185 @@
-package(default_visibility = ["//:__subpackages__"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-# TODO(kjlubick) make these sources and headers dependent on target platform, as necessary
+generated_cc_atom(
+    name = "Sk4px_NEON_hdr",
+    hdrs = ["Sk4px_NEON.h"],
+    visibility = ["//:__subpackages__"],
+)
 
-filegroup(
-    name = "srcs",
-    srcs = [
-        "Sk4px_NEON.h",
-        "Sk4px_SSE2.h",
-        "Sk4px_none.h",
-        "SkBitmapProcState_opts.h",
-        "SkBlitMask_opts.h",
-        "SkBlitRow_opts.h",
-        "SkChecksum_opts.h",
-        "SkOpts_avx.cpp",
-        "SkOpts_crc32.cpp",
-        "SkOpts_hsw.cpp",
-        "SkOpts_skx.cpp",
-        "SkOpts_sse41.cpp",
-        "SkOpts_sse42.cpp",
-        "SkOpts_ssse3.cpp",
-        "SkRasterPipeline_opts.h",
-        "SkSwizzler_opts.h",
-        "SkUtils_opts.h",
-        "SkVM_opts.h",
-        "SkXfermode_opts.h",
+generated_cc_atom(
+    name = "Sk4px_SSE2_hdr",
+    hdrs = ["Sk4px_SSE2.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "Sk4px_none_hdr",
+    hdrs = ["Sk4px_none.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/core:SkUtils_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkBitmapProcState_opts_hdr",
+    hdrs = ["SkBitmapProcState_opts.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkVx_hdr",
+        "//src/core:SkBitmapProcState_hdr",
+        "//src/core:SkMSAN_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBlitMask_opts_hdr",
+    hdrs = ["SkBlitMask_opts.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/core:Sk4px_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkBlitRow_opts_hdr",
+    hdrs = ["SkBlitRow_opts.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkVx_hdr",
+        "//src/core:SkMSAN_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkChecksum_opts_hdr",
+    hdrs = ["SkChecksum_opts.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkChecksum_hdr",
+        "//src/core:SkUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpts_avx_src",
+    srcs = ["SkOpts_avx.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkUtils_opts_hdr",
+        "//src/core:SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpts_crc32_src",
+    srcs = ["SkOpts_crc32.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkChecksum_opts_hdr",
+        "//src/core:SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpts_hsw_src",
+    srcs = ["SkOpts_hsw.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapProcState_opts_hdr",
+        ":SkBlitRow_opts_hdr",
+        ":SkRasterPipeline_opts_hdr",
+        ":SkSwizzler_opts_hdr",
+        ":SkUtils_opts_hdr",
+        ":SkVM_opts_hdr",
+        "//src/core:SkCubicSolver_hdr",
+        "//src/core:SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpts_skx_src",
+    srcs = ["SkOpts_skx.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkVM_opts_hdr",
+        "//src/core:SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpts_sse41_src",
+    srcs = ["SkOpts_sse41.cpp"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkOpts_sse42_src",
+    srcs = ["SkOpts_sse42.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkChecksum_opts_hdr",
+        "//src/core:SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpts_ssse3_src",
+    srcs = ["SkOpts_ssse3.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapProcState_opts_hdr",
+        ":SkBlitMask_opts_hdr",
+        ":SkSwizzler_opts_hdr",
+        ":SkXfermode_opts_hdr",
+        "//src/core:SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRasterPipeline_opts_hdr",
+    hdrs = ["SkRasterPipeline_opts.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkData_hdr",
+        "//include/core:SkTypes_hdr",
+        "//src/core:SkUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSwizzler_opts_hdr",
+    hdrs = ["SkSwizzler_opts.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkVx_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkUtils_opts_hdr",
+    hdrs = ["SkUtils_opts.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkNx_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkVM_opts_hdr",
+    hdrs = ["SkVM_opts.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkVx_hdr",
+        "//src/core:SkVM_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkXfermode_opts_hdr",
+    hdrs = ["SkXfermode_opts.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkNx_hdr",
+        "//src/core:Sk4px_hdr",
+        "//src/core:SkMSAN_hdr",
+        "//src/core:SkXfermodePriv_hdr",
     ],
 )
diff --git a/src/pathops/BUILD.bazel b/src/pathops/BUILD.bazel
index 4d3c235..b8feb8f 100644
--- a/src/pathops/BUILD.bazel
+++ b/src/pathops/BUILD.bazel
@@ -1,64 +1,659 @@
-package(default_visibility = ["//:__subpackages__"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "srcs",
-    srcs = [
-        "SkAddIntersections.cpp",
-        "SkAddIntersections.h",
-        "SkDConicLineIntersection.cpp",
-        "SkDCubicLineIntersection.cpp",
-        "SkDCubicToQuads.cpp",
-        "SkDLineIntersection.cpp",
-        "SkDQuadLineIntersection.cpp",
-        "SkIntersectionHelper.h",
-        "SkIntersections.cpp",
-        "SkIntersections.h",
-        "SkLineParameters.h",
-        "SkOpAngle.cpp",
-        "SkOpAngle.h",
-        "SkOpBuilder.cpp",
-        "SkOpCoincidence.cpp",
-        "SkOpCoincidence.h",
-        "SkOpContour.cpp",
-        "SkOpContour.h",
-        "SkOpCubicHull.cpp",
-        "SkOpEdgeBuilder.cpp",
-        "SkOpEdgeBuilder.h",
-        "SkOpSegment.cpp",
-        "SkOpSegment.h",
-        "SkOpSpan.cpp",
-        "SkOpSpan.h",
-        "SkPathOpsAsWinding.cpp",
-        "SkPathOpsBounds.h",
-        "SkPathOpsCommon.cpp",
-        "SkPathOpsCommon.h",
-        "SkPathOpsConic.cpp",
-        "SkPathOpsConic.h",
-        "SkPathOpsCubic.cpp",
-        "SkPathOpsCubic.h",
-        "SkPathOpsCurve.cpp",
-        "SkPathOpsCurve.h",
-        "SkPathOpsDebug.cpp",
-        "SkPathOpsDebug.h",
-        "SkPathOpsLine.cpp",
-        "SkPathOpsLine.h",
-        "SkPathOpsOp.cpp",
-        "SkPathOpsPoint.h",
-        "SkPathOpsQuad.cpp",
-        "SkPathOpsQuad.h",
-        "SkPathOpsRect.cpp",
-        "SkPathOpsRect.h",
-        "SkPathOpsSimplify.cpp",
-        "SkPathOpsTCurve.h",
-        "SkPathOpsTSect.cpp",
-        "SkPathOpsTSect.h",
-        "SkPathOpsTightBounds.cpp",
-        "SkPathOpsTypes.cpp",
-        "SkPathOpsTypes.h",
-        "SkPathOpsWinding.cpp",
-        "SkPathWriter.cpp",
-        "SkPathWriter.h",
-        "SkReduceOrder.cpp",
-        "SkReduceOrder.h",
+generated_cc_atom(
+    name = "SkAddIntersections_hdr",
+    hdrs = ["SkAddIntersections.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIntersectionHelper_hdr",
+        ":SkIntersections_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAddIntersections_src",
+    srcs = ["SkAddIntersections.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAddIntersections_hdr",
+        ":SkOpCoincidence_hdr",
+        ":SkPathOpsBounds_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDConicLineIntersection_src",
+    srcs = ["SkDConicLineIntersection.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIntersections_hdr",
+        ":SkPathOpsConic_hdr",
+        ":SkPathOpsCurve_hdr",
+        ":SkPathOpsLine_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDCubicLineIntersection_src",
+    srcs = ["SkDCubicLineIntersection.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIntersections_hdr",
+        ":SkPathOpsCubic_hdr",
+        ":SkPathOpsCurve_hdr",
+        ":SkPathOpsLine_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDCubicToQuads_src",
+    srcs = ["SkDCubicToQuads.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathOpsCubic_hdr",
+        ":SkPathOpsQuad_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDLineIntersection_src",
+    srcs = ["SkDLineIntersection.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIntersections_hdr",
+        ":SkPathOpsLine_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDQuadLineIntersection_src",
+    srcs = ["SkDQuadLineIntersection.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIntersections_hdr",
+        ":SkPathOpsCurve_hdr",
+        ":SkPathOpsLine_hdr",
+        ":SkPathOpsQuad_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkIntersectionHelper_hdr",
+    hdrs = ["SkIntersectionHelper.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpContour_hdr",
+        ":SkOpSegment_hdr",
+        ":SkPathOpsPoint_hdr",
+        "//include/core:SkPath_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkIntersections_hdr",
+    hdrs = ["SkIntersections.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathOpsConic_hdr",
+        ":SkPathOpsCubic_hdr",
+        ":SkPathOpsLine_hdr",
+        ":SkPathOpsPoint_hdr",
+        ":SkPathOpsQuad_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkIntersections_src",
+    srcs = ["SkIntersections.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkIntersections_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkLineParameters_hdr",
+    hdrs = ["SkLineParameters.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathOpsCubic_hdr",
+        ":SkPathOpsLine_hdr",
+        ":SkPathOpsQuad_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpAngle_hdr",
+    hdrs = ["SkOpAngle.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkLineParameters_hdr",
+        ":SkPathOpsCurve_hdr",
+        "//include/core:SkString_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpAngle_src",
+    srcs = ["SkOpAngle.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpAngle_hdr",
+        ":SkOpSegment_hdr",
+        ":SkPathOpsCurve_hdr",
+        "//src/core:SkTSort_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpBuilder_src",
+    srcs = ["SkOpBuilder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpEdgeBuilder_hdr",
+        ":SkPathOpsCommon_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/pathops:SkPathOps_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkPathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpCoincidence_hdr",
+    hdrs = ["SkOpCoincidence.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpSpan_hdr",
+        ":SkPathOpsTypes_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpCoincidence_src",
+    srcs = ["SkOpCoincidence.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpCoincidence_hdr",
+        ":SkOpSegment_hdr",
+        ":SkPathOpsTSect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpContour_hdr",
+    hdrs = ["SkOpContour.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpSegment_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpContour_src",
+    srcs = ["SkOpContour.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpContour_hdr",
+        ":SkPathWriter_hdr",
+        ":SkReduceOrder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpCubicHull_src",
+    srcs = ["SkOpCubicHull.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkPathOpsCubic_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkOpEdgeBuilder_hdr",
+    hdrs = ["SkOpEdgeBuilder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpContour_hdr",
+        ":SkPathWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpEdgeBuilder_src",
+    srcs = ["SkOpEdgeBuilder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpEdgeBuilder_hdr",
+        ":SkReduceOrder_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/core:SkTSort_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpSegment_hdr",
+    hdrs = ["SkOpSegment.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpAngle_hdr",
+        ":SkOpSpan_hdr",
+        ":SkPathOpsBounds_hdr",
+        ":SkPathOpsCubic_hdr",
+        ":SkPathOpsCurve_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpSegment_src",
+    srcs = ["SkOpSegment.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpCoincidence_hdr",
+        ":SkOpContour_hdr",
+        ":SkOpSegment_hdr",
+        ":SkPathWriter_hdr",
+        "//src/core:SkPointPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpSpan_hdr",
+    hdrs = ["SkOpSpan.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathOpsDebug_hdr",
+        ":SkPathOpsTypes_hdr",
+        "//include/core:SkPoint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOpSpan_src",
+    srcs = ["SkOpSpan.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpCoincidence_hdr",
+        ":SkOpContour_hdr",
+        ":SkOpSegment_hdr",
+        ":SkPathWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsAsWinding_src",
+    srcs = ["SkPathOpsAsWinding.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpEdgeBuilder_hdr",
+        ":SkPathOpsCommon_hdr",
+        "//include/core:SkRect_hdr",
+        "//src/core:SkPathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsBounds_hdr",
+    hdrs = ["SkPathOpsBounds.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathOpsRect_hdr",
+        "//include/core:SkRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsCommon_hdr",
+    hdrs = ["SkPathOpsCommon.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpAngle_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsCommon_src",
+    srcs = ["SkPathOpsCommon.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAddIntersections_hdr",
+        ":SkOpCoincidence_hdr",
+        ":SkOpEdgeBuilder_hdr",
+        ":SkPathOpsCommon_hdr",
+        ":SkPathWriter_hdr",
+        "//include/private:SkMacros_hdr",
+        "//src/core:SkTSort_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsConic_hdr",
+    hdrs = ["SkPathOpsConic.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkPathOpsQuad_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsConic_src",
+    srcs = ["SkPathOpsConic.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIntersections_hdr",
+        ":SkLineParameters_hdr",
+        ":SkPathOpsConic_hdr",
+        ":SkPathOpsCubic_hdr",
+        ":SkPathOpsQuad_hdr",
+        ":SkPathOpsRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsCubic_hdr",
+    hdrs = ["SkPathOpsCubic.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathOpsTCurve_hdr",
+        "//include/core:SkPath_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsCubic_src",
+    srcs = ["SkPathOpsCubic.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkLineParameters_hdr",
+        ":SkPathOpsConic_hdr",
+        ":SkPathOpsCubic_hdr",
+        ":SkPathOpsCurve_hdr",
+        ":SkPathOpsLine_hdr",
+        ":SkPathOpsQuad_hdr",
+        ":SkPathOpsRect_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/core:SkTSort_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsCurve_hdr",
+    hdrs = ["SkPathOpsCurve.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIntersections_hdr",
+        "//include/core:SkPath_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsCurve_src",
+    srcs = ["SkPathOpsCurve.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathOpsBounds_hdr",
+        ":SkPathOpsCurve_hdr",
+        ":SkPathOpsRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsDebug_hdr",
+    hdrs = ["SkPathOpsDebug.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/pathops:SkPathOps_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsDebug_src",
+    srcs = ["SkPathOpsDebug.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIntersectionHelper_hdr",
+        ":SkIntersections_hdr",
+        ":SkOpAngle_hdr",
+        ":SkOpCoincidence_hdr",
+        ":SkOpContour_hdr",
+        ":SkOpSegment_hdr",
+        ":SkPathOpsConic_hdr",
+        ":SkPathOpsCubic_hdr",
+        ":SkPathOpsDebug_hdr",
+        ":SkPathOpsTypes_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkMutex_hdr",
+        "//src/core:SkOSFile_hdr",
+        "//src/core:SkPathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsLine_hdr",
+    hdrs = ["SkPathOpsLine.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkPathOpsPoint_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsLine_src",
+    srcs = ["SkPathOpsLine.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkPathOpsLine_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsOp_src",
+    srcs = ["SkPathOpsOp.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAddIntersections_hdr",
+        ":SkOpCoincidence_hdr",
+        ":SkOpEdgeBuilder_hdr",
+        ":SkPathOpsCommon_hdr",
+        ":SkPathWriter_hdr",
+        "//include/private:SkMutex_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsPoint_hdr",
+    hdrs = ["SkPathOpsPoint.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathOpsTypes_hdr",
+        "//include/core:SkPoint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsQuad_hdr",
+    hdrs = ["SkPathOpsQuad.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathOpsTCurve_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsQuad_src",
+    srcs = ["SkPathOpsQuad.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIntersections_hdr",
+        ":SkLineParameters_hdr",
+        ":SkPathOpsCubic_hdr",
+        ":SkPathOpsCurve_hdr",
+        ":SkPathOpsQuad_hdr",
+        ":SkPathOpsRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsRect_hdr",
+    hdrs = ["SkPathOpsRect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkPathOpsPoint_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsRect_src",
+    srcs = ["SkPathOpsRect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathOpsConic_hdr",
+        ":SkPathOpsCubic_hdr",
+        ":SkPathOpsLine_hdr",
+        ":SkPathOpsQuad_hdr",
+        ":SkPathOpsRect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsSimplify_src",
+    srcs = ["SkPathOpsSimplify.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAddIntersections_hdr",
+        ":SkOpCoincidence_hdr",
+        ":SkOpEdgeBuilder_hdr",
+        ":SkPathOpsCommon_hdr",
+        ":SkPathWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsTCurve_hdr",
+    hdrs = ["SkPathOpsTCurve.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkPathOpsPoint_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsTSect_hdr",
+    hdrs = ["SkPathOpsTSect.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIntersections_hdr",
+        ":SkPathOpsBounds_hdr",
+        ":SkPathOpsRect_hdr",
+        ":SkPathOpsTCurve_hdr",
+        "//include/private:SkMacros_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsTSect_src",
+    srcs = ["SkPathOpsTSect.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathOpsTSect_hdr",
+        "//src/core:SkTSort_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsTightBounds_src",
+    srcs = ["SkPathOpsTightBounds.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpEdgeBuilder_hdr",
+        ":SkPathOpsCommon_hdr",
+        "//src/core:SkPathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsTypes_hdr",
+    hdrs = ["SkPathOpsTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathOpsDebug_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/pathops:SkPathOps_hdr",
+        "//include/private:SkFloatingPoint_hdr",
+        "//include/private:SkSafe_math_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsTypes_src",
+    srcs = ["SkPathOpsTypes.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpCoincidence_hdr",
+        ":SkPathOpsTypes_hdr",
+        "//include/private:SkFloatBits_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathOpsWinding_src",
+    srcs = ["SkPathOpsWinding.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpContour_hdr",
+        ":SkOpSegment_hdr",
+        ":SkPathOpsCurve_hdr",
+        "//src/core:SkTSort_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathWriter_hdr",
+    hdrs = ["SkPathWriter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPath_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPathWriter_src",
+    srcs = ["SkPathWriter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOpSegment_hdr",
+        ":SkOpSpan_hdr",
+        ":SkPathOpsPoint_hdr",
+        ":SkPathWriter_hdr",
+        "//src/core:SkTSort_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkReduceOrder_hdr",
+    hdrs = ["SkReduceOrder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPathOpsCubic_hdr",
+        ":SkPathOpsLine_hdr",
+        ":SkPathOpsQuad_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkReduceOrder_src",
+    srcs = ["SkReduceOrder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkReduceOrder_hdr",
+        "//src/core:SkGeometry_hdr",
     ],
 )
diff --git a/src/pdf/BUILD.bazel b/src/pdf/BUILD.bazel
new file mode 100644
index 0000000..92f03a2
--- /dev/null
+++ b/src/pdf/BUILD.bazel
@@ -0,0 +1,675 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkBitmapKey_hdr",
+    hdrs = ["SkBitmapKey.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkRect_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkClusterator_hdr",
+    hdrs = ["SkClusterator.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkClusterator_src",
+    srcs = ["SkClusterator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkClusterator_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkGlyphRun_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDeflate_hdr",
+    hdrs = ["SkDeflate.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkStream_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkDeflate_src",
+    srcs = ["SkDeflate.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDeflate_hdr",
+        "//include/core:SkData_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//third_party:zlib",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDocument_PDF_None_src",
+    srcs = ["SkDocument_PDF_None.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkData_hdr",
+        "//include/docs:SkPDFDocument_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkJpegInfo_hdr",
+    hdrs = ["SkJpegInfo.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/codec:SkEncodedOrigin_hdr",
+        "//include/core:SkSize_hdr",
+        "//include/private:SkEncodedInfo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkJpegInfo_src",
+    srcs = ["SkJpegInfo.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkJpegInfo_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkKeyedImage_hdr",
+    hdrs = ["SkKeyedImage.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapKey_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkImage_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkKeyedImage_src",
+    srcs = ["SkKeyedImage.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkKeyedImage_hdr",
+        "//src/image:SkImage_Base_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFBitmap_hdr",
+    hdrs = ["SkPDFBitmap.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkPDFBitmap_src",
+    srcs = ["SkPDFBitmap.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDeflate_hdr",
+        ":SkJpegInfo_hdr",
+        ":SkPDFBitmap_hdr",
+        ":SkPDFDocumentPriv_hdr",
+        ":SkPDFTypes_hdr",
+        ":SkPDFUtils_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkExecutor_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFDevice_hdr",
+    hdrs = ["SkPDFDevice.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkKeyedImage_hdr",
+        ":SkPDFGraphicStackState_hdr",
+        ":SkPDFTypes_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkTHash_hdr",
+        "//src/core:SkClipStackDevice_hdr",
+        "//src/core:SkClipStack_hdr",
+        "//src/core:SkTextBlobPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFDevice_src",
+    srcs = ["SkPDFDevice.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapKey_hdr",
+        ":SkClusterator_hdr",
+        ":SkPDFBitmap_hdr",
+        ":SkPDFDevice_hdr",
+        ":SkPDFDocumentPriv_hdr",
+        ":SkPDFFont_hdr",
+        ":SkPDFFormXObject_hdr",
+        ":SkPDFGraphicState_hdr",
+        ":SkPDFResourceDict_hdr",
+        ":SkPDFShader_hdr",
+        ":SkPDFTypes_hdr",
+        ":SkPDFUtils_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkRRect_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/core:SkTextBlob_hdr",
+        "//include/docs:SkPDFDocument_hdr",
+        "//include/encode:SkJpegEncoder_hdr",
+        "//include/pathops:SkPathOps_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkAdvancedTypefaceMetrics_hdr",
+        "//src/core:SkAnnotationKeys_hdr",
+        "//src/core:SkBitmapDevice_hdr",
+        "//src/core:SkColorSpacePriv_hdr",
+        "//src/core:SkDraw_hdr",
+        "//src/core:SkGlyphRun_hdr",
+        "//src/core:SkImageFilterCache_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkMaskFilterBase_hdr",
+        "//src/core:SkRasterClip_hdr",
+        "//src/core:SkScalerCache_hdr",
+        "//src/core:SkScopeExit_hdr",
+        "//src/core:SkStrikeSpec_hdr",
+        "//src/core:SkTextFormatParams_hdr",
+        "//src/core:SkXfermodeInterpretation_hdr",
+        "//src/utils:SkClipStackUtils_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFDocumentPriv_hdr",
+    hdrs = ["SkPDFDocumentPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFMetadata_hdr",
+        ":SkPDFTag_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/docs:SkPDFDocument_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTHash_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFDocument_src",
+    srcs = ["SkPDFDocument.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFDevice_hdr",
+        ":SkPDFDocumentPriv_hdr",
+        ":SkPDFFont_hdr",
+        ":SkPDFGradientShader_hdr",
+        ":SkPDFGraphicState_hdr",
+        ":SkPDFShader_hdr",
+        ":SkPDFTag_hdr",
+        ":SkPDFUtils_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/docs:SkPDFDocument_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFFont_hdr",
+    hdrs = ["SkPDFFont.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFGlyphUse_hdr",
+        ":SkPDFTypes_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/core:SkTypes_hdr",
+        "//src/core:SkAdvancedTypefaceMetrics_hdr",
+        "//src/core:SkStrikeCache_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFFont_src",
+    srcs = ["SkPDFFont.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFBitmap_hdr",
+        ":SkPDFDocumentPriv_hdr",
+        ":SkPDFFont_hdr",
+        ":SkPDFMakeCIDGlyphWidthsArray_hdr",
+        ":SkPDFMakeToUnicodeCmap_hdr",
+        ":SkPDFSubsetFont_hdr",
+        ":SkPDFType1Font_hdr",
+        ":SkPDFUtils_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkFontMetrics_hdr",
+        "//include/core:SkFontTypes_hdr",
+        "//include/core:SkFont_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkSurfaceProps_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/docs:SkPDFDocument_hdr",
+        "//include/private:SkBitmaskEnum_hdr",
+        "//include/private:SkTHash_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkGlyph_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/core:SkMask_hdr",
+        "//src/core:SkScalerCache_hdr",
+        "//src/core:SkScalerContext_hdr",
+        "//src/core:SkStrikeSpec_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFFormXObject_hdr",
+    hdrs = ["SkPDFFormXObject.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFDevice_hdr",
+        ":SkPDFTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFFormXObject_src",
+    srcs = ["SkPDFFormXObject.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFFormXObject_hdr",
+        ":SkPDFUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFGlyphUse_hdr",
+    hdrs = ["SkPDFGlyphUse.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//src/utils:SkBitSet_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFGradientShader_hdr",
+    hdrs = ["SkPDFGradientShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFTypes_hdr",
+        ":SkPDFUtils_hdr",
+        "//include/core:SkShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFGradientShader_src",
+    srcs = ["SkPDFGradientShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFDocumentPriv_hdr",
+        ":SkPDFFormXObject_hdr",
+        ":SkPDFGradientShader_hdr",
+        ":SkPDFGraphicState_hdr",
+        ":SkPDFResourceDict_hdr",
+        ":SkPDFTypes_hdr",
+        ":SkPDFUtils_hdr",
+        "//include/docs:SkPDFDocument_hdr",
+        "//src/core:SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFGraphicStackState_hdr",
+    hdrs = ["SkPDFGraphicStackState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkScalar_hdr",
+        "//src/core:SkClipStack_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFGraphicStackState_src",
+    srcs = ["SkPDFGraphicStackState.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFGraphicStackState_hdr",
+        ":SkPDFUtils_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/pathops:SkPathOps_hdr",
+        "//src/utils:SkClipStackUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFGraphicState_hdr",
+    hdrs = ["SkPDFGraphicState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFTypes_hdr",
+        "//include/private:SkMacros_hdr",
+        "//src/core:SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFGraphicState_src",
+    srcs = ["SkPDFGraphicState.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFDocumentPriv_hdr",
+        ":SkPDFFormXObject_hdr",
+        ":SkPDFGraphicState_hdr",
+        ":SkPDFUtils_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/docs:SkPDFDocument_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFMakeCIDGlyphWidthsArray_hdr",
+    hdrs = ["SkPDFMakeCIDGlyphWidthsArray.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkPDFTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPDFMakeCIDGlyphWidthsArray_src",
+    srcs = ["SkPDFMakeCIDGlyphWidthsArray.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFGlyphUse_hdr",
+        ":SkPDFMakeCIDGlyphWidthsArray_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkScalerCache_hdr",
+        "//src/core:SkStrikeSpec_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFMakeToUnicodeCmap_hdr",
+    hdrs = ["SkPDFMakeToUnicodeCmap.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFFont_hdr",
+        "//include/core:SkStream_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFMakeToUnicodeCmap_src",
+    srcs = ["SkPDFMakeToUnicodeCmap.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFMakeToUnicodeCmap_hdr",
+        ":SkPDFUtils_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFMetadata_hdr",
+    hdrs = ["SkPDFMetadata.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFTypes_hdr",
+        ":SkUUID_hdr",
+        "//include/docs:SkPDFDocument_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFMetadata_src",
+    srcs = ["SkPDFMetadata.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFMetadata_hdr",
+        ":SkPDFTypes_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkMD5_hdr",
+        "//src/core:SkUtils_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFResourceDict_hdr",
+    hdrs = ["SkPDFResourceDict.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkPDFFont_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPDFResourceDict_src",
+    srcs = ["SkPDFResourceDict.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFResourceDict_hdr",
+        ":SkPDFTypes_hdr",
+        "//include/core:SkStream_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFShader_hdr",
+    hdrs = ["SkPDFShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapKey_hdr",
+        ":SkPDFTypes_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/private:SkMacros_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFShader_src",
+    srcs = ["SkPDFShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFDevice_hdr",
+        ":SkPDFDocumentPriv_hdr",
+        ":SkPDFFormXObject_hdr",
+        ":SkPDFGradientShader_hdr",
+        ":SkPDFGraphicState_hdr",
+        ":SkPDFResourceDict_hdr",
+        ":SkPDFShader_hdr",
+        ":SkPDFUtils_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/docs:SkPDFDocument_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFSubsetFont_hdr",
+    hdrs = ["SkPDFSubsetFont.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFGlyphUse_hdr",
+        "//include/core:SkData_hdr",
+        "//include/docs:SkPDFDocument_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFSubsetFont_src",
+    srcs = ["SkPDFSubsetFont.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFSubsetFont_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/utils:SkCallableTraits_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFTag_hdr",
+    hdrs = ["SkPDFTag.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/docs:SkPDFDocument_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTHash_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFTag_src",
+    srcs = ["SkPDFTag.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFDocumentPriv_hdr",
+        ":SkPDFTag_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFType1Font_hdr",
+    hdrs = ["SkPDFType1Font.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFDocumentPriv_hdr",
+        ":SkPDFFont_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFType1Font_src",
+    srcs = ["SkPDFType1Font.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFType1Font_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkStrikeSpec_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFTypes_hdr",
+    hdrs = ["SkPDFTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTHash_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFTypes_src",
+    srcs = ["SkPDFTypes.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDeflate_hdr",
+        ":SkPDFDocumentPriv_hdr",
+        ":SkPDFTypes_hdr",
+        ":SkPDFUnion_hdr",
+        ":SkPDFUtils_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkExecutor_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkStreamPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFUnion_hdr",
+    hdrs = ["SkPDFUnion.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkPDFTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPDFUtils_hdr",
+    hdrs = ["SkPDFUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFTypes_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkStream_hdr",
+        "//src/core:SkUtils_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+        "//src/utils:SkFloatToDecimal_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPDFUtils_src",
+    srcs = ["SkPDFUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPDFResourceDict_hdr",
+        ":SkPDFTypes_hdr",
+        ":SkPDFUtils_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkFixed_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/image:SkImage_Base_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkUUID_hdr",
+    hdrs = ["SkUUID.h"],
+    visibility = ["//:__subpackages__"],
+)
diff --git a/src/ports/BUILD.bazel b/src/ports/BUILD.bazel
index dff5645..be8d640 100644
--- a/src/ports/BUILD.bazel
+++ b/src/ports/BUILD.bazel
@@ -1,116 +1,1038 @@
-# https://github.com/bazelbuild/bazel-skylib
-load("@bazel_skylib//lib:selects.bzl", "selects")
-load("//bazel:macros.bzl", "select_multi")
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-package(default_visibility = ["//visibility:private"])
+generated_cc_atom(
+    name = "SkDebug_android_src",
+    srcs = ["SkDebug_android.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
 
-filegroup(
-    name = "typeface_freetype",
-    srcs = [
-        "SkFontHost_FreeType.cpp",
-        "SkFontHost_FreeType_common.cpp",
-        "SkFontHost_FreeType_common.h",
+generated_cc_atom(
+    name = "SkDebug_stdio_src",
+    srcs = ["SkDebug_stdio.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkDebug_win_src",
+    srcs = ["SkDebug_win.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//src/core:SkLeanWindows_hdr",
     ],
 )
 
-filegroup(
-    name = "fontmgr_factory",
-    srcs = selects.with_or({
-        "//bazel/common_config_settings:custom_embedded_fontmgr_factory": [
-            "SkFontMgr_custom_embedded_factory.cpp",
-        ],
-        ("//bazel/common_config_settings:empty_fontmgr_factory", "//conditions:default"): [
-            "SkFontMgr_empty_factory.cpp",
-        ],
-    }),
-)
-
-filegroup(
-    name = "custom_directory_fontmgr_srcs",
-    srcs = [
-        "SkFontMgr_custom.cpp",
-        "SkFontMgr_custom.h",
-        "SkFontMgr_custom_directory.cpp",
-        ":typeface_freetype",
+generated_cc_atom(
+    name = "SkDiscardableMemory_none_src",
+    srcs = ["SkDiscardableMemory_none.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//src/core:SkDiscardableMemory_hdr",
+        "//src/lazy:SkDiscardableMemoryPool_hdr",
     ],
 )
 
-filegroup(
-    name = "custom_embedded_fontmgr_srcs",
-    srcs = [
-        "SkFontMgr_custom.cpp",
-        "SkFontMgr_custom.h",
-        "SkFontMgr_custom_embedded.cpp",
-        ":typeface_freetype",
+generated_cc_atom(
+    name = "SkFontConfigInterface_direct_factory_src",
+    srcs = ["SkFontConfigInterface_direct_factory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontConfigInterface_direct_hdr",
+        "//include/private:SkOnce_hdr",
     ],
 )
 
-filegroup(
-    name = "custom_empty_fontmgr_srcs",
-    srcs = [
-        "SkFontMgr_custom.cpp",
-        "SkFontMgr_custom.h",
-        "SkFontMgr_custom_empty.cpp",
-        ":typeface_freetype",
+generated_cc_atom(
+    name = "SkFontConfigInterface_direct_hdr",
+    hdrs = ["SkFontConfigInterface_direct.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/ports:SkFontConfigInterface_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkFontConfigInterface_direct_src",
+    srcs = ["SkFontConfigInterface_direct.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontConfigInterface_direct_hdr",
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/core:SkBuffer_hdr",
     ],
 )
 
-filegroup(
-    name = "global_init",
-    srcs = [
-        "SkGlobalInitialization_default.cpp",  # TODO(kjlubick) use select
+generated_cc_atom(
+    name = "SkFontConfigInterface_src",
+    srcs = ["SkFontConfigInterface.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/ports:SkFontConfigInterface_hdr",
+        "//include/private:SkMutex_hdr",
     ],
 )
 
-filegroup(
-    name = "image_generator",
-    srcs = [
-        "SkImageGenerator_skia.cpp",  # TODO(kjlubick) use select
+generated_cc_atom(
+    name = "SkFontConfigTypeface_hdr",
+    hdrs = ["SkFontConfigTypeface.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontHost_FreeType_common_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/ports:SkFontConfigInterface_hdr",
+        "//src/core:SkFontDescriptor_hdr",
     ],
 )
 
-filegroup(
-    name = "osfile",
-    srcs = ["SkOSFile_stdio.cpp"] + select({
-        "@platforms//os:windows": ["SkOSFile_win.cpp"],
-        "//conditions:default": ["SkOSFile_posix.cpp"],
-    }),
-)
-
-filegroup(
-    name = "malloc",
-    srcs = [
-        "SkMemory_malloc.cpp",  # TODO(kjlubick) use select
+generated_cc_atom(
+    name = "SkFontHost_FreeType_common_hdr",
+    hdrs = ["SkFontHost_FreeType_common.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/core:SkTypes_hdr",
+        "//src/core:SkGlyph_hdr",
+        "//src/core:SkScalerContext_hdr",
+        "//src/core:SkSharedMutex_hdr",
+        "//src/utils:SkCharToGlyphCache_hdr",
     ],
 )
 
-filegroup(
-    name = "skdebug",
-    srcs = select({
-        "@platforms//os:windows": ["SkDebug_win.cpp"],
-        "@platforms//os:android": ["SkDebug_android.cpp"],
-        "//conditions:default": ["SkDebug_stdio.cpp"],
-    }),
+generated_cc_atom(
+    name = "SkFontHost_FreeType_common_src",
+    srcs = ["SkFontHost_FreeType_common.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontHost_FreeType_common_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/effects:SkGradientShader_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkFDot6_hdr",
+        "//src/core:SkScopeExit_hdr",
+        "//third_party:freetype2",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontHost_FreeType_src",
+    srcs = ["SkFontHost_FreeType.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontHost_FreeType_common_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkFontMetrics_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkAdvancedTypefaceMetrics_hdr",
+        "//src/core:SkDescriptor_hdr",
+        "//src/core:SkFDot6_hdr",
+        "//src/core:SkFontDescriptor_hdr",
+        "//src/core:SkGlyph_hdr",
+        "//src/core:SkMaskGamma_hdr",
+        "//src/core:SkMask_hdr",
+        "//src/core:SkScalerContext_hdr",
+        "//src/core:SkTSearch_hdr",
+        "//src/core:SkUtils_hdr",
+        "//src/sfnt:SkOTUtils_hdr",
+        "//src/utils:SkCallableTraits_hdr",
+        "//src/utils:SkMatrix22_hdr",
+        "//third_party:freetype2",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontHost_win_src",
+    srcs = ["SkFontHost_win.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkDataTable_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkFontMetrics_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/ports:SkTypeface_win_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkOnce_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+        "//include/utils:SkBase64_hdr",
+        "//src/core:SkAdvancedTypefaceMetrics_hdr",
+        "//src/core:SkDescriptor_hdr",
+        "//src/core:SkFontDescriptor_hdr",
+        "//src/core:SkGlyph_hdr",
+        "//src/core:SkLeanWindows_hdr",
+        "//src/core:SkMaskGamma_hdr",
+        "//src/core:SkStrikeCache_hdr",
+        "//src/core:SkTypefaceCache_hdr",
+        "//src/sfnt:SkOTTable_OS_2_hdr",
+        "//src/sfnt:SkOTTable_maxp_hdr",
+        "//src/sfnt:SkOTTable_name_hdr",
+        "//src/sfnt:SkOTUtils_hdr",
+        "//src/sfnt:SkSFNTHeader_hdr",
+        "//src/utils:SkMatrix22_hdr",
+        "//src/utils:SkUTF_hdr",
+        "//src/utils/win:SkHRESULT_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_FontConfigInterface_factory_src",
+    srcs = ["SkFontMgr_FontConfigInterface_factory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMgr_hdr",
+        "//include/ports:SkFontConfigInterface_hdr",
+        "//include/ports:SkFontMgr_FontConfigInterface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_FontConfigInterface_src",
+    srcs = ["SkFontMgr_FontConfigInterface.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontConfigTypeface_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/ports:SkFontConfigInterface_hdr",
+        "//include/ports:SkFontMgr_FontConfigInterface_hdr",
+        "//include/private:SkMutex_hdr",
+        "//src/core:SkFontDescriptor_hdr",
+        "//src/core:SkResourceCache_hdr",
+        "//src/core:SkTypefaceCache_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_android_factory_src",
+    srcs = ["SkFontMgr_android_factory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/ports:SkFontMgr_android_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_android_parser_hdr",
+    hdrs = ["SkFontMgr_android_parser.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//include/private:SkTHash_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_android_parser_src",
+    srcs = ["SkFontMgr_android_parser.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontMgr_android_parser_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//include/private:SkTLogic_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkOSFile_hdr",
+        "//src/core:SkTSearch_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_android_src",
+    srcs = ["SkFontMgr_android.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontHost_FreeType_common_hdr",
+        ":SkFontMgr_android_parser_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/ports:SkFontMgr_android_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkFontDescriptor_hdr",
+        "//src/core:SkOSFile_hdr",
+        "//src/core:SkTSearch_hdr",
+        "//src/core:SkTypefaceCache_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_custom_directory_factory_src",
+    srcs = ["SkFontMgr_custom_directory_factory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMgr_hdr",
+        "//include/ports:SkFontMgr_directory_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_custom_directory_src",
+    srcs = ["SkFontMgr_custom_directory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontMgr_custom_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/ports:SkFontMgr_directory_hdr",
+        "//src/core:SkOSFile_hdr",
+        "//src/utils:SkOSPath_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_custom_embedded_factory_src",
+    srcs = ["SkFontMgr_custom_embedded_factory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkFontMgr_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_custom_embedded_src",
+    srcs = ["SkFontMgr_custom_embedded.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontMgr_custom_hdr",
+        "//include/core:SkStream_hdr",
+        "//src/core:SkFontDescriptor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_custom_empty_factory_src",
+    srcs = ["SkFontMgr_custom_empty_factory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMgr_hdr",
+        "//include/ports:SkFontMgr_empty_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_custom_empty_src",
+    srcs = ["SkFontMgr_custom_empty.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontMgr_custom_hdr",
+        "//include/ports:SkFontMgr_empty_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_custom_hdr",
+    hdrs = ["SkFontMgr_custom.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontHost_FreeType_common_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_custom_src",
+    srcs = ["SkFontMgr_custom.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontHost_FreeType_common_hdr",
+        ":SkFontMgr_custom_hdr",
+        "//include/core:SkFontArguments_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkFontDescriptor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_empty_factory_src",
+    srcs = ["SkFontMgr_empty_factory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkFontMgr_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_fontconfig_factory_src",
+    srcs = ["SkFontMgr_fontconfig_factory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/ports:SkFontMgr_fontconfig_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_fontconfig_src",
+    srcs = ["SkFontMgr_fontconfig.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontHost_FreeType_common_hdr",
+        "//include/core:SkDataTable_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkMath_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkAdvancedTypefaceMetrics_hdr",
+        "//src/core:SkFontDescriptor_hdr",
+        "//src/core:SkOSFile_hdr",
+        "//src/core:SkTypefaceCache_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_fuchsia_src",
+    srcs = ["SkFontMgr_fuchsia.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFontMgr_custom_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/ports:SkFontMgr_fuchsia_hdr",
+        "//src/core:SkFontDescriptor_hdr",
+        "//src/core:SkTypefaceCache_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_mac_ct_factory_src",
+    srcs = ["SkFontMgr_mac_ct_factory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/ports:SkFontMgr_mac_ct_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_mac_ct_src",
+    srcs = ["SkFontMgr_mac_ct.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTypeface_mac_ct_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkFontArguments_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/ports:SkFontMgr_mac_ct_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkOnce_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkFontDescriptor_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_win_dw_factory_src",
+    srcs = ["SkFontMgr_win_dw_factory.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/ports:SkTypeface_win_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFontMgr_win_dw_src",
+    srcs = ["SkFontMgr_win_dw.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTypeface_win_dw_hdr",
+        "//include/core:SkFontMgr_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/ports:SkFontMgr_indirect_hdr",
+        "//include/ports:SkTypeface_win_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkEndian_hdr",
+        "//src/core:SkFontDescriptor_hdr",
+        "//src/core:SkTypefaceCache_hdr",
+        "//src/utils:SkUTF_hdr",
+        "//src/utils/win:SkDWriteFontFileStream_hdr",
+        "//src/utils/win:SkDWriteNTDDI_VERSION_hdr",
+        "//src/utils/win:SkDWrite_hdr",
+        "//src/utils/win:SkHRESULT_hdr",
+        "//src/utils/win:SkObjBase_hdr",
+        "//src/utils/win:SkTScopedComPtr_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGlobalInitialization_default_src",
+    srcs = ["SkGlobalInitialization_default.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBBHFactory_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkFlattenable_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/effects:Sk1DPathEffect_hdr",
+        "//include/effects:Sk2DPathEffect_hdr",
+        "//include/effects:SkCornerPathEffect_hdr",
+        "//include/effects:SkDiscretePathEffect_hdr",
+        "//include/effects:SkGradientShader_hdr",
+        "//include/effects:SkImageFilters_hdr",
+        "//include/effects:SkLayerDrawLooper_hdr",
+        "//include/effects:SkOverdrawColorFilter_hdr",
+        "//include/effects:SkPerlinNoiseShader_hdr",
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//include/effects:SkShaderMaskFilter_hdr",
+        "//include/effects:SkTableColorFilter_hdr",
+        "//src/core:SkBlendModeBlender_hdr",
+        "//src/core:SkColorFilter_Matrix_hdr",
+        "//src/core:SkImageFilter_Base_hdr",
+        "//src/core:SkLocalMatrixImageFilter_hdr",
+        "//src/core:SkMatrixImageFilter_hdr",
+        "//src/core:SkRecordedDrawable_hdr",
+        "//src/effects:SkDashImpl_hdr",
+        "//src/effects:SkEmbossMaskFilter_hdr",
+        "//src/effects:SkOpPE_hdr",
+        "//src/effects:SkTrimPE_hdr",
+        "//src/shaders:SkBitmapProcShader_hdr",
+        "//src/shaders:SkColorFilterShader_hdr",
+        "//src/shaders:SkColorShader_hdr",
+        "//src/shaders:SkComposeShader_hdr",
+        "//src/shaders:SkEmptyShader_hdr",
+        "//src/shaders:SkImageShader_hdr",
+        "//src/shaders:SkLocalMatrixShader_hdr",
+        "//src/shaders:SkPictureShader_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageEncoder_CG_src",
+    srcs = ["SkImageEncoder_CG.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkUnPreMultiply_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/utils/mac:SkCGUtils_hdr",
+        "//src/core:SkStreamPriv_hdr",
+        "//src/images:SkImageEncoderPriv_hdr",
+        "//src/utils/mac:SkUniqueCFRef_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageEncoder_NDK_src",
+    srcs = ["SkImageEncoder_NDK.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkNDKConversions_hdr",
+        "//include/private:SkTFitsIn_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/images:SkImageEncoderPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageEncoder_WIC_src",
+    srcs = ["SkImageEncoder_WIC.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkImageEncoder_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/core:SkUnPreMultiply_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/images:SkImageEncoderPriv_hdr",
+        "//src/utils/win:SkAutoCoInitialize_hdr",
+        "//src/utils/win:SkIStream_hdr",
+        "//src/utils/win:SkTScopedComPtr_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageGeneratorCG_src",
+    srcs = ["SkImageGeneratorCG.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/codec:SkEncodedOrigin_hdr",
+        "//include/ports:SkImageGeneratorCG_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/utils/mac:SkCGUtils_hdr",
+        "//src/core:SkPixmapPriv_hdr",
+        "//src/utils/mac:SkUniqueCFRef_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageGeneratorNDK_src",
+    srcs = ["SkImageGeneratorNDK.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkNDKConversions_hdr",
+        "//include/core:SkImageGenerator_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/ports:SkImageGeneratorNDK_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageGeneratorWIC_src",
+    srcs = ["SkImageGeneratorWIC.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkStream_hdr",
+        "//include/ports:SkImageGeneratorWIC_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/utils/win:SkIStream_hdr",
+        "//src/utils/win:SkTScopedComPtr_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageGenerator_none_src",
+    srcs = ["SkImageGenerator_none.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkImageGenerator_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkImageGenerator_skia_src",
+    srcs = ["SkImageGenerator_skia.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkData_hdr",
+        "//src/codec:SkCodecImageGenerator_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMemory_malloc_src",
+    srcs = ["SkMemory_malloc.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkMalloc_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkMemory_mozalloc_src",
+    srcs = ["SkMemory_mozalloc.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkMalloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkNDKConversions_hdr",
+    hdrs = ["SkNDKConversions.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColorSpace_hdr",
+        "//include/core:SkImageInfo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkNDKConversions_src",
+    srcs = ["SkNDKConversions.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkNDKConversions_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkOSFile_ios_hdr",
+    hdrs = ["SkOSFile_ios.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkString_hdr",
+        "//include/ports:SkCFObject_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOSFile_posix_src",
+    srcs = ["SkOSFile_posix.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOSFile_ios_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTFitsIn_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkOSFile_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOSFile_stdio_src",
+    srcs = ["SkOSFile_stdio.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOSFile_ios_hdr",
+        "//include/core:SkTypes_hdr",
+        "//src/core:SkOSFile_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOSFile_win_src",
+    srcs = ["SkOSFile_win.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkTFitsIn_hdr",
+        "//src/core:SkLeanWindows_hdr",
+        "//src/core:SkOSFile_hdr",
+        "//src/core:SkStringUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOSLibrary_hdr",
+    hdrs = ["SkOSLibrary.h"],
     visibility = ["//:__subpackages__"],
 )
 
-filegroup(
-    name = "srcs",
-    srcs = [
-        ":fontmgr",
-        ":fontmgr_factory",
-        ":global_init",
-        ":image_generator",
-        ":malloc",
-        ":osfile",
-        ":skdebug",
-    ] + select_multi(
-        {
-            "//bazel/common_config_settings:custom_directory_fontmgr": [":custom_directory_fontmgr_srcs"],
-            "//bazel/common_config_settings:custom_embedded_fontmgr": [":custom_embedded_fontmgr_srcs"],
-            "//bazel/common_config_settings:custom_empty_fontmgr": [":custom_empty_fontmgr_srcs"],
-        },
-        default = [],
-    ),
+generated_cc_atom(
+    name = "SkOSLibrary_posix_src",
+    srcs = ["SkOSLibrary_posix.cpp"],
     visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOSLibrary_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOSLibrary_win_src",
+    srcs = ["SkOSLibrary_win.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOSLibrary_hdr",
+        "//include/core:SkTypes_hdr",
+        "//src/core:SkLeanWindows_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRemotableFontMgr_win_dw_src",
+    srcs = ["SkRemotableFontMgr_win_dw.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTypeface_win_dw_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/ports:SkRemotableFontMgr_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/utils:SkUTF_hdr",
+        "//src/utils/win:SkDWriteFontFileStream_hdr",
+        "//src/utils/win:SkDWriteNTDDI_VERSION_hdr",
+        "//src/utils/win:SkDWrite_hdr",
+        "//src/utils/win:SkHRESULT_hdr",
+        "//src/utils/win:SkObjBase_hdr",
+        "//src/utils/win:SkTScopedComPtr_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScalerContext_mac_ct_hdr",
+    hdrs = ["SkScalerContext_mac_ct.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkSize_hdr",
+        "//include/core:SkTypes_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/core:SkScalerContext_hdr",
+        "//src/utils/mac:SkUniqueCFRef_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScalerContext_mac_ct_src",
+    srcs = ["SkScalerContext_mac_ct.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkScalerContext_mac_ct_hdr",
+        ":SkTypeface_mac_ct_hdr",
+        "//include/core:SkColorPriv_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkFontMetrics_hdr",
+        "//include/core:SkFontTypes_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPathBuilder_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/core:SkEndian_hdr",
+        "//src/core:SkGlyph_hdr",
+        "//src/core:SkMaskGamma_hdr",
+        "//src/core:SkMask_hdr",
+        "//src/core:SkMathPriv_hdr",
+        "//src/core:SkOpts_hdr",
+        "//src/sfnt:SkOTTableTypes_hdr",
+        "//src/sfnt:SkOTTable_OS_2_hdr",
+        "//src/utils/mac:SkCGBase_hdr",
+        "//src/utils/mac:SkCGGeometry_hdr",
+        "//src/utils/mac:SkCTFont_hdr",
+        "//src/utils/mac:SkUniqueCFRef_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScalerContext_win_dw_hdr",
+    hdrs = ["SkScalerContext_win_dw.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTypeface_win_dw_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkTypes_hdr",
+        "//src/core:SkScalerContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkScalerContext_win_dw_src",
+    srcs = ["SkScalerContext_win_dw.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkScalerContext_win_dw_hdr",
+        ":SkTypeface_win_dw_hdr",
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkFontMetrics_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkDraw_hdr",
+        "//src/core:SkEndian_hdr",
+        "//src/core:SkGlyph_hdr",
+        "//src/core:SkMaskGamma_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkRasterClip_hdr",
+        "//src/core:SkScalerContext_hdr",
+        "//src/core:SkSharedMutex_hdr",
+        "//src/sfnt:SkOTTable_EBLC_hdr",
+        "//src/sfnt:SkOTTable_EBSC_hdr",
+        "//src/sfnt:SkOTTable_gasp_hdr",
+        "//src/sfnt:SkOTTable_maxp_hdr",
+        "//src/utils:SkMatrix22_hdr",
+        "//src/utils/win:SkDWriteGeometrySink_hdr",
+        "//src/utils/win:SkDWriteNTDDI_VERSION_hdr",
+        "//src/utils/win:SkDWrite_hdr",
+        "//src/utils/win:SkHRESULT_hdr",
+        "//src/utils/win:SkTScopedComPtr_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTLS_pthread_src",
+    srcs = ["SkTLS_pthread.cpp"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkTLS_win_src",
+    srcs = ["SkTLS_win.cpp"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkTypeface_mac_ct_hdr",
+    hdrs = ["SkTypeface_mac_ct.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontArguments_hdr",
+        "//include/core:SkFontParameters_hdr",
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkOnce_hdr",
+        "//src/utils/mac:SkUniqueCFRef_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTypeface_mac_ct_src",
+    srcs = ["SkTypeface_mac_ct.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkScalerContext_mac_ct_hdr",
+        ":SkTypeface_mac_ct_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkFontArguments_hdr",
+        "//include/core:SkFontParameters_hdr",
+        "//include/core:SkFontStyle_hdr",
+        "//include/core:SkFontTypes_hdr",
+        "//include/core:SkRect_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/ports:SkTypeface_mac_hdr",
+        "//include/private:SkFixed_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkMutex_hdr",
+        "//include/private:SkOnce_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkAdvancedTypefaceMetrics_hdr",
+        "//src/core:SkEndian_hdr",
+        "//src/core:SkFontDescriptor_hdr",
+        "//src/core:SkMask_hdr",
+        "//src/core:SkScalerContext_hdr",
+        "//src/core:SkTypefaceCache_hdr",
+        "//src/sfnt:SkOTTableTypes_hdr",
+        "//src/sfnt:SkOTTable_OS_2_V4_hdr",
+        "//src/sfnt:SkOTTable_OS_2_hdr",
+        "//src/sfnt:SkOTUtils_hdr",
+        "//src/sfnt:SkSFNTHeader_hdr",
+        "//src/utils:SkUTF_hdr",
+        "//src/utils/mac:SkCGBase_hdr",
+        "//src/utils/mac:SkCGGeometry_hdr",
+        "//src/utils/mac:SkCTFont_hdr",
+        "//src/utils/mac:SkUniqueCFRef_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTypeface_win_dw_hdr",
+    hdrs = ["SkTypeface_win_dw.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypeface_hdr",
+        "//src/core:SkAdvancedTypefaceMetrics_hdr",
+        "//src/core:SkLeanWindows_hdr",
+        "//src/core:SkTypefaceCache_hdr",
+        "//src/utils/win:SkDWrite_hdr",
+        "//src/utils/win:SkHRESULT_hdr",
+        "//src/utils/win:SkTScopedComPtr_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTypeface_win_dw_src",
+    srcs = ["SkTypeface_win_dw.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkScalerContext_win_dw_hdr",
+        ":SkTypeface_win_dw_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkFontDescriptor_hdr",
+        "//src/core:SkFontStream_hdr",
+        "//src/core:SkLeanWindows_hdr",
+        "//src/core:SkScalerContext_hdr",
+        "//src/sfnt:SkOTTable_OS_2_hdr",
+        "//src/sfnt:SkOTTable_fvar_hdr",
+        "//src/sfnt:SkOTTable_head_hdr",
+        "//src/sfnt:SkOTTable_hhea_hdr",
+        "//src/sfnt:SkOTTable_post_hdr",
+        "//src/sfnt:SkOTUtils_hdr",
+        "//src/utils/win:SkDWriteFontFileStream_hdr",
+        "//src/utils/win:SkDWriteNTDDI_VERSION_hdr",
+        "//src/utils/win:SkDWrite_hdr",
+    ],
 )
diff --git a/src/sfnt/BUILD.bazel b/src/sfnt/BUILD.bazel
index 09596e4..b796e3f 100644
--- a/src/sfnt/BUILD.bazel
+++ b/src/sfnt/BUILD.bazel
@@ -1,36 +1,322 @@
-package(default_visibility = ["//:__subpackages__"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "srcs",
-    srcs = [
-        "SkIBMFamilyClass.h",
-        "SkOTTableTypes.h",
-        "SkOTTable_EBDT.h",
-        "SkOTTable_EBLC.h",
-        "SkOTTable_EBSC.h",
-        "SkOTTable_OS_2.h",
-        "SkOTTable_OS_2_V0.h",
-        "SkOTTable_OS_2_V1.h",
-        "SkOTTable_OS_2_V2.h",
-        "SkOTTable_OS_2_V3.h",
-        "SkOTTable_OS_2_V4.h",
-        "SkOTTable_OS_2_VA.h",
-        "SkOTTable_fvar.h",
-        "SkOTTable_gasp.h",
-        "SkOTTable_glyf.h",
-        "SkOTTable_head.h",
-        "SkOTTable_hhea.h",
-        "SkOTTable_loca.h",
-        "SkOTTable_maxp.h",
-        "SkOTTable_maxp_CFF.h",
-        "SkOTTable_maxp_TT.h",
-        "SkOTTable_name.cpp",
-        "SkOTTable_name.h",
-        "SkOTTable_post.h",
-        "SkOTUtils.cpp",
-        "SkOTUtils.h",
-        "SkPanose.h",
-        "SkSFNTHeader.h",
-        "SkTTCFHeader.h",
+generated_cc_atom(
+    name = "SkIBMFamilyClass_hdr",
+    hdrs = ["SkIBMFamilyClass.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkOTTableTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkOTTableTypes_hdr",
+    hdrs = ["SkOTTableTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_EBDT_hdr",
+    hdrs = ["SkOTTable_EBDT.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        ":SkOTTable_head_hdr",
+        ":SkOTTable_loca_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_EBLC_hdr",
+    hdrs = ["SkOTTable_EBLC.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        ":SkOTTable_EBDT_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_EBSC_hdr",
+    hdrs = ["SkOTTable_EBSC.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        ":SkOTTable_EBLC_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_OS_2_V0_hdr",
+    hdrs = ["SkOTTable_OS_2_V0.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIBMFamilyClass_hdr",
+        ":SkOTTableTypes_hdr",
+        ":SkPanose_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_OS_2_V1_hdr",
+    hdrs = ["SkOTTable_OS_2_V1.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIBMFamilyClass_hdr",
+        ":SkOTTableTypes_hdr",
+        ":SkPanose_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_OS_2_V2_hdr",
+    hdrs = ["SkOTTable_OS_2_V2.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIBMFamilyClass_hdr",
+        ":SkOTTableTypes_hdr",
+        ":SkPanose_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_OS_2_V3_hdr",
+    hdrs = ["SkOTTable_OS_2_V3.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIBMFamilyClass_hdr",
+        ":SkOTTableTypes_hdr",
+        ":SkPanose_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_OS_2_V4_hdr",
+    hdrs = ["SkOTTable_OS_2_V4.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIBMFamilyClass_hdr",
+        ":SkOTTableTypes_hdr",
+        ":SkPanose_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_OS_2_VA_hdr",
+    hdrs = ["SkOTTable_OS_2_VA.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIBMFamilyClass_hdr",
+        ":SkOTTableTypes_hdr",
+        ":SkPanose_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_OS_2_hdr",
+    hdrs = ["SkOTTable_OS_2.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTable_OS_2_V0_hdr",
+        ":SkOTTable_OS_2_V1_hdr",
+        ":SkOTTable_OS_2_V2_hdr",
+        ":SkOTTable_OS_2_V3_hdr",
+        ":SkOTTable_OS_2_V4_hdr",
+        ":SkOTTable_OS_2_VA_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_fvar_hdr",
+    hdrs = ["SkOTTable_fvar.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_gasp_hdr",
+    hdrs = ["SkOTTable_gasp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_glyf_hdr",
+    hdrs = ["SkOTTable_glyf.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        ":SkOTTable_head_hdr",
+        ":SkOTTable_loca_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_head_hdr",
+    hdrs = ["SkOTTable_head.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_hhea_hdr",
+    hdrs = ["SkOTTable_hhea.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_loca_hdr",
+    hdrs = ["SkOTTable_loca.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_maxp_CFF_hdr",
+    hdrs = ["SkOTTable_maxp_CFF.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_maxp_TT_hdr",
+    hdrs = ["SkOTTable_maxp_TT.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_maxp_hdr",
+    hdrs = ["SkOTTable_maxp.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        ":SkOTTable_maxp_CFF_hdr",
+        ":SkOTTable_maxp_TT_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_name_hdr",
+    hdrs = ["SkOTTable_name.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        "//include/core:SkString_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_name_src",
+    srcs = ["SkOTTable_name.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTable_name_hdr",
+        "//src/core:SkEndian_hdr",
+        "//src/core:SkStringUtils_hdr",
+        "//src/core:SkTSearch_hdr",
+        "//src/utils:SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTTable_post_hdr",
+    hdrs = ["SkOTTable_post.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTUtils_hdr",
+    hdrs = ["SkOTUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        ":SkOTTable_OS_2_V4_hdr",
+        ":SkOTTable_name_hdr",
+        "//include/core:SkTypeface_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOTUtils_src",
+    srcs = ["SkOTUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        ":SkOTTable_head_hdr",
+        ":SkOTTable_name_hdr",
+        ":SkOTUtils_hdr",
+        ":SkSFNTHeader_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkAdvancedTypefaceMetrics_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPanose_hdr",
+    hdrs = ["SkPanose.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkOTTableTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSFNTHeader_hdr",
+    hdrs = ["SkSFNTHeader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        "//src/core:SkEndian_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTTCFHeader_hdr",
+    hdrs = ["SkTTCFHeader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkOTTableTypes_hdr",
+        ":SkSFNTHeader_hdr",
     ],
 )
diff --git a/src/shaders/BUILD.bazel b/src/shaders/BUILD.bazel
index 85342f7..d253653 100644
--- a/src/shaders/BUILD.bazel
+++ b/src/shaders/BUILD.bazel
@@ -1,42 +1,329 @@
-package(default_visibility = ["//:__subpackages__"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "srcs",
-    srcs = [
-        "SkBitmapProcShader.cpp",
-        "SkBitmapProcShader.h",
-        "SkColorFilterShader.cpp",
-        "SkColorFilterShader.h",
-        "SkColorShader.cpp",
-        "SkColorShader.h",
-        "SkComposeShader.cpp",
-        "SkComposeShader.h",
-        "SkEmptyShader.h",
-        "SkImageShader.cpp",
-        "SkImageShader.h",
-        "SkLocalMatrixShader.cpp",
-        "SkLocalMatrixShader.h",
-        "SkPerlinNoiseShader.cpp",
-        "SkPictureShader.cpp",
-        "SkPictureShader.h",
-        "SkShader.cpp",
-        "SkShaderBase.h",
-        "SkTransformShader.cpp",
-        "SkTransformShader.h",
-        "gradients/Sk4fGradientBase.cpp",
-        "gradients/Sk4fGradientBase.h",
-        "gradients/Sk4fGradientPriv.h",
-        "gradients/Sk4fLinearGradient.cpp",
-        "gradients/Sk4fLinearGradient.h",
-        "gradients/SkGradientShader.cpp",
-        "gradients/SkGradientShaderPriv.h",
-        "gradients/SkLinearGradient.cpp",
-        "gradients/SkLinearGradient.h",
-        "gradients/SkRadialGradient.cpp",
-        "gradients/SkRadialGradient.h",
-        "gradients/SkSweepGradient.cpp",
-        "gradients/SkSweepGradient.h",
-        "gradients/SkTwoPointConicalGradient.cpp",
-        "gradients/SkTwoPointConicalGradient.h",
+generated_cc_atom(
+    name = "SkBitmapProcShader_hdr",
+    hdrs = ["SkBitmapProcShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkShaderBase_hdr",
+        "//src/core:SkImagePriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBitmapProcShader_src",
+    srcs = ["SkBitmapProcShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapProcShader_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkBitmapProcState_hdr",
+        "//src/core:SkPaintPriv_hdr",
+        "//src/core:SkXfermodePriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorFilterShader_hdr",
+    hdrs = ["SkColorFilterShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkShaderBase_hdr",
+        "//src/core:SkColorFilterBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorFilterShader_src",
+    srcs = ["SkColorFilterShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorFilterShader_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkString_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkColorFilterBase_hdr",
+        "//src/core:SkRasterPipeline_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkVM_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkColorShader_hdr",
+    hdrs = ["SkColorShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkShaderBase_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkColorShader_src",
+    srcs = ["SkColorShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorShader_hdr",
+        "//include/core:SkColorSpace_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkColorSpacePriv_hdr",
+        "//src/core:SkColorSpaceXformSteps_hdr",
+        "//src/core:SkRasterPipeline_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkUtils_hdr",
+        "//src/core:SkVM_hdr",
+        "//src/gpu:GrColorInfo_hdr",
+        "//src/gpu:GrColorSpaceXform_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:SkGr_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkComposeShader_hdr",
+    hdrs = ["SkComposeShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkShaderBase_hdr",
+        "//include/core:SkBlendMode_hdr",
+        "//src/core:SkBlendModePriv_hdr",
+        "//src/core:SkBlenderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkComposeShader_src",
+    srcs = ["SkComposeShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkColorShader_hdr",
+        ":SkComposeShader_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkString_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkColorData_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkBlendModePriv_hdr",
+        "//src/core:SkBlenderBase_hdr",
+        "//src/core:SkRasterPipeline_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkRuntimeEffectPriv_hdr",
+        "//src/core:SkVM_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu/effects:GrBlendFragmentProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkEmptyShader_hdr",
+    hdrs = ["SkEmptyShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkShaderBase_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkImageShader_hdr",
+    hdrs = ["SkImageShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapProcShader_hdr",
+        ":SkShaderBase_hdr",
+        "//include/core:SkImage_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkImageShader_src",
+    srcs = ["SkImageShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapProcShader_hdr",
+        ":SkEmptyShader_hdr",
+        ":SkImageShader_hdr",
+        ":SkTransformShader_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkColorSpacePriv_hdr",
+        "//src/core:SkColorSpaceXformSteps_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkMipmapAccessor_hdr",
+        "//src/core:SkOpts_hdr",
+        "//src/core:SkRasterPipeline_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkSamplingPriv_hdr",
+        "//src/core:SkScopeExit_hdr",
+        "//src/core:SkVM_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrColorInfo_hdr",
+        "//src/gpu/effects:GrBlendFragmentProcessor_hdr",
+        "//src/image:SkImage_Base_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLocalMatrixShader_hdr",
+    hdrs = ["SkLocalMatrixShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkShaderBase_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLocalMatrixShader_src",
+    srcs = ["SkLocalMatrixShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkLocalMatrixShader_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkTLazy_hdr",
+        "//src/core:SkVM_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu/effects:GrMatrixEffect_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPerlinNoiseShader_src",
+    srcs = ["SkPerlinNoiseShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkUnPreMultiply_hdr",
+        "//include/effects:SkPerlinNoiseShader_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkVM_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrMatrixEffect_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/gpu/glsl:GrGLSLProgramDataManager_hdr",
+        "//src/gpu/glsl:GrGLSLUniformHandler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPictureShader_hdr",
+    hdrs = ["SkPictureShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkShaderBase_hdr",
+        "//include/core:SkTileMode_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPictureShader_src",
+    srcs = ["SkPictureShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapProcShader_hdr",
+        ":SkImageShader_hdr",
+        ":SkPictureShader_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/gpu:GrDirectContext_hdr",
+        "//include/gpu:GrRecordingContext_hdr",
+        "//include/private:SkImageInfoPriv_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkMatrixUtils_hdr",
+        "//src/core:SkPicturePriv_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkResourceCache_hdr",
+        "//src/core:SkVM_hdr",
+        "//src/gpu:GrCaps_hdr",
+        "//src/gpu:GrColorInfo_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu:GrProxyProvider_hdr",
+        "//src/gpu:GrRecordingContextPriv_hdr",
+        "//src/gpu:SkGr_hdr",
+        "//src/gpu/effects:GrTextureEffect_hdr",
+        "//src/image:SkImage_Base_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShaderBase_hdr",
+    hdrs = ["SkShaderBase.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkSamplingOptions_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//src/core:SkEffectPriv_hdr",
+        "//src/core:SkMask_hdr",
+        "//src/core:SkTLazy_hdr",
+        "//src/core:SkVM_fwd_hdr",
+        "//src/gpu:GrFPArgs_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShader_src",
+    srcs = ["SkShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkBitmapProcShader_hdr",
+        ":SkColorShader_hdr",
+        ":SkEmptyShader_hdr",
+        ":SkImageShader_hdr",
+        ":SkPictureShader_hdr",
+        ":SkShaderBase_hdr",
+        ":SkTransformShader_hdr",
+        "//include/core:SkMallocPixelRef_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkScalar_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkColorSpacePriv_hdr",
+        "//src/core:SkColorSpaceXformSteps_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkRasterPipeline_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkTLazy_hdr",
+        "//src/core:SkVM_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTransformShader_hdr",
+    hdrs = ["SkTransformShader.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkShaderBase_hdr",
+        "//src/core:SkVM_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTransformShader_src",
+    srcs = ["SkTransformShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTransformShader_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkRasterPipeline_hdr",
     ],
 )
diff --git a/src/shaders/gradients/BUILD.bazel b/src/shaders/gradients/BUILD.bazel
new file mode 100644
index 0000000..b7f2b5b
--- /dev/null
+++ b/src/shaders/gradients/BUILD.bazel
@@ -0,0 +1,183 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "Sk4fGradientBase_hdr",
+    hdrs = ["Sk4fGradientBase.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":Sk4fGradientPriv_hdr",
+        ":SkGradientShaderPriv_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/private:SkNx_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/core:SkMatrixPriv_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "Sk4fGradientBase_src",
+    srcs = ["Sk4fGradientBase.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":Sk4fGradientBase_hdr",
+        "//include/core:SkPaint_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "Sk4fGradientPriv_hdr",
+    hdrs = ["Sk4fGradientPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/core:SkImageInfo_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkHalf_hdr",
+        "//include/private:SkNx_hdr",
+        "//src/core:SkOpts_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "Sk4fLinearGradient_hdr",
+    hdrs = ["Sk4fLinearGradient.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":Sk4fGradientBase_hdr",
+        ":SkLinearGradient_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "Sk4fLinearGradient_src",
+    srcs = ["Sk4fLinearGradient.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":Sk4fLinearGradient_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/private:SkTPin_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGradientShaderPriv_hdr",
+    hdrs = ["SkGradientShaderPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkMatrix_hdr",
+        "//include/effects:SkGradientShader_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkVM_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkGradientShader_src",
+    srcs = ["SkGradientShader.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":Sk4fLinearGradient_hdr",
+        ":SkGradientShaderPriv_hdr",
+        ":SkLinearGradient_hdr",
+        ":SkRadialGradient_hdr",
+        ":SkSweepGradient_hdr",
+        ":SkTwoPointConicalGradient_hdr",
+        "//include/core:SkMallocPixelRef_hdr",
+        "//include/private:SkFloatBits_hdr",
+        "//include/private:SkHalf_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkVx_hdr",
+        "//src/core:SkColorSpacePriv_hdr",
+        "//src/core:SkConvertPixels_hdr",
+        "//src/core:SkMatrixProvider_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkVM_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkLinearGradient_hdr",
+    hdrs = ["SkLinearGradient.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkGradientShaderPriv_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkLinearGradient_src",
+    srcs = ["SkLinearGradient.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":Sk4fLinearGradient_hdr",
+        ":SkLinearGradient_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu/gradients:GrGradientShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkRadialGradient_hdr",
+    hdrs = ["SkRadialGradient.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkGradientShaderPriv_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkRadialGradient_src",
+    srcs = ["SkRadialGradient.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkRadialGradient_hdr",
+        "//src/core:SkRasterPipeline_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu/gradients:GrGradientShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSweepGradient_hdr",
+    hdrs = ["SkSweepGradient.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkGradientShaderPriv_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSweepGradient_src",
+    srcs = ["SkSweepGradient.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSweepGradient_hdr",
+        "//include/private:SkFloatingPoint_hdr",
+        "//src/core:SkRasterPipeline_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu/gradients:GrGradientShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTwoPointConicalGradient_hdr",
+    hdrs = ["SkTwoPointConicalGradient.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkGradientShaderPriv_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTwoPointConicalGradient_src",
+    srcs = ["SkTwoPointConicalGradient.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkTwoPointConicalGradient_hdr",
+        "//include/private:SkFloatingPoint_hdr",
+        "//src/core:SkRasterPipeline_hdr",
+        "//src/core:SkReadBuffer_hdr",
+        "//src/core:SkWriteBuffer_hdr",
+        "//src/gpu/gradients:GrGradientShader_hdr",
+    ],
+)
diff --git a/src/sksl/BUILD.bazel b/src/sksl/BUILD.bazel
index 8ca3b02..c22c885 100644
--- a/src/sksl/BUILD.bazel
+++ b/src/sksl/BUILD.bazel
@@ -1,217 +1,731 @@
-package(default_visibility = ["//:__subpackages__"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "srcs",
-    srcs = [
-        "GLSL.std.450.h",
-        "SkSLAnalysis.cpp",
-        "SkSLAnalysis.h",
-        "SkSLBuiltinTypes.cpp",
-        "SkSLBuiltinTypes.h",
-        "SkSLCompiler.cpp",
-        "SkSLCompiler.h",
-        "SkSLConstantFolder.cpp",
-        "SkSLConstantFolder.h",
-        "SkSLContext.cpp",
-        "SkSLContext.h",
-        "SkSLDSLParser.cpp",
-        "SkSLDSLParser.h",
-        "SkSLDehydrator.cpp",
-        "SkSLDehydrator.h",
-        "SkSLErrorReporter.cpp",
-        "SkSLFileOutputStream.h",
-        "SkSLInliner.cpp",
-        "SkSLInliner.h",
-        "SkSLIntrinsicList.h",
-        "SkSLIntrinsicMap.cpp",
-        "SkSLIntrinsicMap.h",
-        "SkSLLexer.cpp",
-        "SkSLLexer.h",
-        "SkSLMangler.cpp",
-        "SkSLMangler.h",
-        "SkSLMemoryLayout.h",
-        "SkSLMemoryPool.h",
-        "SkSLModifiersPool.h",
-        "SkSLOperators.cpp",
-        "SkSLOperators.h",
-        "SkSLOutputStream.cpp",
-        "SkSLOutputStream.h",
-        "SkSLParsedModule.h",
-        "SkSLPool.cpp",
-        "SkSLPool.h",
-        "SkSLProgramSettings.h",
-        "SkSLRehydrator.cpp",
-        "SkSLRehydrator.h",
-        "SkSLSampleUsage.cpp",
-        "SkSLString.cpp",
-        "SkSLStringStream.h",
-        "SkSLThreadContext.cpp",
-        "SkSLThreadContext.h",
-        "SkSLUtil.cpp",
-        "SkSLUtil.h",
-        "analysis/SkSLCanExitWithoutReturningValue.cpp",
-        "analysis/SkSLCheckProgramUnrolledSize.cpp",
-        "analysis/SkSLGetLoopUnrollInfo.cpp",
-        "analysis/SkSLIsConstantExpression.cpp",
-        "analysis/SkSLProgramUsage.cpp",
-        "analysis/SkSLProgramVisitor.h",
-        "analysis/SkSLSwitchCaseContainsExit.cpp",
-        "codegen/SkSLCodeGenerator.h",
-        "codegen/SkSLGLSLCodeGenerator.cpp",
-        "codegen/SkSLGLSLCodeGenerator.h",
-        "codegen/SkSLMetalCodeGenerator.cpp",
-        "codegen/SkSLMetalCodeGenerator.h",
-        "codegen/SkSLPipelineStageCodeGenerator.cpp",
-        "codegen/SkSLPipelineStageCodeGenerator.h",
-        "codegen/SkSLSPIRVCodeGenerator.cpp",
-        "codegen/SkSLSPIRVCodeGenerator.h",
-        "codegen/SkSLSPIRVtoHLSL.cpp",
-        "codegen/SkSLSPIRVtoHLSL.h",
-        "codegen/SkSLVMCodeGenerator.cpp",
-        "codegen/SkSLVMCodeGenerator.h",
-        "codegen/SkVMDebugInfo.h",
-        "dsl/DSLBlock.cpp",
-        "dsl/DSLCase.cpp",
-        "dsl/DSLCore.cpp",
-        "dsl/DSLExpression.cpp",
-        "dsl/DSLFunction.cpp",
-        "dsl/DSLLayout.cpp",
-        "dsl/DSLRuntimeEffects.cpp",
-        "dsl/DSLStatement.cpp",
-        "dsl/DSLSymbols.cpp",
-        "dsl/DSLType.cpp",
-        "dsl/DSLVar.cpp",
-        "dsl/priv/DSLFPs.cpp",
-        "dsl/priv/DSLFPs.h",
-        "dsl/priv/DSLWriter.cpp",
-        "dsl/priv/DSLWriter.h",
-        "dsl/priv/DSL_priv.h",
-        "ir/SkSLBinaryExpression.cpp",
-        "ir/SkSLBinaryExpression.h",
-        "ir/SkSLBlock.cpp",
-        "ir/SkSLBlock.h",
-        "ir/SkSLBreakStatement.h",
-        "ir/SkSLChildCall.cpp",
-        "ir/SkSLChildCall.h",
-        "ir/SkSLCodeStringExpression.h",
-        "ir/SkSLConstructor.cpp",
-        "ir/SkSLConstructor.h",
-        "ir/SkSLConstructorArray.cpp",
-        "ir/SkSLConstructorArray.h",
-        "ir/SkSLConstructorArrayCast.cpp",
-        "ir/SkSLConstructorArrayCast.h",
-        "ir/SkSLConstructorCompound.cpp",
-        "ir/SkSLConstructorCompound.h",
-        "ir/SkSLConstructorCompoundCast.cpp",
-        "ir/SkSLConstructorCompoundCast.h",
-        "ir/SkSLConstructorDiagonalMatrix.cpp",
-        "ir/SkSLConstructorDiagonalMatrix.h",
-        "ir/SkSLConstructorMatrixResize.cpp",
-        "ir/SkSLConstructorMatrixResize.h",
-        "ir/SkSLConstructorScalarCast.cpp",
-        "ir/SkSLConstructorScalarCast.h",
-        "ir/SkSLConstructorSplat.cpp",
-        "ir/SkSLConstructorSplat.h",
-        "ir/SkSLConstructorStruct.cpp",
-        "ir/SkSLConstructorStruct.h",
-        "ir/SkSLContinueStatement.h",
-        "ir/SkSLDiscardStatement.h",
-        "ir/SkSLDoStatement.cpp",
-        "ir/SkSLDoStatement.h",
-        "ir/SkSLExpression.cpp",
-        "ir/SkSLExpression.h",
-        "ir/SkSLExpressionStatement.cpp",
-        "ir/SkSLExpressionStatement.h",
-        "ir/SkSLExtension.h",
-        "ir/SkSLExternalFunction.h",
-        "ir/SkSLExternalFunctionCall.h",
-        "ir/SkSLExternalFunctionReference.h",
-        "ir/SkSLField.h",
-        "ir/SkSLFieldAccess.cpp",
-        "ir/SkSLFieldAccess.h",
-        "ir/SkSLForStatement.cpp",
-        "ir/SkSLForStatement.h",
-        "ir/SkSLFunctionCall.cpp",
-        "ir/SkSLFunctionCall.h",
-        "ir/SkSLFunctionDeclaration.cpp",
-        "ir/SkSLFunctionDeclaration.h",
-        "ir/SkSLFunctionDefinition.cpp",
-        "ir/SkSLFunctionDefinition.h",
-        "ir/SkSLFunctionPrototype.h",
-        "ir/SkSLFunctionReference.h",
-        "ir/SkSLIfStatement.cpp",
-        "ir/SkSLIfStatement.h",
-        "ir/SkSLIndexExpression.cpp",
-        "ir/SkSLIndexExpression.h",
-        "ir/SkSLInlineMarker.h",
-        "ir/SkSLInterfaceBlock.h",
-        "ir/SkSLLiteral.h",
-        "ir/SkSLMethodReference.h",
-        "ir/SkSLModifiers.cpp",
-        "ir/SkSLModifiersDeclaration.h",
-        "ir/SkSLNop.h",
-        "ir/SkSLPoison.h",
-        "ir/SkSLPostfixExpression.cpp",
-        "ir/SkSLPostfixExpression.h",
-        "ir/SkSLPrefixExpression.cpp",
-        "ir/SkSLPrefixExpression.h",
-        "ir/SkSLProgram.h",
-        "ir/SkSLReturnStatement.h",
-        "ir/SkSLSetting.cpp",
-        "ir/SkSLSetting.h",
-        "ir/SkSLStructDefinition.h",
-        "ir/SkSLSwitchCase.h",
-        "ir/SkSLSwitchStatement.cpp",
-        "ir/SkSLSwitchStatement.h",
-        "ir/SkSLSwizzle.cpp",
-        "ir/SkSLSwizzle.h",
-        "ir/SkSLSymbolAlias.h",
-        "ir/SkSLSymbolTable.cpp",
-        "ir/SkSLSymbolTable.h",
-        "ir/SkSLTernaryExpression.cpp",
-        "ir/SkSLTernaryExpression.h",
-        "ir/SkSLType.cpp",
-        "ir/SkSLType.h",
-        "ir/SkSLTypeReference.cpp",
-        "ir/SkSLTypeReference.h",
-        "ir/SkSLUnresolvedFunction.h",
-        "ir/SkSLVarDeclarations.cpp",
-        "ir/SkSLVarDeclarations.h",
-        "ir/SkSLVariable.cpp",
-        "ir/SkSLVariable.h",
-        "ir/SkSLVariableReference.cpp",
-        "ir/SkSLVariableReference.h",
-        "lex/DFA.h",
-        "lex/DFAState.h",
-        "lex/LexUtil.h",
-        "lex/NFA.cpp",
-        "lex/NFA.h",
-        "lex/NFAState.h",
-        "lex/NFAtoDFA.h",
-        "lex/RegexNode.cpp",
-        "lex/RegexNode.h",
-        "lex/RegexParser.cpp",
-        "lex/RegexParser.h",
-        "lex/TransitionTable.cpp",
-        "lex/TransitionTable.h",
-        "spirv.h",
-        "transform/SkSLBuiltinVariableScanner.cpp",
-        "transform/SkSLEliminateDeadFunctions.cpp",
-        "transform/SkSLEliminateDeadGlobalVariables.cpp",
-        "transform/SkSLEliminateDeadLocalVariables.cpp",
-        "transform/SkSLEliminateUnreachableCode.cpp",
-        "transform/SkSLProgramWriter.h",
-        "transform/SkSLTransform.h",
+generated_cc_atom(
+    name = "GLSL.std.450_hdr",
+    hdrs = ["GLSL.std.450.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkSLAnalysis_hdr",
+    hdrs = ["SkSLAnalysis.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkSpan_hdr",
+        "//include/private:SkSLDefines_hdr",
+        "//include/private:SkSLSampleUsage_hdr",
     ],
 )
 
-filegroup(
-    name = "txts",
-    srcs = [
-        "generated/sksl_frag.dehydrated.sksl",
-        "generated/sksl_gpu.dehydrated.sksl",
-        "generated/sksl_public.dehydrated.sksl",
-        "generated/sksl_rt_shader.dehydrated.sksl",
-        "generated/sksl_vert.dehydrated.sksl",
+generated_cc_atom(
+    name = "SkSLAnalysis_src",
+    srcs = ["SkSLAnalysis.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLAnalysis_hdr",
+        ":SkSLCompiler_hdr",
+        ":SkSLConstantFolder_hdr",
+        "//include/private:SkFloatingPoint_hdr",
+        "//include/private:SkSLModifiers_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+        "//include/private:SkSLSampleUsage_hdr",
+        "//include/private:SkSLStatement_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/core:SkSafeMath_hdr",
+        "//src/sksl/analysis:SkSLProgramVisitor_hdr",
+        "//src/sksl/ir:SkSLBinaryExpression_hdr",
+        "//src/sksl/ir:SkSLBlock_hdr",
+        "//src/sksl/ir:SkSLBreakStatement_hdr",
+        "//src/sksl/ir:SkSLChildCall_hdr",
+        "//src/sksl/ir:SkSLConstructorDiagonalMatrix_hdr",
+        "//src/sksl/ir:SkSLConstructorMatrixResize_hdr",
+        "//src/sksl/ir:SkSLConstructor_hdr",
+        "//src/sksl/ir:SkSLContinueStatement_hdr",
+        "//src/sksl/ir:SkSLDiscardStatement_hdr",
+        "//src/sksl/ir:SkSLDoStatement_hdr",
+        "//src/sksl/ir:SkSLExpressionStatement_hdr",
+        "//src/sksl/ir:SkSLExpression_hdr",
+        "//src/sksl/ir:SkSLExtension_hdr",
+        "//src/sksl/ir:SkSLExternalFunctionCall_hdr",
+        "//src/sksl/ir:SkSLExternalFunctionReference_hdr",
+        "//src/sksl/ir:SkSLFieldAccess_hdr",
+        "//src/sksl/ir:SkSLForStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLFunctionReference_hdr",
+        "//src/sksl/ir:SkSLIfStatement_hdr",
+        "//src/sksl/ir:SkSLIndexExpression_hdr",
+        "//src/sksl/ir:SkSLInlineMarker_hdr",
+        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
+        "//src/sksl/ir:SkSLLiteral_hdr",
+        "//src/sksl/ir:SkSLNop_hdr",
+        "//src/sksl/ir:SkSLPostfixExpression_hdr",
+        "//src/sksl/ir:SkSLPrefixExpression_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+        "//src/sksl/ir:SkSLReturnStatement_hdr",
+        "//src/sksl/ir:SkSLSetting_hdr",
+        "//src/sksl/ir:SkSLSwitchStatement_hdr",
+        "//src/sksl/ir:SkSLSwizzle_hdr",
+        "//src/sksl/ir:SkSLTernaryExpression_hdr",
+        "//src/sksl/ir:SkSLTypeReference_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+        "//src/sksl/ir:SkSLVariableReference_hdr",
+        "//src/sksl/transform:SkSLProgramWriter_hdr",
     ],
 )
+
+generated_cc_atom(
+    name = "SkSLBuiltinTypes_hdr",
+    hdrs = ["SkSLBuiltinTypes.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/sksl/ir:SkSLType_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLBuiltinTypes_src",
+    srcs = ["SkSLBuiltinTypes.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLBuiltinTypes_hdr",
+        ":SkSLCompiler_hdr",
+        ":spirv_hdr",
+        "//include/private:SkSLModifiers_hdr",
+        "//src/sksl/ir:SkSLExpression_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLCompiler_hdr",
+    hdrs = ["SkSLCompiler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLAnalysis_hdr",
+        ":SkSLContext_hdr",
+        ":SkSLInliner_hdr",
+        ":SkSLParsedModule_hdr",
+        "//include/core:SkSize_hdr",
+        "//src/gpu:GrShaderVar_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+        "//src/sksl/ir:SkSLSymbolTable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLCompiler_src",
+    srcs = ["SkSLCompiler.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLCompiler_hdr",
+        ":SkSLConstantFolder_hdr",
+        ":SkSLDSLParser_hdr",
+        ":SkSLIntrinsicMap_hdr",
+        ":SkSLOperators_hdr",
+        ":SkSLProgramSettings_hdr",
+        ":SkSLRehydrator_hdr",
+        ":SkSLThreadContext_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/sksl:DSLCore_hdr",
+        "//src/core:SkTraceEvent_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/sksl/codegen:SkSLGLSLCodeGenerator_hdr",
+        "//src/sksl/codegen:SkSLMetalCodeGenerator_hdr",
+        "//src/sksl/codegen:SkSLSPIRVCodeGenerator_hdr",
+        "//src/sksl/codegen:SkSLSPIRVtoHLSL_hdr",
+        "//src/sksl/dsl/priv:DSLWriter_hdr",
+        "//src/sksl/dsl/priv:DSL_priv_hdr",
+        "//src/sksl/ir:SkSLExpressionStatement_hdr",
+        "//src/sksl/ir:SkSLExpression_hdr",
+        "//src/sksl/ir:SkSLExternalFunctionReference_hdr",
+        "//src/sksl/ir:SkSLFieldAccess_hdr",
+        "//src/sksl/ir:SkSLField_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLFunctionReference_hdr",
+        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
+        "//src/sksl/ir:SkSLLiteral_hdr",
+        "//src/sksl/ir:SkSLModifiersDeclaration_hdr",
+        "//src/sksl/ir:SkSLNop_hdr",
+        "//src/sksl/ir:SkSLSymbolTable_hdr",
+        "//src/sksl/ir:SkSLTernaryExpression_hdr",
+        "//src/sksl/ir:SkSLTypeReference_hdr",
+        "//src/sksl/ir:SkSLUnresolvedFunction_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+        "//src/sksl/transform:SkSLProgramWriter_hdr",
+        "//src/sksl/transform:SkSLTransform_hdr",
+        "//src/utils:SkBitSet_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstantFolder_hdr",
+    hdrs = ["SkSLConstantFolder.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLOperators_hdr",
+        "//include/private:SkSLDefines_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstantFolder_src",
+    srcs = ["SkSLConstantFolder.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLAnalysis_hdr",
+        ":SkSLConstantFolder_hdr",
+        ":SkSLContext_hdr",
+        ":SkSLProgramSettings_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl/ir:SkSLBinaryExpression_hdr",
+        "//src/sksl/ir:SkSLConstructorCompound_hdr",
+        "//src/sksl/ir:SkSLConstructorSplat_hdr",
+        "//src/sksl/ir:SkSLConstructor_hdr",
+        "//src/sksl/ir:SkSLExpression_hdr",
+        "//src/sksl/ir:SkSLLiteral_hdr",
+        "//src/sksl/ir:SkSLPrefixExpression_hdr",
+        "//src/sksl/ir:SkSLType_hdr",
+        "//src/sksl/ir:SkSLVariableReference_hdr",
+        "//src/sksl/ir:SkSLVariable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLContext_hdr",
+    hdrs = ["SkSLContext.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLBuiltinTypes_hdr",
+        ":SkSLUtil_hdr",
+        "//src/sksl/ir:SkSLType_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLContext_src",
+    srcs = ["SkSLContext.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLContext_hdr",
+        ":SkSLPool_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLDSLParser_hdr",
+    hdrs = ["SkSLDSLParser.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLLexer_hdr",
+        "//include/core:SkStringView_hdr",
+        "//include/private:SkSLProgramKind_hdr",
+        "//include/private:SkTOptional_hdr",
+        "//include/sksl:DSLSymbols_hdr",
+        "//include/sksl:DSL_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLDSLParser_src",
+    srcs = ["SkSLDSLParser.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLCompiler_hdr",
+        ":SkSLConstantFolder_hdr",
+        ":SkSLDSLParser_hdr",
+        ":SkSLThreadContext_hdr",
+        "//include/private:SkSLString_hdr",
+        "//src/sksl/dsl/priv:DSLWriter_hdr",
+        "//src/sksl/dsl/priv:DSL_priv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLDehydrator_hdr",
+    hdrs = ["SkSLDehydrator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLOutputStream_hdr",
+        ":SkSLStringStream_hdr",
+        "//include/core:SkSpan_hdr",
+        "//include/private:SkSLModifiers_hdr",
+        "//include/private:SkSLSymbol_hdr",
+        "//include/private:SkTHash_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLDehydrator_src",
+    srcs = ["SkSLDehydrator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLDehydrator_hdr",
+        ":SkSLRehydrator_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+        "//include/private:SkSLStatement_hdr",
+        "//include/private:SkSLSymbol_hdr",
+        "//src/sksl/ir:SkSLBinaryExpression_hdr",
+        "//src/sksl/ir:SkSLBreakStatement_hdr",
+        "//src/sksl/ir:SkSLConstructorArrayCast_hdr",
+        "//src/sksl/ir:SkSLConstructorArray_hdr",
+        "//src/sksl/ir:SkSLConstructorCompoundCast_hdr",
+        "//src/sksl/ir:SkSLConstructorCompound_hdr",
+        "//src/sksl/ir:SkSLConstructorDiagonalMatrix_hdr",
+        "//src/sksl/ir:SkSLConstructorMatrixResize_hdr",
+        "//src/sksl/ir:SkSLConstructorScalarCast_hdr",
+        "//src/sksl/ir:SkSLConstructorSplat_hdr",
+        "//src/sksl/ir:SkSLConstructorStruct_hdr",
+        "//src/sksl/ir:SkSLConstructor_hdr",
+        "//src/sksl/ir:SkSLContinueStatement_hdr",
+        "//src/sksl/ir:SkSLDiscardStatement_hdr",
+        "//src/sksl/ir:SkSLDoStatement_hdr",
+        "//src/sksl/ir:SkSLExpressionStatement_hdr",
+        "//src/sksl/ir:SkSLFieldAccess_hdr",
+        "//src/sksl/ir:SkSLField_hdr",
+        "//src/sksl/ir:SkSLForStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLFunctionDeclaration_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLIfStatement_hdr",
+        "//src/sksl/ir:SkSLIndexExpression_hdr",
+        "//src/sksl/ir:SkSLInlineMarker_hdr",
+        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
+        "//src/sksl/ir:SkSLLiteral_hdr",
+        "//src/sksl/ir:SkSLPostfixExpression_hdr",
+        "//src/sksl/ir:SkSLPrefixExpression_hdr",
+        "//src/sksl/ir:SkSLReturnStatement_hdr",
+        "//src/sksl/ir:SkSLSetting_hdr",
+        "//src/sksl/ir:SkSLStructDefinition_hdr",
+        "//src/sksl/ir:SkSLSwitchCase_hdr",
+        "//src/sksl/ir:SkSLSwitchStatement_hdr",
+        "//src/sksl/ir:SkSLSwizzle_hdr",
+        "//src/sksl/ir:SkSLSymbolAlias_hdr",
+        "//src/sksl/ir:SkSLSymbolTable_hdr",
+        "//src/sksl/ir:SkSLTernaryExpression_hdr",
+        "//src/sksl/ir:SkSLUnresolvedFunction_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+        "//src/sksl/ir:SkSLVariable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLErrorReporter_src",
+    srcs = ["SkSLErrorReporter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLCompiler_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl/dsl/priv:DSLWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLFileOutputStream_hdr",
+    hdrs = ["SkSLFileOutputStream.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLOutputStream_hdr",
+        ":SkSLUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLGLSL_hdr",
+    hdrs = ["SkSLGLSL.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkSLInliner_hdr",
+    hdrs = ["SkSLInliner.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLMangler_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+        "//src/sksl/ir:SkSLVariableReference_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLInliner_src",
+    srcs = ["SkSLInliner.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLInliner_hdr",
+        "//include/private:SkSLLayout_hdr",
+        "//src/sksl/analysis:SkSLProgramVisitor_hdr",
+        "//src/sksl/ir:SkSLBinaryExpression_hdr",
+        "//src/sksl/ir:SkSLBreakStatement_hdr",
+        "//src/sksl/ir:SkSLChildCall_hdr",
+        "//src/sksl/ir:SkSLConstructorArrayCast_hdr",
+        "//src/sksl/ir:SkSLConstructorArray_hdr",
+        "//src/sksl/ir:SkSLConstructorCompoundCast_hdr",
+        "//src/sksl/ir:SkSLConstructorCompound_hdr",
+        "//src/sksl/ir:SkSLConstructorDiagonalMatrix_hdr",
+        "//src/sksl/ir:SkSLConstructorMatrixResize_hdr",
+        "//src/sksl/ir:SkSLConstructorScalarCast_hdr",
+        "//src/sksl/ir:SkSLConstructorSplat_hdr",
+        "//src/sksl/ir:SkSLConstructorStruct_hdr",
+        "//src/sksl/ir:SkSLConstructor_hdr",
+        "//src/sksl/ir:SkSLContinueStatement_hdr",
+        "//src/sksl/ir:SkSLDiscardStatement_hdr",
+        "//src/sksl/ir:SkSLDoStatement_hdr",
+        "//src/sksl/ir:SkSLExpressionStatement_hdr",
+        "//src/sksl/ir:SkSLExternalFunctionCall_hdr",
+        "//src/sksl/ir:SkSLExternalFunctionReference_hdr",
+        "//src/sksl/ir:SkSLFieldAccess_hdr",
+        "//src/sksl/ir:SkSLField_hdr",
+        "//src/sksl/ir:SkSLForStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLFunctionDeclaration_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLFunctionReference_hdr",
+        "//src/sksl/ir:SkSLIfStatement_hdr",
+        "//src/sksl/ir:SkSLIndexExpression_hdr",
+        "//src/sksl/ir:SkSLInlineMarker_hdr",
+        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
+        "//src/sksl/ir:SkSLLiteral_hdr",
+        "//src/sksl/ir:SkSLNop_hdr",
+        "//src/sksl/ir:SkSLPostfixExpression_hdr",
+        "//src/sksl/ir:SkSLPrefixExpression_hdr",
+        "//src/sksl/ir:SkSLReturnStatement_hdr",
+        "//src/sksl/ir:SkSLSetting_hdr",
+        "//src/sksl/ir:SkSLSwitchCase_hdr",
+        "//src/sksl/ir:SkSLSwitchStatement_hdr",
+        "//src/sksl/ir:SkSLSwizzle_hdr",
+        "//src/sksl/ir:SkSLTernaryExpression_hdr",
+        "//src/sksl/ir:SkSLUnresolvedFunction_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+        "//src/sksl/ir:SkSLVariableReference_hdr",
+        "//src/sksl/ir:SkSLVariable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLIntrinsicList_hdr",
+    hdrs = ["SkSLIntrinsicList.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkSLIntrinsicMap_hdr",
+    hdrs = ["SkSLIntrinsicMap.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkSLIntrinsicMap_src",
+    srcs = ["SkSLIntrinsicMap.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLIntrinsicMap_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+        "//include/private:SkSLString_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLLexer_hdr",
+    hdrs = ["SkSLLexer.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkStringView_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLLexer_src",
+    srcs = ["SkSLLexer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkSLLexer_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLMain_src",
+    srcs = ["SkSLMain.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLCompiler_hdr",
+        ":SkSLDehydrator_hdr",
+        ":SkSLFileOutputStream_hdr",
+        ":SkSLStringStream_hdr",
+        ":SkSLUtil_hdr",
+        "//src/core:SkOpts_hdr",
+        "//src/gpu:GrShaderUtils_hdr",
+        "//src/opts:SkChecksum_opts_hdr",
+        "//src/opts:SkVM_opts_hdr",
+        "//src/sksl/codegen:SkSLPipelineStageCodeGenerator_hdr",
+        "//src/sksl/codegen:SkSLVMCodeGenerator_hdr",
+        "//src/sksl/codegen:SkVMDebugInfo_hdr",
+        "//src/sksl/ir:SkSLUnresolvedFunction_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLMangler_hdr",
+    hdrs = ["SkSLMangler.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkSLString_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLMangler_src",
+    srcs = ["SkSLMangler.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLMangler_hdr",
+        "//src/sksl/ir:SkSLSymbolTable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLMemoryLayout_hdr",
+    hdrs = ["SkSLMemoryLayout.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/sksl/ir:SkSLType_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLMemoryPool_hdr",
+    hdrs = ["SkSLMemoryPool.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//src/gpu:GrMemoryPool_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLModifiersPool_hdr",
+    hdrs = ["SkSLModifiersPool.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkSLModifiers_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLOperators_hdr",
+    hdrs = ["SkSLOperators.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLLexer_hdr",
+        "//include/private:SkSLDefines_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLOperators_src",
+    srcs = ["SkSLOperators.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLContext_hdr",
+        ":SkSLOperators_hdr",
+        ":SkSLProgramSettings_hdr",
+        "//include/core:SkTypes_hdr",
+        "//src/sksl/ir:SkSLType_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLOutputStream_hdr",
+    hdrs = ["SkSLOutputStream.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkSLDefines_hdr",
+        "//include/private:SkSLString_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLOutputStream_src",
+    srcs = ["SkSLOutputStream.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkSLOutputStream_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLParsedModule_hdr",
+    hdrs = ["SkSLParsedModule.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkSLPool_hdr",
+    hdrs = ["SkSLPool.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkSLMemoryPool_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLPool_src",
+    srcs = ["SkSLPool.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLPool_hdr",
+        "//include/private:SkSLDefines_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLProgramSettings_hdr",
+    hdrs = ["SkSLProgramSettings.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkSLDefines_hdr",
+        "//include/private:SkSLProgramKind_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLRehydrator_hdr",
+    hdrs = ["SkSLRehydrator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLContext_hdr",
+        "//include/private:SkSLDefines_hdr",
+        "//include/private:SkSLModifiers_hdr",
+        "//include/private:SkSLSymbol_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLRehydrator_src",
+    srcs = ["SkSLRehydrator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLAnalysis_hdr",
+        ":SkSLRehydrator_hdr",
+        "//include/private:SkSLModifiers_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+        "//include/private:SkSLStatement_hdr",
+        "//src/sksl/ir:SkSLBinaryExpression_hdr",
+        "//src/sksl/ir:SkSLBreakStatement_hdr",
+        "//src/sksl/ir:SkSLConstructorArray_hdr",
+        "//src/sksl/ir:SkSLConstructorCompoundCast_hdr",
+        "//src/sksl/ir:SkSLConstructorCompound_hdr",
+        "//src/sksl/ir:SkSLConstructorDiagonalMatrix_hdr",
+        "//src/sksl/ir:SkSLConstructorMatrixResize_hdr",
+        "//src/sksl/ir:SkSLConstructorScalarCast_hdr",
+        "//src/sksl/ir:SkSLConstructorSplat_hdr",
+        "//src/sksl/ir:SkSLConstructorStruct_hdr",
+        "//src/sksl/ir:SkSLConstructor_hdr",
+        "//src/sksl/ir:SkSLContinueStatement_hdr",
+        "//src/sksl/ir:SkSLDiscardStatement_hdr",
+        "//src/sksl/ir:SkSLDoStatement_hdr",
+        "//src/sksl/ir:SkSLExpressionStatement_hdr",
+        "//src/sksl/ir:SkSLExpression_hdr",
+        "//src/sksl/ir:SkSLFieldAccess_hdr",
+        "//src/sksl/ir:SkSLField_hdr",
+        "//src/sksl/ir:SkSLForStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLFunctionDeclaration_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLIfStatement_hdr",
+        "//src/sksl/ir:SkSLIndexExpression_hdr",
+        "//src/sksl/ir:SkSLInlineMarker_hdr",
+        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
+        "//src/sksl/ir:SkSLLiteral_hdr",
+        "//src/sksl/ir:SkSLPostfixExpression_hdr",
+        "//src/sksl/ir:SkSLPrefixExpression_hdr",
+        "//src/sksl/ir:SkSLReturnStatement_hdr",
+        "//src/sksl/ir:SkSLSetting_hdr",
+        "//src/sksl/ir:SkSLStructDefinition_hdr",
+        "//src/sksl/ir:SkSLSwitchCase_hdr",
+        "//src/sksl/ir:SkSLSwitchStatement_hdr",
+        "//src/sksl/ir:SkSLSwizzle_hdr",
+        "//src/sksl/ir:SkSLSymbolAlias_hdr",
+        "//src/sksl/ir:SkSLSymbolTable_hdr",
+        "//src/sksl/ir:SkSLTernaryExpression_hdr",
+        "//src/sksl/ir:SkSLType_hdr",
+        "//src/sksl/ir:SkSLUnresolvedFunction_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+        "//src/sksl/ir:SkSLVariable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLSampleUsage_src",
+    srcs = ["SkSLSampleUsage.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkSLSampleUsage_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLStringStream_hdr",
+    hdrs = ["SkSLStringStream.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLOutputStream_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkSLString_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLString_src",
+    srcs = ["SkSLString.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLUtil_hdr",
+        "//include/private:SkSLString_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLThreadContext_hdr",
+    hdrs = ["SkSLThreadContext.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLMangler_hdr",
+        "//include/core:SkStringView_hdr",
+        "//include/private:SkSLModifiers_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLThreadContext_src",
+    srcs = ["SkSLThreadContext.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLCompiler_hdr",
+        ":SkSLIntrinsicMap_hdr",
+        ":SkSLThreadContext_hdr",
+        "//include/sksl:DSLSymbols_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/sksl/ir:SkSLExternalFunction_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLUtil_hdr",
+    hdrs = ["SkSLUtil.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLGLSL_hdr",
+        ":SkSLLexer_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/gpu:GrContextOptions_hdr",
+        "//include/private:GrTypesPriv_hdr",
+        "//include/private:SkSLDefines_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLUtil_src",
+    srcs = ["SkSLUtil.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLContext_hdr",
+        ":SkSLStringStream_hdr",
+        ":SkSLUtil_hdr",
+        "//src/gpu:GrShaderCaps_hdr",
+        "//src/sksl/ir:SkSLType_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "spirv_hdr",
+    hdrs = ["spirv.h"],
+    visibility = ["//:__subpackages__"],
+)
diff --git a/src/sksl/analysis/BUILD.bazel b/src/sksl/analysis/BUILD.bazel
new file mode 100644
index 0000000..13aa909
--- /dev/null
+++ b/src/sksl/analysis/BUILD.bazel
@@ -0,0 +1,105 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkSLCanExitWithoutReturningValue_src",
+    srcs = ["SkSLCanExitWithoutReturningValue.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLProgramVisitor_hdr",
+        "//include/private:SkSLStatement_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl/ir:SkSLDoStatement_hdr",
+        "//src/sksl/ir:SkSLForStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionDeclaration_hdr",
+        "//src/sksl/ir:SkSLIfStatement_hdr",
+        "//src/sksl/ir:SkSLSwitchStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLCheckProgramUnrolledSize_src",
+    srcs = ["SkSLCheckProgramUnrolledSize.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLProgramVisitor_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+        "//include/private:SkSLStatement_hdr",
+        "//src/core:SkSafeMath_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+        "//src/sksl/ir:SkSLForStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLGetLoopUnrollInfo_src",
+    srcs = ["SkSLGetLoopUnrollInfo.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkFloatingPoint_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl/ir:SkSLBinaryExpression_hdr",
+        "//src/sksl/ir:SkSLForStatement_hdr",
+        "//src/sksl/ir:SkSLPostfixExpression_hdr",
+        "//src/sksl/ir:SkSLPrefixExpression_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+        "//src/sksl/ir:SkSLVariableReference_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLIsConstantExpression_src",
+    srcs = ["SkSLIsConstantExpression.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLProgramVisitor_hdr",
+        "//include/private:SkSLStatement_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl/ir:SkSLDoStatement_hdr",
+        "//src/sksl/ir:SkSLForStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionDeclaration_hdr",
+        "//src/sksl/ir:SkSLIfStatement_hdr",
+        "//src/sksl/ir:SkSLSwitchStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLProgramUsage_src",
+    srcs = ["SkSLProgramUsage.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLProgramVisitor_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLFunctionDeclaration_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+        "//src/sksl/ir:SkSLVariableReference_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLProgramVisitor_hdr",
+    hdrs = ["SkSLProgramVisitor.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkSLSwitchCaseContainsExit_src",
+    srcs = ["SkSLSwitchCaseContainsExit.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLProgramVisitor_hdr",
+        "//include/private:SkSLStatement_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+    ],
+)
diff --git a/src/sksl/codegen/BUILD.bazel b/src/sksl/codegen/BUILD.bazel
new file mode 100644
index 0000000..06b8e28
--- /dev/null
+++ b/src/sksl/codegen/BUILD.bazel
@@ -0,0 +1,311 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkSLCodeGenerator_hdr",
+    hdrs = ["SkSLCodeGenerator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/sksl:SkSLOutputStream_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLGLSLCodeGenerator_hdr",
+    hdrs = ["SkSLGLSLCodeGenerator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLCodeGenerator_hdr",
+        "//src/sksl:SkSLOperators_hdr",
+        "//src/sksl:SkSLStringStream_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLGLSLCodeGenerator_src",
+    srcs = ["SkSLGLSLCodeGenerator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLGLSLCodeGenerator_hdr",
+        "//include/private:SkOnce_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl/ir:SkSLBinaryExpression_hdr",
+        "//src/sksl/ir:SkSLConstructorArrayCast_hdr",
+        "//src/sksl/ir:SkSLConstructorDiagonalMatrix_hdr",
+        "//src/sksl/ir:SkSLDoStatement_hdr",
+        "//src/sksl/ir:SkSLExpressionStatement_hdr",
+        "//src/sksl/ir:SkSLExtension_hdr",
+        "//src/sksl/ir:SkSLFieldAccess_hdr",
+        "//src/sksl/ir:SkSLForStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLFunctionPrototype_hdr",
+        "//src/sksl/ir:SkSLIfStatement_hdr",
+        "//src/sksl/ir:SkSLIndexExpression_hdr",
+        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
+        "//src/sksl/ir:SkSLModifiersDeclaration_hdr",
+        "//src/sksl/ir:SkSLNop_hdr",
+        "//src/sksl/ir:SkSLPostfixExpression_hdr",
+        "//src/sksl/ir:SkSLPrefixExpression_hdr",
+        "//src/sksl/ir:SkSLReturnStatement_hdr",
+        "//src/sksl/ir:SkSLSetting_hdr",
+        "//src/sksl/ir:SkSLStructDefinition_hdr",
+        "//src/sksl/ir:SkSLSwitchCase_hdr",
+        "//src/sksl/ir:SkSLSwitchStatement_hdr",
+        "//src/sksl/ir:SkSLSwizzle_hdr",
+        "//src/sksl/ir:SkSLVariableReference_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLMetalCodeGenerator_hdr",
+    hdrs = ["SkSLMetalCodeGenerator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLCodeGenerator_hdr",
+        "//src/sksl:SkSLOperators_hdr",
+        "//src/sksl:SkSLStringStream_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLMetalCodeGenerator_src",
+    srcs = ["SkSLMetalCodeGenerator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLMetalCodeGenerator_hdr",
+        "//src/core:SkScopeExit_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLMemoryLayout_hdr",
+        "//src/sksl/ir:SkSLBinaryExpression_hdr",
+        "//src/sksl/ir:SkSLBlock_hdr",
+        "//src/sksl/ir:SkSLConstructorArrayCast_hdr",
+        "//src/sksl/ir:SkSLConstructorArray_hdr",
+        "//src/sksl/ir:SkSLConstructorCompoundCast_hdr",
+        "//src/sksl/ir:SkSLConstructorCompound_hdr",
+        "//src/sksl/ir:SkSLConstructorDiagonalMatrix_hdr",
+        "//src/sksl/ir:SkSLConstructorMatrixResize_hdr",
+        "//src/sksl/ir:SkSLConstructorSplat_hdr",
+        "//src/sksl/ir:SkSLConstructorStruct_hdr",
+        "//src/sksl/ir:SkSLDoStatement_hdr",
+        "//src/sksl/ir:SkSLExpressionStatement_hdr",
+        "//src/sksl/ir:SkSLExtension_hdr",
+        "//src/sksl/ir:SkSLFieldAccess_hdr",
+        "//src/sksl/ir:SkSLForStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLFunctionDeclaration_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLFunctionPrototype_hdr",
+        "//src/sksl/ir:SkSLIfStatement_hdr",
+        "//src/sksl/ir:SkSLIndexExpression_hdr",
+        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
+        "//src/sksl/ir:SkSLModifiersDeclaration_hdr",
+        "//src/sksl/ir:SkSLNop_hdr",
+        "//src/sksl/ir:SkSLPostfixExpression_hdr",
+        "//src/sksl/ir:SkSLPrefixExpression_hdr",
+        "//src/sksl/ir:SkSLReturnStatement_hdr",
+        "//src/sksl/ir:SkSLSetting_hdr",
+        "//src/sksl/ir:SkSLStructDefinition_hdr",
+        "//src/sksl/ir:SkSLSwitchStatement_hdr",
+        "//src/sksl/ir:SkSLSwizzle_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+        "//src/sksl/ir:SkSLVariableReference_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLPipelineStageCodeGenerator_hdr",
+    hdrs = ["SkSLPipelineStageCodeGenerator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkSLString_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLPipelineStageCodeGenerator_src",
+    srcs = ["SkSLPipelineStageCodeGenerator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLPipelineStageCodeGenerator_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+        "//include/private:SkSLStatement_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLOperators_hdr",
+        "//src/sksl:SkSLStringStream_hdr",
+        "//src/sksl/ir:SkSLBinaryExpression_hdr",
+        "//src/sksl/ir:SkSLChildCall_hdr",
+        "//src/sksl/ir:SkSLConstructorArrayCast_hdr",
+        "//src/sksl/ir:SkSLConstructor_hdr",
+        "//src/sksl/ir:SkSLDoStatement_hdr",
+        "//src/sksl/ir:SkSLExpressionStatement_hdr",
+        "//src/sksl/ir:SkSLFieldAccess_hdr",
+        "//src/sksl/ir:SkSLForStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLFunctionDeclaration_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLFunctionPrototype_hdr",
+        "//src/sksl/ir:SkSLIfStatement_hdr",
+        "//src/sksl/ir:SkSLIndexExpression_hdr",
+        "//src/sksl/ir:SkSLPostfixExpression_hdr",
+        "//src/sksl/ir:SkSLPrefixExpression_hdr",
+        "//src/sksl/ir:SkSLReturnStatement_hdr",
+        "//src/sksl/ir:SkSLStructDefinition_hdr",
+        "//src/sksl/ir:SkSLSwitchStatement_hdr",
+        "//src/sksl/ir:SkSLSwizzle_hdr",
+        "//src/sksl/ir:SkSLTernaryExpression_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+        "//src/sksl/ir:SkSLVariableReference_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLSPIRVCodeGenerator_hdr",
+    hdrs = ["SkSLSPIRVCodeGenerator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLCodeGenerator_hdr",
+        "//src/core:SkOpts_hdr",
+        "//src/sksl:SkSLMemoryLayout_hdr",
+        "//src/sksl:SkSLStringStream_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLSPIRVCodeGenerator_src",
+    srcs = ["SkSLSPIRVCodeGenerator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLSPIRVCodeGenerator_hdr",
+        "//include/sksl:DSLCore_hdr",
+        "//src/gpu/vk:GrVkCaps_hdr",
+        "//src/sksl:GLSL.std.450_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLOperators_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+        "//src/sksl/ir:SkSLBinaryExpression_hdr",
+        "//src/sksl/ir:SkSLBlock_hdr",
+        "//src/sksl/ir:SkSLConstructorArrayCast_hdr",
+        "//src/sksl/ir:SkSLConstructorCompoundCast_hdr",
+        "//src/sksl/ir:SkSLConstructorCompound_hdr",
+        "//src/sksl/ir:SkSLConstructorDiagonalMatrix_hdr",
+        "//src/sksl/ir:SkSLConstructorMatrixResize_hdr",
+        "//src/sksl/ir:SkSLConstructorScalarCast_hdr",
+        "//src/sksl/ir:SkSLConstructorSplat_hdr",
+        "//src/sksl/ir:SkSLDoStatement_hdr",
+        "//src/sksl/ir:SkSLExpressionStatement_hdr",
+        "//src/sksl/ir:SkSLExtension_hdr",
+        "//src/sksl/ir:SkSLFieldAccess_hdr",
+        "//src/sksl/ir:SkSLField_hdr",
+        "//src/sksl/ir:SkSLForStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLFunctionDeclaration_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLIfStatement_hdr",
+        "//src/sksl/ir:SkSLIndexExpression_hdr",
+        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
+        "//src/sksl/ir:SkSLPostfixExpression_hdr",
+        "//src/sksl/ir:SkSLPrefixExpression_hdr",
+        "//src/sksl/ir:SkSLReturnStatement_hdr",
+        "//src/sksl/ir:SkSLSwitchStatement_hdr",
+        "//src/sksl/ir:SkSLSwizzle_hdr",
+        "//src/sksl/ir:SkSLTernaryExpression_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+        "//src/sksl/ir:SkSLVariableReference_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLSPIRVtoHLSL_hdr",
+    hdrs = ["SkSLSPIRVtoHLSL.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkSLString_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLSPIRVtoHLSL_src",
+    srcs = ["SkSLSPIRVtoHLSL.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkSLSPIRVtoHLSL_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLVMCodeGenerator_hdr",
+    hdrs = ["SkSLVMCodeGenerator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkSpan_hdr",
+        "//include/private:SkSLString_hdr",
+        "//src/core:SkVM_hdr",
+        "//src/sksl/ir:SkSLType_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLVMCodeGenerator_src",
+    srcs = ["SkSLVMCodeGenerator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLCodeGenerator_hdr",
+        ":SkSLVMCodeGenerator_hdr",
+        ":SkVMDebugInfo_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+        "//include/private:SkSLStatement_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLOperators_hdr",
+        "//src/sksl/ir:SkSLBinaryExpression_hdr",
+        "//src/sksl/ir:SkSLBlock_hdr",
+        "//src/sksl/ir:SkSLBreakStatement_hdr",
+        "//src/sksl/ir:SkSLChildCall_hdr",
+        "//src/sksl/ir:SkSLConstructorArrayCast_hdr",
+        "//src/sksl/ir:SkSLConstructorArray_hdr",
+        "//src/sksl/ir:SkSLConstructorDiagonalMatrix_hdr",
+        "//src/sksl/ir:SkSLConstructorMatrixResize_hdr",
+        "//src/sksl/ir:SkSLConstructorSplat_hdr",
+        "//src/sksl/ir:SkSLConstructorStruct_hdr",
+        "//src/sksl/ir:SkSLConstructor_hdr",
+        "//src/sksl/ir:SkSLContinueStatement_hdr",
+        "//src/sksl/ir:SkSLDoStatement_hdr",
+        "//src/sksl/ir:SkSLExpressionStatement_hdr",
+        "//src/sksl/ir:SkSLExternalFunctionCall_hdr",
+        "//src/sksl/ir:SkSLExternalFunctionReference_hdr",
+        "//src/sksl/ir:SkSLFieldAccess_hdr",
+        "//src/sksl/ir:SkSLForStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLFunctionDeclaration_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLIfStatement_hdr",
+        "//src/sksl/ir:SkSLIndexExpression_hdr",
+        "//src/sksl/ir:SkSLLiteral_hdr",
+        "//src/sksl/ir:SkSLPostfixExpression_hdr",
+        "//src/sksl/ir:SkSLPrefixExpression_hdr",
+        "//src/sksl/ir:SkSLReturnStatement_hdr",
+        "//src/sksl/ir:SkSLSwitchStatement_hdr",
+        "//src/sksl/ir:SkSLSwizzle_hdr",
+        "//src/sksl/ir:SkSLTernaryExpression_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+        "//src/sksl/ir:SkSLVariableReference_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkVMDebugInfo_hdr",
+    hdrs = ["SkVMDebugInfo.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/core:SkVM_hdr",
+        "//src/sksl/ir:SkSLType_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkVMDebugInfo_src",
+    srcs = ["SkVMDebugInfo.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkVMDebugInfo_hdr",
+        "//src/core:SkStreamPriv_hdr",
+        "//src/utils:SkJSONWriter_hdr",
+        "//src/utils:SkJSON_hdr",
+    ],
+)
diff --git a/src/sksl/dsl/BUILD.bazel b/src/sksl/dsl/BUILD.bazel
new file mode 100644
index 0000000..fe59f0f
--- /dev/null
+++ b/src/sksl/dsl/BUILD.bazel
@@ -0,0 +1,181 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "DSLBlock_src",
+    srcs = ["DSLBlock.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/sksl:DSLBlock_hdr",
+        "//include/sksl:DSLStatement_hdr",
+        "//src/sksl/ir:SkSLBlock_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLCase_src",
+    srcs = ["DSLCase.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkSLStatement_hdr",
+        "//include/sksl:DSLCase_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLCore_src",
+    srcs = ["DSLCore.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkSLDefines_hdr",
+        "//include/sksl:DSLCore_hdr",
+        "//include/sksl:DSLSymbols_hdr",
+        "//include/sksl:DSLVar_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+        "//src/sksl/dsl/priv:DSLWriter_hdr",
+        "//src/sksl/ir:SkSLBlock_hdr",
+        "//src/sksl/ir:SkSLBreakStatement_hdr",
+        "//src/sksl/ir:SkSLContinueStatement_hdr",
+        "//src/sksl/ir:SkSLDiscardStatement_hdr",
+        "//src/sksl/ir:SkSLDoStatement_hdr",
+        "//src/sksl/ir:SkSLExtension_hdr",
+        "//src/sksl/ir:SkSLField_hdr",
+        "//src/sksl/ir:SkSLForStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLIfStatement_hdr",
+        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
+        "//src/sksl/ir:SkSLModifiersDeclaration_hdr",
+        "//src/sksl/ir:SkSLReturnStatement_hdr",
+        "//src/sksl/ir:SkSLStructDefinition_hdr",
+        "//src/sksl/ir:SkSLSwitchStatement_hdr",
+        "//src/sksl/ir:SkSLSwizzle_hdr",
+        "//src/sksl/ir:SkSLTernaryExpression_hdr",
+        "//src/sksl/transform:SkSLTransform_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLExpression_src",
+    srcs = ["DSLExpression.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/sksl:DSLCore_hdr",
+        "//include/sksl:DSLExpression_hdr",
+        "//include/sksl:DSLVar_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+        "//src/sksl/dsl/priv:DSLWriter_hdr",
+        "//src/sksl/ir:SkSLBinaryExpression_hdr",
+        "//src/sksl/ir:SkSLFieldAccess_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLIndexExpression_hdr",
+        "//src/sksl/ir:SkSLLiteral_hdr",
+        "//src/sksl/ir:SkSLPoison_hdr",
+        "//src/sksl/ir:SkSLPostfixExpression_hdr",
+        "//src/sksl/ir:SkSLPrefixExpression_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLFunction_src",
+    srcs = ["DSLFunction.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/sksl:DSLFunction_hdr",
+        "//include/sksl:DSLVar_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+        "//src/sksl/dsl/priv:DSLWriter_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLFunctionPrototype_hdr",
+        "//src/sksl/ir:SkSLReturnStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLLayout_src",
+    srcs = ["DSLLayout.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/sksl:DSLLayout_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLRuntimeEffects_src",
+    srcs = ["DSLRuntimeEffects.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/effects:SkRuntimeEffect_hdr",
+        "//include/sksl:DSLCore_hdr",
+        "//include/sksl:DSLRuntimeEffects_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLStatement_src",
+    srcs = ["DSLStatement.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/sksl:DSLBlock_hdr",
+        "//include/sksl:DSLExpression_hdr",
+        "//include/sksl:DSLStatement_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+        "//src/sksl/ir:SkSLBlock_hdr",
+        "//src/sksl/ir:SkSLExpressionStatement_hdr",
+        "//src/sksl/ir:SkSLNop_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLSymbols_src",
+    srcs = ["DSLSymbols.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/sksl:DSLSymbols_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+        "//src/sksl/dsl/priv:DSLWriter_hdr",
+        "//src/sksl/ir:SkSLVariable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLType_src",
+    srcs = ["DSLType.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/sksl:DSLType_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+        "//src/sksl/ir:SkSLConstructor_hdr",
+        "//src/sksl/ir:SkSLStructDefinition_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLVar_src",
+    srcs = ["DSLVar.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/sksl:DSLModifiers_hdr",
+        "//include/sksl:DSLType_hdr",
+        "//include/sksl:DSLVar_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+        "//src/sksl:SkSLUtil_hdr",
+        "//src/sksl/dsl/priv:DSLWriter_hdr",
+        "//src/sksl/ir:SkSLBinaryExpression_hdr",
+        "//src/sksl/ir:SkSLFunctionCall_hdr",
+        "//src/sksl/ir:SkSLSymbolTable_hdr",
+        "//src/sksl/ir:SkSLVariableReference_hdr",
+        "//src/sksl/ir:SkSLVariable_hdr",
+    ],
+)
diff --git a/src/sksl/dsl/priv/BUILD.bazel b/src/sksl/dsl/priv/BUILD.bazel
new file mode 100644
index 0000000..1bcf836
--- /dev/null
+++ b/src/sksl/dsl/priv/BUILD.bazel
@@ -0,0 +1,63 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "DSLFPs_hdr",
+    hdrs = ["DSLFPs.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/sksl:DSL_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLFPs_src",
+    srcs = ["DSLFPs.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DSLFPs_hdr",
+        ":DSLWriter_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+        "//src/sksl/ir:SkSLCodeStringExpression_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLWriter_hdr",
+    hdrs = ["DSLWriter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkStringView_hdr",
+        "//include/core:SkTypes_hdr",
+        "//src/gpu:GrFragmentProcessor_hdr",
+        "//src/gpu/glsl:GrGLSLFragmentShaderBuilder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSLWriter_src",
+    srcs = ["DSLWriter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DSLWriter_hdr",
+        "//include/sksl:DSLCore_hdr",
+        "//include/sksl:DSLStatement_hdr",
+        "//include/sksl:DSLSymbols_hdr",
+        "//include/sksl:DSLVar_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+        "//src/sksl/ir:SkSLBlock_hdr",
+        "//src/sksl/ir:SkSLNop_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+        "//src/sksl/ir:SkSLVariable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "DSL_priv_hdr",
+    hdrs = ["DSL_priv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkSLProgramKind_hdr",
+        "//src/sksl:SkSLParsedModule_hdr",
+    ],
+)
diff --git a/src/sksl/ir/BUILD.bazel b/src/sksl/ir/BUILD.bazel
new file mode 100644
index 0000000..b7e3c7c
--- /dev/null
+++ b/src/sksl/ir/BUILD.bazel
@@ -0,0 +1,1158 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkSLBinaryExpression_hdr",
+    hdrs = ["SkSLBinaryExpression.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        ":SkSLFieldAccess_hdr",
+        ":SkSLIndexExpression_hdr",
+        ":SkSLSwizzle_hdr",
+        ":SkSLTernaryExpression_hdr",
+        "//src/sksl:SkSLLexer_hdr",
+        "//src/sksl:SkSLOperators_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLBinaryExpression_src",
+    srcs = ["SkSLBinaryExpression.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLBinaryExpression_hdr",
+        ":SkSLIndexExpression_hdr",
+        ":SkSLLiteral_hdr",
+        ":SkSLSetting_hdr",
+        ":SkSLSwizzle_hdr",
+        ":SkSLTernaryExpression_hdr",
+        ":SkSLType_hdr",
+        ":SkSLVariableReference_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLBlock_hdr",
+    hdrs = ["SkSLBlock.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLSymbolTable_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLBlock_src",
+    srcs = ["SkSLBlock.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLBlock_hdr",
+        ":SkSLNop_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLBreakStatement_hdr",
+    hdrs = ["SkSLBreakStatement.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLChildCall_hdr",
+    hdrs = ["SkSLChildCall.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        ":SkSLVariable_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLChildCall_src",
+    srcs = ["SkSLChildCall.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLChildCall_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLCodeStringExpression_hdr",
+    hdrs = ["SkSLCodeStringExpression.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkSLExpression_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorArrayCast_hdr",
+    hdrs = ["SkSLConstructorArrayCast.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructor_hdr",
+        ":SkSLExpression_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorArrayCast_src",
+    srcs = ["SkSLConstructorArrayCast.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructorArrayCast_hdr",
+        ":SkSLConstructorArray_hdr",
+        ":SkSLConstructorCompoundCast_hdr",
+        ":SkSLConstructorScalarCast_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorArray_hdr",
+    hdrs = ["SkSLConstructorArray.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkSLConstructor_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorArray_src",
+    srcs = ["SkSLConstructorArray.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructorArrayCast_hdr",
+        ":SkSLConstructorArray_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorCompoundCast_hdr",
+    hdrs = ["SkSLConstructorCompoundCast.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructor_hdr",
+        ":SkSLExpression_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorCompoundCast_src",
+    srcs = ["SkSLConstructorCompoundCast.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructorCompoundCast_hdr",
+        ":SkSLConstructorCompound_hdr",
+        ":SkSLConstructorDiagonalMatrix_hdr",
+        ":SkSLConstructorScalarCast_hdr",
+        ":SkSLConstructorSplat_hdr",
+        ":SkSLConstructor_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorCompound_hdr",
+    hdrs = ["SkSLConstructorCompound.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructor_hdr",
+        ":SkSLExpression_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorCompound_src",
+    srcs = ["SkSLConstructorCompound.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructorCompound_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorDiagonalMatrix_hdr",
+    hdrs = ["SkSLConstructorDiagonalMatrix.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructor_hdr",
+        ":SkSLExpression_hdr",
+        ":SkSLLiteral_hdr",
+        "//include/private:SkSLDefines_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorDiagonalMatrix_src",
+    srcs = ["SkSLConstructorDiagonalMatrix.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructorDiagonalMatrix_hdr",
+        ":SkSLConstructor_hdr",
+        ":SkSLType_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorMatrixResize_hdr",
+    hdrs = ["SkSLConstructorMatrixResize.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructor_hdr",
+        ":SkSLExpression_hdr",
+        ":SkSLLiteral_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorMatrixResize_src",
+    srcs = ["SkSLConstructorMatrixResize.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructorMatrixResize_hdr",
+        ":SkSLConstructor_hdr",
+        ":SkSLType_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorScalarCast_hdr",
+    hdrs = ["SkSLConstructorScalarCast.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructor_hdr",
+        ":SkSLExpression_hdr",
+        "//include/private:SkSLDefines_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorScalarCast_src",
+    srcs = ["SkSLConstructorScalarCast.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructorScalarCast_hdr",
+        ":SkSLLiteral_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorSplat_hdr",
+    hdrs = ["SkSLConstructorSplat.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructor_hdr",
+        ":SkSLExpression_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorSplat_src",
+    srcs = ["SkSLConstructorSplat.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructorSplat_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorStruct_hdr",
+    hdrs = ["SkSLConstructorStruct.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkSLConstructor_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructorStruct_src",
+    srcs = ["SkSLConstructorStruct.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructorStruct_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructor_hdr",
+    hdrs = ["SkSLConstructor.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//include/core:SkSpan_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLConstructor_src",
+    srcs = ["SkSLConstructor.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructorArray_hdr",
+        ":SkSLConstructorCompoundCast_hdr",
+        ":SkSLConstructorCompound_hdr",
+        ":SkSLConstructorDiagonalMatrix_hdr",
+        ":SkSLConstructorMatrixResize_hdr",
+        ":SkSLConstructorScalarCast_hdr",
+        ":SkSLConstructorSplat_hdr",
+        ":SkSLConstructorStruct_hdr",
+        ":SkSLConstructor_hdr",
+        ":SkSLLiteral_hdr",
+        ":SkSLPrefixExpression_hdr",
+        ":SkSLType_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLContinueStatement_hdr",
+    hdrs = ["SkSLContinueStatement.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLDiscardStatement_hdr",
+    hdrs = ["SkSLDiscardStatement.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLDoStatement_hdr",
+    hdrs = ["SkSLDoStatement.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLDoStatement_src",
+    srcs = ["SkSLDoStatement.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLDoStatement_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLExpressionStatement_hdr",
+    hdrs = ["SkSLExpressionStatement.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLExpressionStatement_src",
+    srcs = ["SkSLExpressionStatement.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpressionStatement_hdr",
+        ":SkSLNop_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLExpression_hdr",
+    hdrs = ["SkSLExpression.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLType_hdr",
+        "//include/private:SkSLStatement_hdr",
+        "//include/private:SkTHash_hdr",
+        "//include/private:SkTOptional_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLExpression_src",
+    srcs = ["SkSLExpression.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLExtension_hdr",
+    hdrs = ["SkSLExtension.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkSLProgramElement_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLExternalFunctionCall_hdr",
+    hdrs = ["SkSLExternalFunctionCall.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        ":SkSLExternalFunction_hdr",
+        ":SkSLFunctionDeclaration_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLExternalFunctionReference_hdr",
+    hdrs = ["SkSLExternalFunctionReference.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        ":SkSLExternalFunction_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLExternalFunction_hdr",
+    hdrs = ["SkSLExternalFunction.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkSLSymbol_hdr",
+        "//src/core:SkVM_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLFieldAccess_hdr",
+    hdrs = ["SkSLFieldAccess.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//src/sksl:SkSLUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLFieldAccess_src",
+    srcs = ["SkSLFieldAccess.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLFieldAccess_hdr",
+        ":SkSLMethodReference_hdr",
+        ":SkSLSetting_hdr",
+        ":SkSLSymbolTable_hdr",
+        ":SkSLUnresolvedFunction_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLField_hdr",
+    hdrs = ["SkSLField.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLType_hdr",
+        ":SkSLVariable_hdr",
+        "//include/private:SkSLModifiers_hdr",
+        "//include/private:SkSLSymbol_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLForStatement_hdr",
+    hdrs = ["SkSLForStatement.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        ":SkSLSymbolTable_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLForStatement_src",
+    srcs = ["SkSLForStatement.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLBlock_hdr",
+        ":SkSLExpressionStatement_hdr",
+        ":SkSLForStatement_hdr",
+        ":SkSLNop_hdr",
+        ":SkSLSymbolTable_hdr",
+        ":SkSLType_hdr",
+        ":SkSLVarDeclarations_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLFunctionCall_hdr",
+    hdrs = ["SkSLFunctionCall.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        ":SkSLFunctionDeclaration_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLFunctionCall_src",
+    srcs = ["SkSLFunctionCall.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLChildCall_hdr",
+        ":SkSLConstructorCompound_hdr",
+        ":SkSLExternalFunctionCall_hdr",
+        ":SkSLExternalFunctionReference_hdr",
+        ":SkSLFunctionCall_hdr",
+        ":SkSLFunctionReference_hdr",
+        ":SkSLLiteral_hdr",
+        ":SkSLMethodReference_hdr",
+        ":SkSLTypeReference_hdr",
+        "//include/private:SkFloatingPoint_hdr",
+        "//include/sksl:DSLCore_hdr",
+        "//src/core:SkMatrixInvert_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+        "//src/sksl/dsl/priv:DSLWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLFunctionDeclaration_hdr",
+    hdrs = ["SkSLFunctionDeclaration.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        ":SkSLSymbolTable_hdr",
+        ":SkSLType_hdr",
+        ":SkSLVariable_hdr",
+        "//include/private:SkSLModifiers_hdr",
+        "//include/private:SkSLProgramKind_hdr",
+        "//include/private:SkSLSymbol_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/sksl:SkSLIntrinsicList_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLFunctionDeclaration_src",
+    srcs = ["SkSLFunctionDeclaration.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLFunctionDeclaration_hdr",
+        ":SkSLUnresolvedFunction_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLFunctionDefinition_hdr",
+    hdrs = ["SkSLFunctionDefinition.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLBlock_hdr",
+        ":SkSLFunctionDeclaration_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLFunctionDefinition_src",
+    srcs = ["SkSLFunctionDefinition.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLFieldAccess_hdr",
+        ":SkSLFunctionCall_hdr",
+        ":SkSLFunctionDefinition_hdr",
+        ":SkSLInterfaceBlock_hdr",
+        ":SkSLReturnStatement_hdr",
+        "//include/sksl:DSLCore_hdr",
+        "//src/core:SkSafeMath_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLIntrinsicMap_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+        "//src/sksl/transform:SkSLProgramWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLFunctionPrototype_hdr",
+    hdrs = ["SkSLFunctionPrototype.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLBlock_hdr",
+        ":SkSLFunctionDeclaration_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLFunctionReference_hdr",
+    hdrs = ["SkSLFunctionReference.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        ":SkSLFunctionDeclaration_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLIfStatement_hdr",
+    hdrs = ["SkSLIfStatement.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLIfStatement_src",
+    srcs = ["SkSLIfStatement.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpressionStatement_hdr",
+        ":SkSLIfStatement_hdr",
+        ":SkSLLiteral_hdr",
+        ":SkSLNop_hdr",
+        ":SkSLType_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLIndexExpression_hdr",
+    hdrs = ["SkSLIndexExpression.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLIndexExpression_src",
+    srcs = ["SkSLIndexExpression.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLBinaryExpression_hdr",
+        ":SkSLConstructorArray_hdr",
+        ":SkSLConstructorCompound_hdr",
+        ":SkSLIndexExpression_hdr",
+        ":SkSLLiteral_hdr",
+        ":SkSLSwizzle_hdr",
+        ":SkSLSymbolTable_hdr",
+        ":SkSLTypeReference_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLInlineMarker_hdr",
+    hdrs = ["SkSLInlineMarker.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLFunctionDeclaration_hdr",
+        ":SkSLSymbolTable_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLInterfaceBlock_hdr",
+    hdrs = ["SkSLInterfaceBlock.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLSymbolTable_hdr",
+        ":SkSLVarDeclarations_hdr",
+        "//include/core:SkStringView_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLLiteral_hdr",
+    hdrs = ["SkSLLiteral.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLMethodReference_hdr",
+    hdrs = ["SkSLMethodReference.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLModifiersDeclaration_hdr",
+    hdrs = ["SkSLModifiersDeclaration.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkSLModifiers_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLModifiers_src",
+    srcs = ["SkSLModifiers.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkSLModifiers_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLNop_hdr",
+    hdrs = ["SkSLNop.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLSymbolTable_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLPoison_hdr",
+    hdrs = ["SkSLPoison.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLPostfixExpression_hdr",
+    hdrs = ["SkSLPostfixExpression.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//src/sksl:SkSLLexer_hdr",
+        "//src/sksl:SkSLOperators_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLPostfixExpression_src",
+    srcs = ["SkSLPostfixExpression.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLPostfixExpression_hdr",
+        ":SkSLVariableReference_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLPrefixExpression_hdr",
+    hdrs = ["SkSLPrefixExpression.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//src/sksl:SkSLLexer_hdr",
+        "//src/sksl:SkSLOperators_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLPrefixExpression_src",
+    srcs = ["SkSLPrefixExpression.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructorArray_hdr",
+        ":SkSLConstructorCompound_hdr",
+        ":SkSLConstructorDiagonalMatrix_hdr",
+        ":SkSLConstructorSplat_hdr",
+        ":SkSLConstructor_hdr",
+        ":SkSLLiteral_hdr",
+        ":SkSLPrefixExpression_hdr",
+        ":SkSLVariableReference_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLProgram_hdr",
+    hdrs = ["SkSLProgram.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        ":SkSLLiteral_hdr",
+        ":SkSLSymbolTable_hdr",
+        "//include/private:SkSLDefines_hdr",
+        "//include/private:SkSLModifiers_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+        "//include/private:SkTHash_hdr",
+        "//src/gpu/vk:GrVkCaps_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLReturnStatement_hdr",
+    hdrs = ["SkSLReturnStatement.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLSetting_hdr",
+    hdrs = ["SkSLSetting.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLSetting_src",
+    srcs = ["SkSLSetting.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLLiteral_hdr",
+        ":SkSLSetting_hdr",
+        ":SkSLVariableReference_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLStructDefinition_hdr",
+    hdrs = ["SkSLStructDefinition.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLSymbolTable_hdr",
+        ":SkSLType_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLSwitchCase_hdr",
+    hdrs = ["SkSLSwitchCase.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLSwitchStatement_hdr",
+    hdrs = ["SkSLSwitchStatement.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLSwitchCase_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLSwitchStatement_src",
+    srcs = ["SkSLSwitchStatement.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLBlock_hdr",
+        ":SkSLNop_hdr",
+        ":SkSLSwitchStatement_hdr",
+        ":SkSLSymbolTable_hdr",
+        ":SkSLType_hdr",
+        "//include/private:SkTHash_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLSwizzle_hdr",
+    hdrs = ["SkSLSwizzle.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructor_hdr",
+        ":SkSLExpression_hdr",
+        "//include/private:SkSLDefines_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLUtil_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLSwizzle_src",
+    srcs = ["SkSLSwizzle.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructorScalarCast_hdr",
+        ":SkSLConstructorSplat_hdr",
+        ":SkSLConstructor_hdr",
+        ":SkSLLiteral_hdr",
+        ":SkSLSwizzle_hdr",
+        "//include/private:SkTOptional_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLSymbolAlias_hdr",
+    hdrs = ["SkSLSymbolAlias.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/private:SkSLSymbol_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLSymbolTable_hdr",
+    hdrs = ["SkSLSymbolTable.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkSLString_hdr",
+        "//include/private:SkSLSymbol_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTHash_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLSymbolTable_src",
+    srcs = ["SkSLSymbolTable.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLSymbolAlias_hdr",
+        ":SkSLSymbolTable_hdr",
+        ":SkSLType_hdr",
+        ":SkSLUnresolvedFunction_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLTernaryExpression_hdr",
+    hdrs = ["SkSLTernaryExpression.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkSLExpression_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLTernaryExpression_src",
+    srcs = ["SkSLTernaryExpression.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLLiteral_hdr",
+        ":SkSLTernaryExpression_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLOperators_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLTypeReference_hdr",
+    hdrs = ["SkSLTypeReference.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        "//src/sksl:SkSLContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLTypeReference_src",
+    srcs = ["SkSLTypeReference.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLTypeReference_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLType_hdr",
+    hdrs = ["SkSLType.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkStringView_hdr",
+        "//include/private:SkSLModifiers_hdr",
+        "//include/private:SkSLSymbol_hdr",
+        "//src/sksl:SkSLUtil_hdr",
+        "//src/sksl:spirv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLType_src",
+    srcs = ["SkSLType.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructorArrayCast_hdr",
+        ":SkSLConstructorCompoundCast_hdr",
+        ":SkSLConstructorScalarCast_hdr",
+        ":SkSLConstructor_hdr",
+        ":SkSLProgram_hdr",
+        ":SkSLSymbolTable_hdr",
+        ":SkSLType_hdr",
+        "//src/sksl:SkSLConstantFolder_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLUnresolvedFunction_hdr",
+    hdrs = ["SkSLUnresolvedFunction.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkSLFunctionDeclaration_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLVarDeclarations_hdr",
+    hdrs = ["SkSLVarDeclarations.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        ":SkSLVariable_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+        "//include/private:SkSLStatement_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLVarDeclarations_src",
+    srcs = ["SkSLVarDeclarations.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLVarDeclarations_hdr",
+        "//include/sksl:SkSLErrorReporter_hdr",
+        "//src/sksl:SkSLAnalysis_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLVariableReference_hdr",
+    hdrs = ["SkSLVariableReference.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkSLExpression_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLVariableReference_src",
+    srcs = ["SkSLVariableReference.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLConstructor_hdr",
+        ":SkSLLiteral_hdr",
+        ":SkSLSetting_hdr",
+        ":SkSLVariableReference_hdr",
+        ":SkSLVariable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLVariable_hdr",
+    hdrs = ["SkSLVariable.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLExpression_hdr",
+        ":SkSLType_hdr",
+        ":SkSLVariableReference_hdr",
+        "//include/private:SkSLModifiers_hdr",
+        "//include/private:SkSLSymbol_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLVariable_src",
+    srcs = ["SkSLVariable.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLSymbolTable_hdr",
+        ":SkSLVarDeclarations_hdr",
+        ":SkSLVariable_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLMangler_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+    ],
+)
diff --git a/src/sksl/lex/BUILD.bazel b/src/sksl/lex/BUILD.bazel
new file mode 100644
index 0000000..ac7960e
--- /dev/null
+++ b/src/sksl/lex/BUILD.bazel
@@ -0,0 +1,116 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "DFAState_hdr",
+    hdrs = ["DFAState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":LexUtil_hdr"],
+)
+
+generated_cc_atom(
+    name = "DFA_hdr",
+    hdrs = ["DFA.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "LexUtil_hdr",
+    hdrs = ["LexUtil.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "Main_src",
+    srcs = ["Main.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":NFAtoDFA_hdr",
+        ":RegexParser_hdr",
+        ":TransitionTable_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "NFAState_hdr",
+    hdrs = ["NFAState.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":LexUtil_hdr"],
+)
+
+generated_cc_atom(
+    name = "NFA_hdr",
+    hdrs = ["NFA.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":NFAState_hdr",
+        ":RegexNode_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "NFA_src",
+    srcs = ["NFA.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":NFA_hdr"],
+)
+
+generated_cc_atom(
+    name = "NFAtoDFA_hdr",
+    hdrs = ["NFAtoDFA.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DFAState_hdr",
+        ":DFA_hdr",
+        ":NFAState_hdr",
+        ":NFA_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "RegexNode_hdr",
+    hdrs = ["RegexNode.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "RegexNode_src",
+    srcs = ["RegexNode.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":NFA_hdr",
+        ":RegexNode_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "RegexParser_hdr",
+    hdrs = ["RegexParser.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":RegexNode_hdr"],
+)
+
+generated_cc_atom(
+    name = "RegexParser_src",
+    srcs = ["RegexParser.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":LexUtil_hdr",
+        ":RegexParser_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "TransitionTable_hdr",
+    hdrs = ["TransitionTable.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "TransitionTable_src",
+    srcs = ["TransitionTable.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":DFA_hdr",
+        ":TransitionTable_hdr",
+    ],
+)
diff --git a/src/sksl/transform/BUILD.bazel b/src/sksl/transform/BUILD.bazel
new file mode 100644
index 0000000..dfab75c
--- /dev/null
+++ b/src/sksl/transform/BUILD.bazel
@@ -0,0 +1,89 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkSLBuiltinVariableScanner_src",
+    srcs = ["SkSLBuiltinVariableScanner.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLTransform_hdr",
+        "//include/private:SkSLProgramKind_hdr",
+        "//src/sksl:SkSLCompiler_hdr",
+        "//src/sksl:SkSLContext_hdr",
+        "//src/sksl:SkSLIntrinsicMap_hdr",
+        "//src/sksl:SkSLThreadContext_hdr",
+        "//src/sksl/analysis:SkSLProgramVisitor_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLInterfaceBlock_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLEliminateDeadFunctions_src",
+    srcs = ["SkSLEliminateDeadFunctions.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLTransform_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLEliminateDeadGlobalVariables_src",
+    srcs = ["SkSLEliminateDeadGlobalVariables.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLTransform_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+        "//src/sksl:SkSLProgramSettings_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLEliminateDeadLocalVariables_src",
+    srcs = ["SkSLEliminateDeadLocalVariables.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLProgramWriter_hdr",
+        ":SkSLTransform_hdr",
+        "//include/private:SkSLProgramElement_hdr",
+        "//src/sksl/ir:SkSLExpressionStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLNop_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+        "//src/sksl/ir:SkSLVarDeclarations_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLEliminateUnreachableCode_src",
+    srcs = ["SkSLEliminateUnreachableCode.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSLProgramWriter_hdr",
+        ":SkSLTransform_hdr",
+        "//include/private:SkSLStatement_hdr",
+        "//src/sksl/ir:SkSLFunctionDefinition_hdr",
+        "//src/sksl/ir:SkSLIfStatement_hdr",
+        "//src/sksl/ir:SkSLNop_hdr",
+        "//src/sksl/ir:SkSLProgram_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSLProgramWriter_hdr",
+    hdrs = ["SkSLProgramWriter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/sksl/analysis:SkSLProgramVisitor_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkSLTransform_hdr",
+    hdrs = ["SkSLTransform.h"],
+    visibility = ["//:__subpackages__"],
+)
diff --git a/src/svg/BUILD.bazel b/src/svg/BUILD.bazel
new file mode 100644
index 0000000..33d0cf3
--- /dev/null
+++ b/src/svg/BUILD.bazel
@@ -0,0 +1,59 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkSVGCanvas_src",
+    srcs = ["SkSVGCanvas.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSVGDevice_hdr",
+        "//include/svg:SkSVGCanvas_hdr",
+        "//src/xml:SkXMLWriter_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSVGDevice_hdr",
+    hdrs = ["SkSVGDevice.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/utils:SkParsePath_hdr",
+        "//src/core:SkClipStackDevice_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkSVGDevice_src",
+    srcs = ["SkSVGDevice.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkSVGDevice_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkBlendMode_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkImageEncoder_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPathBuilder_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/private:SkChecksum_hdr",
+        "//include/private:SkTHash_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTo_hdr",
+        "//include/svg:SkSVGCanvas_hdr",
+        "//include/utils:SkBase64_hdr",
+        "//src/codec:SkJpegCodec_hdr",
+        "//src/core:SkAnnotationKeys_hdr",
+        "//src/core:SkClipStack_hdr",
+        "//src/core:SkDraw_hdr",
+        "//src/core:SkFontPriv_hdr",
+        "//src/core:SkUtils_hdr",
+        "//src/image:SkImage_Base_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+        "//src/xml:SkXMLWriter_hdr",
+    ],
+)
diff --git a/src/utils/BUILD.bazel b/src/utils/BUILD.bazel
index 3b20c13..d7227f7 100644
--- a/src/utils/BUILD.bazel
+++ b/src/utils/BUILD.bazel
@@ -1,72 +1,558 @@
-package(default_visibility = ["//visibility:private"])
+load("//bazel:macros.bzl", "generated_cc_atom")
 
-filegroup(
-    name = "core-srcs",
-    srcs = [
-        "SkAnimCodecPlayer.cpp",
-        "SkBase64.cpp",
-        "SkBitSet.h",
-        "SkCallableTraits.h",
-        "SkCamera.cpp",
-        "SkCanvasStack.cpp",
-        "SkCanvasStack.h",
-        "SkCanvasStateUtils.cpp",
-        "SkCharToGlyphCache.cpp",
-        "SkCharToGlyphCache.h",
-        "SkClipStackUtils.cpp",
-        "SkClipStackUtils.h",
-        "SkCustomTypeface.cpp",
-        "SkDashPath.cpp",
-        "SkDashPathPriv.h",
-        "SkEventTracer.cpp",
-        "SkFloatToDecimal.cpp",
-        "SkFloatToDecimal.h",
-        "SkFloatUtils.h",
-        "SkMatrix22.cpp",
-        "SkMatrix22.h",
-        "SkMultiPictureDocument.cpp",
-        "SkMultiPictureDocument.h",
-        "SkMultiPictureDocumentPriv.h",
-        "SkNWayCanvas.cpp",
-        "SkNullCanvas.cpp",
-        "SkOSPath.cpp",
-        "SkOSPath.h",
-        "SkOrderedFontMgr.cpp",
-        "SkPaintFilterCanvas.cpp",
-        "SkParse.cpp",
-        "SkParseColor.cpp",
-        "SkParsePath.cpp",
-        "SkPatchUtils.cpp",
-        "SkPatchUtils.h",
-        "SkPolyUtils.cpp",
-        "SkPolyUtils.h",
-        "SkShadowTessellator.cpp",
-        "SkShadowTessellator.h",
-        "SkShadowUtils.cpp",
-        "SkTextUtils.cpp",
-        "SkUTF.cpp",
-        "SkUTF.h",
-    ],
-)
-
-filegroup(
-    name = "json-srcs",
-    srcs = [
-        "SkJSON.cpp",
-        "SkJSON.h",
-        "SkJSONWriter.cpp",
-        "SkJSONWriter.h",
-        "SkShaperJSONWriter.cpp",
-        "SkShaperJSONWriter.h",
-    ],
-)
-
-# TODO(kjlubick) add selects here to allow opting in or out of things like JSON
-
-filegroup(
-    name = "srcs",
-    srcs = [
-        ":core-srcs",
-    ],
+generated_cc_atom(
+    name = "SkAnimCodecPlayer_src",
+    srcs = ["SkAnimCodecPlayer.cpp"],
     visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/codec:SkCodec_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/utils:SkAnimCodecPlayer_hdr",
+        "//src/codec:SkCodecImageGenerator_hdr",
+        "//src/core:SkPixmapPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkBase64_src",
+    srcs = ["SkBase64.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/utils:SkBase64_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkBitSet_hdr",
+    hdrs = ["SkBitSet.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkMalloc_hdr",
+        "//include/private:SkTOptional_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkMathPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCallableTraits_hdr",
+    hdrs = ["SkCallableTraits.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkCamera_src",
+    srcs = ["SkCamera.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/utils:SkCamera_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCanvasStack_hdr",
+    hdrs = ["SkCanvasStack.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRegion_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/utils:SkNWayCanvas_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCanvasStack_src",
+    srcs = ["SkCanvasStack.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCanvasStack_hdr",
+        "//include/core:SkShader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCanvasStateUtils_src",
+    srcs = ["SkCanvasStateUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCanvasStack_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/utils:SkCanvasStateUtils_hdr",
+        "//src/core:SkDevice_hdr",
+        "//src/core:SkRasterClip_hdr",
+        "//src/core:SkWriter32_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCharToGlyphCache_hdr",
+    hdrs = ["SkCharToGlyphCache.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCharToGlyphCache_src",
+    srcs = ["SkCharToGlyphCache.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCharToGlyphCache_hdr",
+        "//include/private:SkTFitsIn_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkClipStackUtils_hdr",
+    hdrs = ["SkClipStackUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkClipStackUtils_src",
+    srcs = ["SkClipStackUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/pathops:SkPathOps_hdr",
+        "//src/core:SkClipStack_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCustomTypeface_src",
+    srcs = ["SkCustomTypeface.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkFontMetrics_hdr",
+        "//include/private:SkFloatingPoint_hdr",
+        "//include/utils:SkCustomTypeface_hdr",
+        "//src/core:SkAdvancedTypefaceMetrics_hdr",
+        "//src/core:SkAutoMalloc_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/core:SkScalerContext_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDashPathPriv_hdr",
+    hdrs = ["SkDashPathPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPathEffect_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkDashPath_src",
+    srcs = ["SkDashPath.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDashPathPriv_hdr",
+        "//include/core:SkPathMeasure_hdr",
+        "//include/core:SkStrokeRec_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/core:SkPointPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkEventTracer_src",
+    srcs = ["SkEventTracer.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/private:SkOnce_hdr",
+        "//include/utils:SkEventTracer_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFloatToDecimal_hdr",
+    hdrs = ["SkFloatToDecimal.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkFloatToDecimal_src",
+    srcs = ["SkFloatToDecimal.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkFloatToDecimal_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkFloatUtils_hdr",
+    hdrs = ["SkFloatUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkJSONWriter_hdr",
+    hdrs = ["SkJSONWriter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkStream_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkTArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkJSONWriter_src",
+    srcs = ["SkJSONWriter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkJSONWriter_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkJSON_hdr",
+    hdrs = ["SkJSON.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkJSON_src",
+    srcs = ["SkJSON.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkJSON_hdr",
+        ":SkUTF_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkMalloc_hdr",
+        "//include/utils:SkParse_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMatrix22_hdr",
+    hdrs = ["SkMatrix22.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkPoint_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkMatrix22_src",
+    srcs = ["SkMatrix22.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMatrix22_hdr",
+        "//include/core:SkMatrix_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkScalar_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMultiPictureDocumentPriv_hdr",
+    hdrs = ["SkMultiPictureDocumentPriv.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkMultiPictureDocument_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkMultiPictureDocument_hdr",
+    hdrs = ["SkMultiPictureDocument.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkDocument_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkSize_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkMultiPictureDocument_src",
+    srcs = ["SkMultiPictureDocument.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkMultiPictureDocumentPriv_hdr",
+        ":SkMultiPictureDocument_hdr",
+        "//include/core:SkPictureRecorder_hdr",
+        "//include/core:SkPicture_hdr",
+        "//include/core:SkSerialProcs_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTo_hdr",
+        "//include/utils:SkNWayCanvas_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkNWayCanvas_src",
+    srcs = ["SkNWayCanvas.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkShader_hdr",
+        "//include/utils:SkNWayCanvas_hdr",
+        "//src/core:SkCanvasPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkNullCanvas_src",
+    srcs = ["SkNullCanvas.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/utils:SkNWayCanvas_hdr",
+        "//include/utils:SkNullCanvas_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkOSPath_hdr",
+    hdrs = ["SkOSPath.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkString_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkOSPath_src",
+    srcs = ["SkOSPath.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [":SkOSPath_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkOrderedFontMgr_src",
+    srcs = ["SkOrderedFontMgr.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/utils:SkOrderedFontMgr_hdr",
+        "//src/core:SkFontDescriptor_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPaintFilterCanvas_src",
+    srcs = ["SkPaintFilterCanvas.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPixmap_hdr",
+        "//include/core:SkSurface_hdr",
+        "//include/utils:SkPaintFilterCanvas_hdr",
+        "//src/core:SkCanvasPriv_hdr",
+        "//src/core:SkTLazy_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkParseColor_src",
+    srcs = ["SkParseColor.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/utils:SkParse_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkParsePath_src",
+    srcs = ["SkParsePath.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/utils:SkParsePath_hdr",
+        "//include/utils:SkParse_hdr",
+        "//src/core:SkGeometry_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkParse_src",
+    srcs = ["SkParse.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/utils:SkParse_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkPatchUtils_hdr",
+    hdrs = ["SkPatchUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkMatrix_hdr",
+        "//include/private:SkColorData_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPatchUtils_src",
+    srcs = ["SkPatchUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPatchUtils_hdr",
+        "//include/core:SkVertices_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+        "//src/core:SkColorSpacePriv_hdr",
+        "//src/core:SkConvertPixels_hdr",
+        "//src/core:SkGeometry_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPolyUtils_hdr",
+    hdrs = ["SkPolyUtils.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPoint_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkPolyUtils_src",
+    srcs = ["SkPolyUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPolyUtils_hdr",
+        "//include/private:SkNx_hdr",
+        "//include/private:SkTArray_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkPointPriv_hdr",
+        "//src/core:SkTDPQueue_hdr",
+        "//src/core:SkTInternalLList_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShadowTessellator_hdr",
+    hdrs = ["SkShadowTessellator.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkColor_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkRefCnt_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShadowTessellator_src",
+    srcs = ["SkShadowTessellator.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkPolyUtils_hdr",
+        ":SkShadowTessellator_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPoint3_hdr",
+        "//include/core:SkVertices_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkTPin_hdr",
+        "//src/core:SkDrawShadowInfo_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/core:SkPointPriv_hdr",
+        "//src/gpu/geometry:GrPathUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShadowUtils_src",
+    srcs = ["SkShadowUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkShadowTessellator_hdr",
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkColorFilter_hdr",
+        "//include/core:SkMaskFilter_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkVertices_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkIDChangeListener_hdr",
+        "//include/private:SkTPin_hdr",
+        "//include/utils:SkRandom_hdr",
+        "//include/utils:SkShadowUtils_hdr",
+        "//src/core:SkBlurMask_hdr",
+        "//src/core:SkColorFilterBase_hdr",
+        "//src/core:SkColorFilterPriv_hdr",
+        "//src/core:SkDevice_hdr",
+        "//src/core:SkDrawShadowInfo_hdr",
+        "//src/core:SkEffectPriv_hdr",
+        "//src/core:SkPathPriv_hdr",
+        "//src/core:SkRasterPipeline_hdr",
+        "//src/core:SkResourceCache_hdr",
+        "//src/core:SkRuntimeEffectPriv_hdr",
+        "//src/core:SkTLazy_hdr",
+        "//src/core:SkVM_hdr",
+        "//src/core:SkVerticesPriv_hdr",
+        "//src/gpu/effects:GrSkSLFP_hdr",
+        "//src/gpu/geometry:GrStyledShape_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShaperJSONWriter_hdr",
+    hdrs = ["SkShaperJSONWriter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkSpan_hdr",
+        "//modules/skshaper/include:SkShaper_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkShaperJSONWriter_src",
+    srcs = ["SkShaperJSONWriter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkJSONWriter_hdr",
+        ":SkShaperJSONWriter_hdr",
+        ":SkUTF_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkTextUtils_src",
+    srcs = ["SkTextUtils.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkPath_hdr",
+        "//include/core:SkTextBlob_hdr",
+        "//include/utils:SkTextUtils_hdr",
+        "//src/core:SkFontPriv_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkThreadUtils_pthread_src",
+    srcs = ["SkThreadUtils_pthread.cpp"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkThreadUtils_win_src",
+    srcs = ["SkThreadUtils_win.cpp"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkUTF_hdr",
+    hdrs = ["SkUTF.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkUTF_src",
+    srcs = ["SkUTF.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkUTF_hdr",
+        "//include/private:SkTFitsIn_hdr",
+    ],
 )
diff --git a/src/utils/mac/BUILD.bazel b/src/utils/mac/BUILD.bazel
new file mode 100644
index 0000000..d1a6d24
--- /dev/null
+++ b/src/utils/mac/BUILD.bazel
@@ -0,0 +1,63 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkCGBase_hdr",
+    hdrs = ["SkCGBase.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkCGGeometry_hdr",
+    hdrs = ["SkCGGeometry.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkCTFont_hdr",
+    hdrs = ["SkCTFont.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkTypes_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkCTFont_src",
+    srcs = ["SkCTFont.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkCTFont_hdr",
+        ":SkUniqueCFRef_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkRefCnt_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkOnce_hdr",
+        "//src/sfnt:SkOTTable_OS_2_hdr",
+        "//src/sfnt:SkSFNTHeader_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkCreateCGImageRef_src",
+    srcs = ["SkCreateCGImageRef.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkUniqueCFRef_hdr",
+        "//include/core:SkBitmap_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkColorData_hdr",
+        "//include/private:SkMacros_hdr",
+        "//include/private:SkTo_hdr",
+        "//include/utils/mac:SkCGUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkUniqueCFRef_hdr",
+    hdrs = ["SkUniqueCFRef.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
diff --git a/src/utils/win/BUILD.bazel b/src/utils/win/BUILD.bazel
new file mode 100644
index 0000000..03cdae2
--- /dev/null
+++ b/src/utils/win/BUILD.bazel
@@ -0,0 +1,184 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkAutoCoInitialize_hdr",
+    hdrs = ["SkAutoCoInitialize.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//src/core:SkLeanWindows_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkAutoCoInitialize_src",
+    srcs = ["SkAutoCoInitialize.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkAutoCoInitialize_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDWriteFontFileStream_hdr",
+    hdrs = ["SkDWriteFontFileStream.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkObjBase_hdr",
+        ":SkTScopedComPtr_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkMutex_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDWriteFontFileStream_src",
+    srcs = ["SkDWriteFontFileStream.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDWriteFontFileStream_hdr",
+        ":SkHRESULT_hdr",
+        ":SkTScopedComPtr_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTFitsIn_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDWriteGeometrySink_hdr",
+    hdrs = ["SkDWriteGeometrySink.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkObjBase_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDWriteGeometrySink_src",
+    srcs = ["SkDWriteGeometrySink.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDWriteGeometrySink_hdr",
+        ":SkObjBase_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkTypes_hdr",
+        "//src/utils:SkFloatUtils_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDWriteNTDDI_VERSION_hdr",
+    hdrs = ["SkDWriteNTDDI_VERSION.h"],
+    visibility = ["//:__subpackages__"],
+)
+
+generated_cc_atom(
+    name = "SkDWrite_hdr",
+    hdrs = ["SkDWrite.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkFontStyle_hdr",
+        "//include/private:SkTemplates_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDWrite_src",
+    srcs = ["SkDWrite.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDWrite_hdr",
+        ":SkHRESULT_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkOnce_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkHRESULT_hdr",
+    hdrs = ["SkHRESULT.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkTypes_hdr",
+        "//src/core:SkLeanWindows_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkHRESULT_src",
+    srcs = ["SkHRESULT.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkHRESULT_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkIStream_hdr",
+    hdrs = ["SkIStream.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkObjBase_hdr",
+        "//include/core:SkTypes_hdr",
+        "//src/core:SkLeanWindows_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkIStream_src",
+    srcs = ["SkIStream.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkIStream_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkObjBase_hdr",
+    hdrs = ["SkObjBase.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//src/core:SkLeanWindows_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkTScopedComPtr_hdr",
+    hdrs = ["SkTScopedComPtr.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkObjBase_hdr",
+        "//src/core:SkLeanWindows_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkWGL_hdr",
+    hdrs = ["SkWGL.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkRefCnt_hdr",
+        "//src/core:SkLeanWindows_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkWGL_win_src",
+    srcs = ["SkWGL_win.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkWGL_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkOnce_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//src/core:SkTSearch_hdr",
+        "//src/core:SkTSort_hdr",
+    ],
+)
diff --git a/src/xml/BUILD.bazel b/src/xml/BUILD.bazel
new file mode 100644
index 0000000..b91f96d
--- /dev/null
+++ b/src/xml/BUILD.bazel
@@ -0,0 +1,73 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkDOM_hdr",
+    hdrs = ["SkDOM.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkScalar_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkNoncopyable_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//src/core:SkArenaAlloc_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkDOM_src",
+    srcs = ["SkDOM.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDOM_hdr",
+        ":SkXMLParser_hdr",
+        ":SkXMLWriter_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//include/private:SkTo_hdr",
+        "//include/utils:SkParse_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkXMLParser_hdr",
+    hdrs = ["SkXMLParser.h"],
+    visibility = ["//:__subpackages__"],
+    deps = ["//include/core:SkString_hdr"],
+)
+
+generated_cc_atom(
+    name = "SkXMLParser_src",
+    srcs = ["SkXMLParser.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkXMLParser_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkString_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTemplates_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkXMLWriter_hdr",
+    hdrs = ["SkXMLWriter.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkDOM_hdr",
+        "//include/core:SkString_hdr",
+        "//include/private:SkTDArray_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkXMLWriter_src",
+    srcs = ["SkXMLWriter.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkXMLParser_hdr",
+        ":SkXMLWriter_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/private:SkTo_hdr",
+    ],
+)
diff --git a/src/xps/BUILD.bazel b/src/xps/BUILD.bazel
new file mode 100644
index 0000000..f026959
--- /dev/null
+++ b/src/xps/BUILD.bazel
@@ -0,0 +1,80 @@
+load("//bazel:macros.bzl", "generated_cc_atom")
+
+generated_cc_atom(
+    name = "SkXPSDevice_hdr",
+    hdrs = ["SkXPSDevice.h"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        "//include/core:SkCanvas_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPath_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkSize_hdr",
+        "//include/core:SkTypeface_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/private:SkTArray_hdr",
+        "//src/core:SkBitmapDevice_hdr",
+        "//src/core:SkClipStackDevice_hdr",
+        "//src/utils:SkBitSet_hdr",
+        "//src/utils/win:SkAutoCoInitialize_hdr",
+        "//src/utils/win:SkTScopedComPtr_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkXPSDevice_src",
+    srcs = ["SkXPSDevice.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkXPSDevice_hdr",
+        "//include/core:SkColor_hdr",
+        "//include/core:SkData_hdr",
+        "//include/core:SkImageEncoder_hdr",
+        "//include/core:SkImage_hdr",
+        "//include/core:SkPaint_hdr",
+        "//include/core:SkPathEffect_hdr",
+        "//include/core:SkPoint_hdr",
+        "//include/core:SkShader_hdr",
+        "//include/core:SkSize_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/core:SkVertices_hdr",
+        "//include/pathops:SkPathOps_hdr",
+        "//include/private:SkTDArray_hdr",
+        "//include/private:SkTo_hdr",
+        "//src/core:SkDraw_hdr",
+        "//src/core:SkEndian_hdr",
+        "//src/core:SkGeometry_hdr",
+        "//src/core:SkImagePriv_hdr",
+        "//src/core:SkLeanWindows_hdr",
+        "//src/core:SkMaskFilterBase_hdr",
+        "//src/core:SkRasterClip_hdr",
+        "//src/core:SkStrikeCache_hdr",
+        "//src/core:SkTLazy_hdr",
+        "//src/core:SkUtils_hdr",
+        "//src/image:SkImage_Base_hdr",
+        "//src/sfnt:SkSFNTHeader_hdr",
+        "//src/sfnt:SkTTCFHeader_hdr",
+        "//src/shaders:SkShaderBase_hdr",
+        "//src/utils:SkClipStackUtils_hdr",
+        "//src/utils/win:SkHRESULT_hdr",
+        "//src/utils/win:SkIStream_hdr",
+        "//src/utils/win:SkTScopedComPtr_hdr",
+    ],
+)
+
+generated_cc_atom(
+    name = "SkXPSDocument_src",
+    srcs = ["SkXPSDocument.cpp"],
+    visibility = ["//:__subpackages__"],
+    deps = [
+        ":SkXPSDevice_hdr",
+        "//include/core:SkStream_hdr",
+        "//include/core:SkTypes_hdr",
+        "//include/docs:SkXPSDocument_hdr",
+        "//src/utils/win:SkHRESULT_hdr",
+        "//src/utils/win:SkTScopedComPtr_hdr",
+    ],
+)
diff --git a/third_party/file_map_for_bazel.json b/third_party/file_map_for_bazel.json
new file mode 100644
index 0000000..275c50a
--- /dev/null
+++ b/third_party/file_map_for_bazel.json
@@ -0,0 +1,81 @@
+{
+  "D3D12MemAlloc.h": "SK_GAZELLE_IGNORE TODO //third_party:d3d12allocator",
+
+  "dawn/webgpu_cpp.h": "SK_GAZELLE_IGNORE TODO //third_party:dawn",
+
+  "dng_area_task.h": "//third_party:dng_sdk",
+  "dng_color_space.h": "//third_party:dng_sdk",
+  "dng_errors.h": "//third_party:dng_sdk",
+  "dng_exceptions.h": "//third_party:dng_sdk",
+  "dng_host.h": "//third_party:dng_sdk",
+  "dng_info.h": "//third_party:dng_sdk",
+  "dng_memory.h": "//third_party:dng_sdk",
+  "dng_render.h": "//third_party:dng_sdk",
+  "dng_stream.h": "//third_party:dng_sdk",
+
+  "ft2build.h": "//third_party:freetype2",
+  "freetype/ftadvanc.h": "//third_party:freetype2",
+  "freetype/ftimage.h": "//third_party:freetype2",
+  "freetype/ftbitmap.h": "//third_party:freetype2",
+  "freetype/ftcolor.h": "//third_party:freetype2",
+  "freetype/freetype.h": "//third_party:freetype2",
+  "freetype/ftlcdfil.h": "//third_party:freetype2",
+  "freetype/ftmodapi.h": "//third_party:freetype2",
+  "freetype/ftmm.h": "//third_party:freetype2",
+  "freetype/ftoutln.h": "//third_party:freetype2",
+  "freetype/ftsizes.h": "//third_party:freetype2",
+  "freetype/ftsystem.h": "//third_party:freetype2",
+  "freetype/tttables.h": "//third_party:freetype2",
+  "freetype/t1tables.h": "//third_party:freetype2",
+  "freetype/ftfntfmt.h": "//third_party:freetype2",
+
+  "hb-subset.h": "SK_GAZELLE_IGNORE TODO //third_party:harfbuzz",
+  "hb.h": "SK_GAZELLE_IGNORE TODO //third_party:harfbuzz",
+
+  "png.h": "//third_party:libpng",
+
+  "jerror.h": "//third_party:libjpeg-turbo",
+  "jpeglib.h": "//third_party:libjpeg-turbo",
+
+  "webp/decode.h": "//third_party:libwebp",
+  "webp/demux.h": "//third_party:libwebp",
+  "webp/encode.h": "//third_party:libwebp",
+  "webp/mux.h": "//third_party:libwebp",
+
+  "src/piex.h": "//third_party:piex",
+
+  "sample/chromium/font_subsetter.h": "SK_GAZELLE_IGNORE TODO //third_party:sfntly",
+
+  "third_party/externals/spirv-cross/spirv_hlsl.hpp": "SK_GAZELLE_IGNORE TODO //third_party:spirv_cross",
+  "spirv-tools/libspirv.hpp": "SK_GAZELLE_IGNORE TODO //third_party:spirv_tools",
+
+  "vk_platform.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_android.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_beta.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_core.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_directfb.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_fuchsia.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_ggp.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_ios.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_macos.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_metal.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_screen.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_vi.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_wayland.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_win32.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_xcb.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_xlib.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+  "vulkan_xlib_xrandr.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkan",
+
+  "GrVulkanMemoryAllocator.h": "SK_GAZELLE_IGNORE TODO //third_party:vulkanmemoryallocator",
+
+  "wuffs-v0.3.c": "//third_party:wuffs",
+
+  "zlib.h": "//third_party:zlib",
+
+  "HeifDecoderAPI.h": "SK_GAZELLE_IGNORE Android-only build",
+  "SkGifCodec.h": "SK_GAZELLE_IGNORE Deprecated gif library",
+  "mozilla/mozalloc.h": "SK_GAZELLE_IGNORE",
+  "mozilla/mozalloc_abort.h": "SK_GAZELLE_IGNORE",
+  "mozilla/mozalloc_oom.h": "SK_GAZELLE_IGNORE"
+}
\ No newline at end of file