summaryrefslogtreecommitdiff
path: root/libs/gui/BLASTBufferQueue.cpp
diff options
context:
space:
mode:
author Nolan Scobie <nscobie@google.com> 2022-10-14 10:52:43 -0400
committer Nolan Scobie <nscobie@google.com> 2022-12-14 16:18:17 +0000
commit8ef7e1440aedc4047d64178c6e97ddbc9b975f83 (patch)
tree5637c6653f8b2bac49e7f1eefd976b5d3fe6f92c /libs/gui/BLASTBufferQueue.cpp
parentfc55603abca981af151a6cea915be6ca8a542545 (diff)
Rework how RenderEngine and SurfaceFlinger include Skia
This is in preparation for including Perfetto in Skia, see go/skia-perfetto-android (excerpt below) librenderengine includes Skia via whole_static_libs: ["libskia_renderengine"], which scoops everything out of libskia_renderengine and plops it into librenderengine, including any of Skia's dependencies. It seems that if another target (e.g. SurfaceFlinger) includes both Perfetto (on its own) and librenderengine (which would now transitively include Perfetto by way of Skia), there will be a conflict. Per b/169779783, a common workaround for this dependency conflict would be to switch from whole_static_libs to static_libs: ["libskia_renderengine"] in librenderengine (which won't include Skia's dependencies), and then separately include Skia's dependencies into librenderengine by using defaults: ["skia_renderengine_deps"]. This has the effect of not propagating them further. Then, downstream users of libskia_renderengine (e.g. SurfaceFlinger) that previously accessed Skia APIs directly from their inclusion of librenderengine (since librenderengine included Skia via whole_static_libs) would have to both pull in their own reference to Skia (via static_libs) and Skia's dependencies (via defaults). These two requirements have been simplified by the addition of cc_defaults: librenderengine_deps, which can be used to pull in both at the same time. Bug: 259248961 Test: presubmits (builds) Change-Id: I46750a0336a29d8d32ad2cb79a71c90461272fce
Diffstat (limited to 'libs/gui/BLASTBufferQueue.cpp')
0 files changed, 0 insertions, 0 deletions