diff options
| -rw-r--r-- | libs/renderengine/include/renderengine/RenderEngine.h | 13 | ||||
| -rw-r--r-- | libs/renderengine/skia/SkiaRenderEngine.cpp | 15 | ||||
| -rw-r--r-- | libs/renderengine/skia/SkiaRenderEngine.h | 6 |
3 files changed, 24 insertions, 10 deletions
diff --git a/libs/renderengine/include/renderengine/RenderEngine.h b/libs/renderengine/include/renderengine/RenderEngine.h index 67c3721c2a..1da9adcad4 100644 --- a/libs/renderengine/include/renderengine/RenderEngine.h +++ b/libs/renderengine/include/renderengine/RenderEngine.h @@ -49,6 +49,11 @@ */ #define PROPERTY_DEBUG_RENDERENGINE_CAPTURE_FILENAME "debug.renderengine.capture_filename" +/** + * Allows recording of Skia drawing commands with systrace. + */ +#define PROPERTY_SKIA_ATRACE_ENABLED "debug.renderengine.skia_atrace_enabled" + struct ANativeWindowBuffer; namespace android { @@ -95,10 +100,6 @@ public: static std::unique_ptr<RenderEngine> create(const RenderEngineCreationArgs& args); - RenderEngine() : RenderEngine(RenderEngineType::GLES) {} - - RenderEngine(RenderEngineType type) : mRenderEngineType(type) {} - virtual ~RenderEngine() = 0; // ----- BEGIN DEPRECATED INTERFACE ----- @@ -205,6 +206,10 @@ public: static void validateOutputBufferUsage(const sp<GraphicBuffer>&); protected: + RenderEngine() : RenderEngine(RenderEngineType::GLES) {} + + RenderEngine(RenderEngineType type) : mRenderEngineType(type) {} + // Maps GPU resources for this buffer. // Note that work may be deferred to an additional thread, i.e. this call // is made asynchronously, but the caller can expect that map/unmap calls diff --git a/libs/renderengine/skia/SkiaRenderEngine.cpp b/libs/renderengine/skia/SkiaRenderEngine.cpp index 81f0b6f970..29175a227e 100644 --- a/libs/renderengine/skia/SkiaRenderEngine.cpp +++ b/libs/renderengine/skia/SkiaRenderEngine.cpp @@ -14,13 +14,22 @@ * limitations under the License. */ -//#define LOG_NDEBUG 0 #undef LOG_TAG #define LOG_TAG "RenderEngine" #define ATRACE_TAG ATRACE_TAG_GRAPHICS +#include "SkiaRenderEngine.h" + +#include <android-base/properties.h> +#include <src/core/SkTraceEventCommon.h> + namespace android { namespace renderengine { -namespace skia {} // namespace skia +namespace skia { +SkiaRenderEngine::SkiaRenderEngine(RenderEngineType type) : RenderEngine(type) { + SkAndroidFrameworkTraceUtil::setEnableTracing( + base::GetBoolProperty(PROPERTY_SKIA_ATRACE_ENABLED, false)); +} +} // namespace skia } // namespace renderengine -} // namespace android
\ No newline at end of file +} // namespace android diff --git a/libs/renderengine/skia/SkiaRenderEngine.h b/libs/renderengine/skia/SkiaRenderEngine.h index 4cda133c89..f098a8603b 100644 --- a/libs/renderengine/skia/SkiaRenderEngine.h +++ b/libs/renderengine/skia/SkiaRenderEngine.h @@ -36,7 +36,7 @@ class BlurFilter; class SkiaRenderEngine : public RenderEngine { public: static std::unique_ptr<SkiaRenderEngine> create(const RenderEngineCreationArgs& args); - SkiaRenderEngine(RenderEngineType type) : RenderEngine(type) {} + SkiaRenderEngine(RenderEngineType type); ~SkiaRenderEngine() override {} virtual std::future<void> primeCache() override { return {}; }; @@ -60,8 +60,8 @@ public: protected: virtual void mapExternalTextureBuffer(const sp<GraphicBuffer>& /*buffer*/, - bool /*isRenderable*/) override; - virtual void unmapExternalTextureBuffer(const sp<GraphicBuffer>& /*buffer*/) override; + bool /*isRenderable*/) override = 0; + virtual void unmapExternalTextureBuffer(const sp<GraphicBuffer>& /*buffer*/) override = 0; }; } // namespace skia |