skia2/tests/graphite/BUILD.bazel
Kevin Lubick 08ece0c9a0 [includes] Enforce IWYU on sksl code
PS1 regenerates the Bazel files. Use it as the base change when
    comparing patchsets.

IWYU seems to do a good job of working with MyFile.cpp and
MyFile.h, but if there is just a MyHeader.h, it doesn't always
seem to throw errors if the includes aren't correct. This was
observed with include/sksl/DSL.h This might be due to the fact
that headers are not compiled on their own, so they are never
sent directly to the IWYU binary.

This change sets enforce_iwyu_on_package() on the all sksl
packages and then fixes the includes until all those checks
are happy. There were a few files that needed fixes outside
of the sksl folder. Examples include:
 - src/gpu/effects/GrConvexPolyEffect.cpp
 - tests/SkSLDSLTest.cpp

To really enforce this, we need to add a CI/CQ job that runs
bazel build //example:hello_world_gl --config=clang \
  --sandbox_base=/dev/shm --features skia_enforce_iwyu

If that failed, a dev could make the changes described in
the logs and/or run the command locally to see those
prescribed fixes.

I had to add several entries to toolchain/IWYU_mapping.imp
in order to fix some private includes and other atypical
choices. I tried adding a rule there to allow inclusion of
SkTypes.h to make sure defines like SK_SUPPORT_GPU, but
could not get it to work for all cases, so I deferred to
using the IWYU pragma: keep (e.g. SkSLPipelineStageCodeGenerator.h)

Change-Id: I4c3e536d8e69ff7ff2d26fe61a525a6c2e80db06
Bug: skia:13052
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/522256
Reviewed-by: John Stiles <johnstiles@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
2022-03-21 12:43:02 +00:00

168 lines
5.4 KiB
Python

