Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 95538a1c authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Allow SkiaVkRenderEngine to not be compiled"

parents 2137a90b 32f9e699
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -39,8 +39,12 @@ std::unique_ptr<RenderEngine> RenderEngine::create(const RenderEngineCreationArg
            ALOGD("RenderEngine with SkiaGL Backend");
            return renderengine::skia::SkiaGLRenderEngine::create(args);
        case RenderEngineType::SKIA_VK:
#ifdef RE_SKIAVK
            ALOGD("RenderEngine with SkiaVK Backend");
            return renderengine::skia::SkiaVkRenderEngine::create(args);
#else
            LOG_ALWAYS_FATAL("Requested VK backend, but RE_SKIAVK is not defined!");
#endif
        case RenderEngineType::SKIA_GL_THREADED: {
            ALOGD("Threaded RenderEngine with SkiaGL Backend");
            return renderengine::threaded::RenderEngineThreaded::create(
@@ -50,12 +54,16 @@ std::unique_ptr<RenderEngine> RenderEngine::create(const RenderEngineCreationArg
                    args.renderEngineType);
        }
        case RenderEngineType::SKIA_VK_THREADED:
#ifdef RE_SKIAVK
            ALOGD("Threaded RenderEngine with SkiaVK Backend");
            return renderengine::threaded::RenderEngineThreaded::create(
                    [args]() {
                        return android::renderengine::skia::SkiaVkRenderEngine::create(args);
                    },
                    args.renderEngineType);
#else
            LOG_ALWAYS_FATAL("Requested VK backend, but RE_SKIAVK is not defined!");
#endif
        case RenderEngineType::GLES:
        default:
            ALOGD("RenderEngine with GLES Backend");
+5 −0
Original line number Diff line number Diff line
@@ -14,6 +14,10 @@
 * limitations under the License.
 */

// Allow the SkiaVkRenderEngine class to not be compiled, to save space
// NOTE: In order to build this class, define `RE_SKIAVK` in a build file.
#ifdef RE_SKIAVK

// #define LOG_NDEBUG 0
#undef LOG_TAG
#define LOG_TAG "RenderEngine"
@@ -673,3 +677,4 @@ void SkiaVkRenderEngine::appendBackendSpecificInfoToDump(std::string& result) {
} // namespace skia
} // namespace renderengine
} // namespace android
#endif // RE_SKIAVK
+6 −1
Original line number Diff line number Diff line
@@ -17,6 +17,10 @@
#ifndef SF_SKIAVKRENDERENGINE_H_
#define SF_SKIAVKRENDERENGINE_H_

// Allow the SkiaVkRenderEngine class to not be compiled, to save space
// NOTE: In order to build this class, define `RE_SKIAVK` in a build file.
#ifdef RE_SKIAVK

#include <vk/GrVkBackendContext.h>

#include "SkiaRenderEngine.h"
@@ -55,4 +59,5 @@ private:
} // namespace renderengine
} // namespace android

#endif
#endif // RE_SKIAVK
#endif // SF_SKIAVKRENDERENGINE_H_
+9 −0
Original line number Diff line number Diff line
@@ -112,6 +112,7 @@ public:
    virtual bool useColorManagement() const = 0;
};

#ifdef RE_SKIAVK
class SkiaVkRenderEngineFactory : public RenderEngineFactory {
public:
    std::string name() override { return "SkiaVkRenderEngineFactory"; }
@@ -152,6 +153,8 @@ class SkiaVkCMRenderEngineFactory : public SkiaVkRenderEngineFactory {
public:
    bool useColorManagement() const override { return true; }
};
#endif // RE_SKIAVK

class SkiaGLESRenderEngineFactory : public RenderEngineFactory {
public:
    std::string name() override { return "SkiaGLRenderEngineFactory"; }
@@ -1557,11 +1560,17 @@ void RenderEngineTest::tonemap(ui::Dataspace sourceDataspace, std::function<vec3
    expectBufferColor(Rect(kGreyLevels, 1), generator, 2);
}

#ifdef RE_SKIAVK
INSTANTIATE_TEST_SUITE_P(PerRenderEngineType, RenderEngineTest,
                         testing::Values(std::make_shared<SkiaGLESRenderEngineFactory>(),
                                         std::make_shared<SkiaGLESCMRenderEngineFactory>(),
                                         std::make_shared<SkiaVkRenderEngineFactory>(),
                                         std::make_shared<SkiaVkCMRenderEngineFactory>()));
#else  // RE_SKIAVK
INSTANTIATE_TEST_SUITE_P(PerRenderEngineType, RenderEngineTest,
                         testing::Values(std::make_shared<SkiaGLESRenderEngineFactory>(),
                                         std::make_shared<SkiaGLESCMRenderEngineFactory>()));
#endif // RE_SKIAVK

TEST_P(RenderEngineTest, drawLayers_noLayersToDraw) {
    if (!GetParam()->typeSupported()) {