Loading libs/renderengine/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ cc_defaults { "libshaders", "libtonemap", "libsurfaceflinger_common", "libsurfaceflingerflags", ], local_include_dirs: ["include"], export_include_dirs: ["include"], Loading libs/renderengine/RenderEngine.cpp +28 −3 Original line number Diff line number Diff line Loading @@ -22,24 +22,49 @@ #include "skia/SkiaGLRenderEngine.h" #include "threaded/RenderEngineThreaded.h" #include <com_android_graphics_surfaceflinger_flags.h> #include <cutils/properties.h> #include <log/log.h> // TODO: b/341728634 - Clean up conditional compilation. #if COM_ANDROID_GRAPHICS_SURFACEFLINGER_FLAGS(GRAPHITE_RENDERENGINE) || \ COM_ANDROID_GRAPHICS_SURFACEFLINGER_FLAGS(FORCE_COMPILE_GRAPHITE_RENDERENGINE) #define COMPILE_GRAPHITE_RENDERENGINE 1 #else #define COMPILE_GRAPHITE_RENDERENGINE 0 #endif namespace android { namespace renderengine { std::unique_ptr<RenderEngine> RenderEngine::create(const RenderEngineCreationArgs& args) { threaded::CreateInstanceFactory createInstanceFactory; // TODO: b/341728634 - Clean up conditional compilation. #if COMPILE_GRAPHITE_RENDERENGINE const RenderEngine::SkiaBackend actualSkiaBackend = args.skiaBackend; #else if (args.skiaBackend == RenderEngine::SkiaBackend::GRAPHITE) { ALOGE("RenderEngine with Graphite Skia backend was requested, but Graphite was not " "included in the build. Falling back to Ganesh (%s)", args.graphicsApi == RenderEngine::GraphicsApi::GL ? "GL" : "Vulkan"); } const RenderEngine::SkiaBackend actualSkiaBackend = RenderEngine::SkiaBackend::GANESH; #endif ALOGD("%sRenderEngine with %s Backend (%s)", args.threaded == Threaded::YES ? "Threaded " : "", args.graphicsApi == GraphicsApi::GL ? "SkiaGL" : "SkiaVK", args.skiaBackend == SkiaBackend::GANESH ? "Ganesh" : "Graphite"); actualSkiaBackend == SkiaBackend::GANESH ? "Ganesh" : "Graphite"); if (args.skiaBackend == SkiaBackend::GRAPHITE) { // TODO: b/341728634 - Clean up conditional compilation. #if COMPILE_GRAPHITE_RENDERENGINE if (actualSkiaBackend == SkiaBackend::GRAPHITE) { createInstanceFactory = [args]() { return android::renderengine::skia::GraphiteVkRenderEngine::create(args); }; } else { // GANESH } else #endif { // GANESH if (args.graphicsApi == GraphicsApi::VK) { createInstanceFactory = [args]() { return android::renderengine::skia::GaneshVkRenderEngine::create(args); Loading libs/renderengine/tests/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ cc_test { "libshaders", "libtonemap", "libsurfaceflinger_common", "libsurfaceflingerflags", ], header_libs: [ "libtonemap_headers", Loading libs/renderengine/tests/RenderEngineTest.cpp +19 −2 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #pragma clang diagnostic ignored "-Wconversion" #pragma clang diagnostic ignored "-Wextra" #include <com_android_graphics_surfaceflinger_flags.h> #include <cutils/properties.h> #include <gtest/gtest.h> #include <renderengine/ExternalTexture.h> Loading @@ -41,6 +42,14 @@ #include "../skia/SkiaVkRenderEngine.h" #include "../threaded/RenderEngineThreaded.h" // TODO: b/341728634 - Clean up conditional compilation. #if COM_ANDROID_GRAPHICS_SURFACEFLINGER_FLAGS(GRAPHITE_RENDERENGINE) || \ COM_ANDROID_GRAPHICS_SURFACEFLINGER_FLAGS(FORCE_COMPILE_GRAPHITE_RENDERENGINE) #define COMPILE_GRAPHITE_RENDERENGINE 1 #else #define COMPILE_GRAPHITE_RENDERENGINE 0 #endif constexpr int DEFAULT_DISPLAY_WIDTH = 128; constexpr int DEFAULT_DISPLAY_HEIGHT = 256; constexpr int DEFAULT_DISPLAY_OFFSET = 64; Loading Loading @@ -152,6 +161,8 @@ public: } }; // TODO: b/341728634 - Clean up conditional compilation. #if COMPILE_GRAPHITE_RENDERENGINE class GraphiteVkRenderEngineFactory : public RenderEngineFactory { public: std::string name() override { return "GraphiteVkRenderEngineFactory"; } Loading @@ -164,6 +175,7 @@ public: return renderengine::RenderEngine::SkiaBackend::GRAPHITE; } }; #endif class RenderEngineTest : public ::testing::TestWithParam<std::shared_ptr<RenderEngineFactory>> { public: Loading Loading @@ -1497,10 +1509,15 @@ void RenderEngineTest::tonemap(ui::Dataspace sourceDataspace, std::function<vec3 expectBufferColor(Rect(kGreyLevels, 1), generator, 2); } // TODO: b/341728634 - Clean up conditional compilation. INSTANTIATE_TEST_SUITE_P(PerRenderEngineType, RenderEngineTest, testing::Values(std::make_shared<SkiaGLESRenderEngineFactory>(), std::make_shared<GaneshVkRenderEngineFactory>(), std::make_shared<GraphiteVkRenderEngineFactory>())); std::make_shared<GaneshVkRenderEngineFactory>() #if COMPILE_GRAPHITE_RENDERENGINE , std::make_shared<GraphiteVkRenderEngineFactory>() #endif )); TEST_P(RenderEngineTest, drawLayers_noLayersToDraw) { if (!GetParam()->apiSupported()) { Loading services/surfaceflinger/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ cc_defaults { "libscheduler", "libserviceutils", "libshaders", "libsurfaceflingerflags", "libtimestats", "libtonemap", ], Loading Loading
libs/renderengine/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,7 @@ cc_defaults { "libshaders", "libtonemap", "libsurfaceflinger_common", "libsurfaceflingerflags", ], local_include_dirs: ["include"], export_include_dirs: ["include"], Loading
libs/renderengine/RenderEngine.cpp +28 −3 Original line number Diff line number Diff line Loading @@ -22,24 +22,49 @@ #include "skia/SkiaGLRenderEngine.h" #include "threaded/RenderEngineThreaded.h" #include <com_android_graphics_surfaceflinger_flags.h> #include <cutils/properties.h> #include <log/log.h> // TODO: b/341728634 - Clean up conditional compilation. #if COM_ANDROID_GRAPHICS_SURFACEFLINGER_FLAGS(GRAPHITE_RENDERENGINE) || \ COM_ANDROID_GRAPHICS_SURFACEFLINGER_FLAGS(FORCE_COMPILE_GRAPHITE_RENDERENGINE) #define COMPILE_GRAPHITE_RENDERENGINE 1 #else #define COMPILE_GRAPHITE_RENDERENGINE 0 #endif namespace android { namespace renderengine { std::unique_ptr<RenderEngine> RenderEngine::create(const RenderEngineCreationArgs& args) { threaded::CreateInstanceFactory createInstanceFactory; // TODO: b/341728634 - Clean up conditional compilation. #if COMPILE_GRAPHITE_RENDERENGINE const RenderEngine::SkiaBackend actualSkiaBackend = args.skiaBackend; #else if (args.skiaBackend == RenderEngine::SkiaBackend::GRAPHITE) { ALOGE("RenderEngine with Graphite Skia backend was requested, but Graphite was not " "included in the build. Falling back to Ganesh (%s)", args.graphicsApi == RenderEngine::GraphicsApi::GL ? "GL" : "Vulkan"); } const RenderEngine::SkiaBackend actualSkiaBackend = RenderEngine::SkiaBackend::GANESH; #endif ALOGD("%sRenderEngine with %s Backend (%s)", args.threaded == Threaded::YES ? "Threaded " : "", args.graphicsApi == GraphicsApi::GL ? "SkiaGL" : "SkiaVK", args.skiaBackend == SkiaBackend::GANESH ? "Ganesh" : "Graphite"); actualSkiaBackend == SkiaBackend::GANESH ? "Ganesh" : "Graphite"); if (args.skiaBackend == SkiaBackend::GRAPHITE) { // TODO: b/341728634 - Clean up conditional compilation. #if COMPILE_GRAPHITE_RENDERENGINE if (actualSkiaBackend == SkiaBackend::GRAPHITE) { createInstanceFactory = [args]() { return android::renderengine::skia::GraphiteVkRenderEngine::create(args); }; } else { // GANESH } else #endif { // GANESH if (args.graphicsApi == GraphicsApi::VK) { createInstanceFactory = [args]() { return android::renderengine::skia::GaneshVkRenderEngine::create(args); Loading
libs/renderengine/tests/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,7 @@ cc_test { "libshaders", "libtonemap", "libsurfaceflinger_common", "libsurfaceflingerflags", ], header_libs: [ "libtonemap_headers", Loading
libs/renderengine/tests/RenderEngineTest.cpp +19 −2 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ #pragma clang diagnostic ignored "-Wconversion" #pragma clang diagnostic ignored "-Wextra" #include <com_android_graphics_surfaceflinger_flags.h> #include <cutils/properties.h> #include <gtest/gtest.h> #include <renderengine/ExternalTexture.h> Loading @@ -41,6 +42,14 @@ #include "../skia/SkiaVkRenderEngine.h" #include "../threaded/RenderEngineThreaded.h" // TODO: b/341728634 - Clean up conditional compilation. #if COM_ANDROID_GRAPHICS_SURFACEFLINGER_FLAGS(GRAPHITE_RENDERENGINE) || \ COM_ANDROID_GRAPHICS_SURFACEFLINGER_FLAGS(FORCE_COMPILE_GRAPHITE_RENDERENGINE) #define COMPILE_GRAPHITE_RENDERENGINE 1 #else #define COMPILE_GRAPHITE_RENDERENGINE 0 #endif constexpr int DEFAULT_DISPLAY_WIDTH = 128; constexpr int DEFAULT_DISPLAY_HEIGHT = 256; constexpr int DEFAULT_DISPLAY_OFFSET = 64; Loading Loading @@ -152,6 +161,8 @@ public: } }; // TODO: b/341728634 - Clean up conditional compilation. #if COMPILE_GRAPHITE_RENDERENGINE class GraphiteVkRenderEngineFactory : public RenderEngineFactory { public: std::string name() override { return "GraphiteVkRenderEngineFactory"; } Loading @@ -164,6 +175,7 @@ public: return renderengine::RenderEngine::SkiaBackend::GRAPHITE; } }; #endif class RenderEngineTest : public ::testing::TestWithParam<std::shared_ptr<RenderEngineFactory>> { public: Loading Loading @@ -1497,10 +1509,15 @@ void RenderEngineTest::tonemap(ui::Dataspace sourceDataspace, std::function<vec3 expectBufferColor(Rect(kGreyLevels, 1), generator, 2); } // TODO: b/341728634 - Clean up conditional compilation. INSTANTIATE_TEST_SUITE_P(PerRenderEngineType, RenderEngineTest, testing::Values(std::make_shared<SkiaGLESRenderEngineFactory>(), std::make_shared<GaneshVkRenderEngineFactory>(), std::make_shared<GraphiteVkRenderEngineFactory>())); std::make_shared<GaneshVkRenderEngineFactory>() #if COMPILE_GRAPHITE_RENDERENGINE , std::make_shared<GraphiteVkRenderEngineFactory>() #endif )); TEST_P(RenderEngineTest, drawLayers_noLayersToDraw) { if (!GetParam()->apiSupported()) { Loading
services/surfaceflinger/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -98,6 +98,7 @@ cc_defaults { "libscheduler", "libserviceutils", "libshaders", "libsurfaceflingerflags", "libtimestats", "libtonemap", ], Loading