load("//bazel:macros.bzl", "generated_cc_atom")
generated_cc_atom(
name = "BackendTextureTest_src",
srcs = ["BackendTextureTest.cpp"],
visibility = ["//:__subpackages__"],
deps = [
"//experimental/graphite/include:BackendTexture_hdr",
"//experimental/graphite/include:Context_hdr",
"//experimental/graphite/include:Recorder_hdr",
"//experimental/graphite/include:SkStuff_hdr",
"//experimental/graphite/src:Caps_hdr",
"//experimental/graphite/src:ContextPriv_hdr",
"//experimental/graphite/src:Gpu_hdr",
"//experimental/graphite/src:ResourceTypes_hdr",
"//include/core:SkSurface_hdr",
"//tests:Test_hdr",
],
)
generated_cc_atom(
name = "CommandBufferTest_src",
srcs = ["CommandBufferTest.cpp"],
visibility = ["//:__subpackages__"],
deps = [
"//experimental/graphite/include:Context_hdr",
"//experimental/graphite/include:Recorder_hdr",
"//experimental/graphite/include/mtl:MtlTypes_hdr",
"//experimental/graphite/src:Buffer_hdr",
"//experimental/graphite/src:Caps_hdr",
"//experimental/graphite/src:CommandBuffer_hdr",
"//experimental/graphite/src:ContextPriv_hdr",
"//experimental/graphite/src:DrawBufferManager_hdr",
"//experimental/graphite/src:DrawWriter_hdr",
"//experimental/graphite/src:GlobalCache_hdr",
"//experimental/graphite/src:Gpu_hdr",
"//experimental/graphite/src:GraphicsPipeline_hdr",
"//experimental/graphite/src:RecorderPriv_hdr",
"//experimental/graphite/src:Renderer_hdr",
"//experimental/graphite/src:ResourceProvider_hdr",
"//experimental/graphite/src:Sampler_hdr",
"//experimental/graphite/src:TextureProxy_hdr",
"//experimental/graphite/src:Texture_hdr",
"//experimental/graphite/src:UniformManager_hdr",
"//experimental/graphite/src/geom:Shape_hdr",
"//experimental/graphite/src/geom:Transform_graphite_hdr",
"//src/core:SkKeyContext_hdr",
"//src/core:SkKeyHelpers_hdr",
"//src/core:SkShaderCodeDictionary_hdr",
"//src/core:SkUniformData_hdr",
"//tests:Test_hdr",
],
)
generated_cc_atom(
name = "IntersectionTreeTest_src",
srcs = ["IntersectionTreeTest.cpp"],
visibility = ["//:__subpackages__"],
deps = [
"//experimental/graphite/src/geom:IntersectionTree_hdr",
"//include/utils:SkRandom_hdr",
"//tests:Test_hdr",
],
)
generated_cc_atom(
name = "MaskTest_src",
srcs = ["MaskTest.cpp"],
visibility = ["//:__subpackages__"],
deps = [
"//experimental/graphite/src:EnumBitMask_hdr",
"//tests:Test_hdr",
],
)
generated_cc_atom(
name = "RecorderTest_src",
srcs = ["RecorderTest.cpp"],
visibility = ["//:__subpackages__"],
deps = [
"//experimental/graphite/include:Context_hdr",
"//experimental/graphite/include:Recorder_hdr",
"//experimental/graphite/src:Device_hdr",
"//tests:Test_hdr",
],
)
generated_cc_atom(
name = "RectTest_src",
srcs = ["RectTest.cpp"],
visibility = ["//:__subpackages__"],
deps = [
"//experimental/graphite/src/geom:Rect_hdr",
"//tests:Test_hdr",
],
)
generated_cc_atom(
name = "ShapeTest_src",
srcs = ["ShapeTest.cpp"],
visibility = ["//:__subpackages__"],
deps = [
"//experimental/graphite/src/geom:Shape_hdr",
"//tests:Test_hdr",
],
)
generated_cc_atom(
name = "TransformTest_src",
srcs = ["TransformTest.cpp"],
visibility = ["//:__subpackages__"],
deps = [
"//experimental/graphite/src/geom:Transform_graphite_hdr",
"//tests:Test_hdr",
],
)
generated_cc_atom(
name = "UniformTest_src",
srcs = ["UniformTest.cpp"],
visibility = ["//:__subpackages__"],
deps = [
"//experimental/graphite/include:Recorder_hdr",
"//experimental/graphite/src:ContextPriv_hdr",
"//experimental/graphite/src:ContextUtils_hdr",
"//experimental/graphite/src:GlobalCache_hdr",
"//experimental/graphite/src:PaintParams_hdr",
"//experimental/graphite/src:RecorderPriv_hdr",
"//experimental/graphite/src:ResourceProvider_hdr",
"//include/core:SkPaint_hdr",
"//include/effects:SkGradientShader_hdr",
"//include/private:SkUniquePaintParamsID_hdr",
"//src/core:SkKeyContext_hdr",
"//src/core:SkKeyHelpers_hdr",
"//src/core:SkPipelineData_hdr",
"//src/core:SkShaderCodeDictionary_hdr",
"//src/core:SkUniformData_hdr",
"//tests:Test_hdr",
],
)
generated_cc_atom(
name = "KeyTest_src",
srcs = ["KeyTest.cpp"],
visibility = ["//:__subpackages__"],
deps = [
"//experimental/graphite/src:ContextPriv_hdr",
"//src/core:SkPaintParamsKey_hdr",
"//src/core:SkShaderCodeDictionary_hdr",
"//tests:Test_hdr",
],
)
generated_cc_atom(
name = "PipelineDataCacheTest_src",
srcs = ["PipelineDataCacheTest.cpp"],
visibility = ["//:__subpackages__"],
deps = [
"//experimental/graphite/include:Context_hdr",
"//experimental/graphite/include:Recorder_hdr",
"//experimental/graphite/src:PipelineDataCache_hdr",
"//experimental/graphite/src:RecorderPriv_hdr",
"//src/core:SkPipelineData_hdr",
"//src/core:SkUniform_hdr",
"//tests:Test_hdr",
],
)