Loading libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp +1 −3 Original line number Original line Diff line number Diff line Loading @@ -142,10 +142,8 @@ void SkiaRecordingCanvas::callDrawGLFunction(Functor* functor, void SkiaRecordingCanvas::drawWebViewFunctor(int functor) { void SkiaRecordingCanvas::drawWebViewFunctor(int functor) { FunctorDrawable* functorDrawable; FunctorDrawable* functorDrawable; if (Properties::getRenderPipelineType() == RenderPipelineType::SkiaVulkan) { if (Properties::getRenderPipelineType() == RenderPipelineType::SkiaVulkan) { // TODO(cblume) use VkFunctorDrawable instead of VkInteropFunctorDrawable here when the // interop is disabled. functorDrawable = functorDrawable = mDisplayList->allocateDrawable<VkInteropFunctorDrawable>(functor, asSkCanvas()); mDisplayList->allocateDrawable<VkFunctorDrawable>(functor, asSkCanvas()); } else { } else { functorDrawable = mDisplayList->allocateDrawable<GLFunctorDrawable>(functor, asSkCanvas()); functorDrawable = mDisplayList->allocateDrawable<GLFunctorDrawable>(functor, asSkCanvas()); } } Loading libs/hwui/pipeline/skia/VkFunctorDrawable.cpp +4 −1 Original line number Original line Diff line number Diff line Loading @@ -43,8 +43,10 @@ VkFunctorDrawHandler::VkFunctorDrawHandler(sp<WebViewFunctor::Handle> functor_ha , mImageInfo(image_info) {} , mImageInfo(image_info) {} VkFunctorDrawHandler::~VkFunctorDrawHandler() { VkFunctorDrawHandler::~VkFunctorDrawHandler() { if (mDrawn) { mFunctorHandle->postDrawVk(); mFunctorHandle->postDrawVk(); } } } void VkFunctorDrawHandler::draw(const GrBackendDrawableInfo& info) { void VkFunctorDrawHandler::draw(const GrBackendDrawableInfo& info) { ATRACE_CALL(); ATRACE_CALL(); Loading Loading @@ -77,6 +79,7 @@ void VkFunctorDrawHandler::draw(const GrBackendDrawableInfo& info) { params.format = vulkan_info.fFormat; params.format = vulkan_info.fFormat; mFunctorHandle->drawVk(params); mFunctorHandle->drawVk(params); mDrawn = true; vulkan_info.fDrawBounds->offset.x = mClip.fLeft; vulkan_info.fDrawBounds->offset.x = mClip.fLeft; vulkan_info.fDrawBounds->offset.y = mClip.fTop; vulkan_info.fDrawBounds->offset.y = mClip.fTop; Loading libs/hwui/pipeline/skia/VkFunctorDrawable.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -44,6 +44,8 @@ private: const SkMatrix mMatrix; const SkMatrix mMatrix; const SkIRect mClip; const SkIRect mClip; const SkImageInfo mImageInfo; const SkImageInfo mImageInfo; bool mDrawn = false; }; }; /** /** Loading native/webview/plat_support/draw_functor.cpp +0 −3 Original line number Original line Diff line number Diff line Loading @@ -177,9 +177,6 @@ int CreateFunctor(void* data, AwDrawFnFunctorCallbacks* functor_callbacks) { webview_functor_callbacks.vk.initialize = &initializeVk; webview_functor_callbacks.vk.initialize = &initializeVk; webview_functor_callbacks.vk.draw = &drawVk; webview_functor_callbacks.vk.draw = &drawVk; webview_functor_callbacks.vk.postDraw = &postDrawVk; webview_functor_callbacks.vk.postDraw = &postDrawVk; // TODO(boliu): Remove this once SkiaRecordingCanvas::drawWebViewFunctor // no longer uses GL interop. webview_functor_callbacks.gles.draw = &draw_gl; break; break; } } callbacks_initialized = true; callbacks_initialized = true; Loading Loading
libs/hwui/pipeline/skia/SkiaRecordingCanvas.cpp +1 −3 Original line number Original line Diff line number Diff line Loading @@ -142,10 +142,8 @@ void SkiaRecordingCanvas::callDrawGLFunction(Functor* functor, void SkiaRecordingCanvas::drawWebViewFunctor(int functor) { void SkiaRecordingCanvas::drawWebViewFunctor(int functor) { FunctorDrawable* functorDrawable; FunctorDrawable* functorDrawable; if (Properties::getRenderPipelineType() == RenderPipelineType::SkiaVulkan) { if (Properties::getRenderPipelineType() == RenderPipelineType::SkiaVulkan) { // TODO(cblume) use VkFunctorDrawable instead of VkInteropFunctorDrawable here when the // interop is disabled. functorDrawable = functorDrawable = mDisplayList->allocateDrawable<VkInteropFunctorDrawable>(functor, asSkCanvas()); mDisplayList->allocateDrawable<VkFunctorDrawable>(functor, asSkCanvas()); } else { } else { functorDrawable = mDisplayList->allocateDrawable<GLFunctorDrawable>(functor, asSkCanvas()); functorDrawable = mDisplayList->allocateDrawable<GLFunctorDrawable>(functor, asSkCanvas()); } } Loading
libs/hwui/pipeline/skia/VkFunctorDrawable.cpp +4 −1 Original line number Original line Diff line number Diff line Loading @@ -43,8 +43,10 @@ VkFunctorDrawHandler::VkFunctorDrawHandler(sp<WebViewFunctor::Handle> functor_ha , mImageInfo(image_info) {} , mImageInfo(image_info) {} VkFunctorDrawHandler::~VkFunctorDrawHandler() { VkFunctorDrawHandler::~VkFunctorDrawHandler() { if (mDrawn) { mFunctorHandle->postDrawVk(); mFunctorHandle->postDrawVk(); } } } void VkFunctorDrawHandler::draw(const GrBackendDrawableInfo& info) { void VkFunctorDrawHandler::draw(const GrBackendDrawableInfo& info) { ATRACE_CALL(); ATRACE_CALL(); Loading Loading @@ -77,6 +79,7 @@ void VkFunctorDrawHandler::draw(const GrBackendDrawableInfo& info) { params.format = vulkan_info.fFormat; params.format = vulkan_info.fFormat; mFunctorHandle->drawVk(params); mFunctorHandle->drawVk(params); mDrawn = true; vulkan_info.fDrawBounds->offset.x = mClip.fLeft; vulkan_info.fDrawBounds->offset.x = mClip.fLeft; vulkan_info.fDrawBounds->offset.y = mClip.fTop; vulkan_info.fDrawBounds->offset.y = mClip.fTop; Loading
libs/hwui/pipeline/skia/VkFunctorDrawable.h +2 −0 Original line number Original line Diff line number Diff line Loading @@ -44,6 +44,8 @@ private: const SkMatrix mMatrix; const SkMatrix mMatrix; const SkIRect mClip; const SkIRect mClip; const SkImageInfo mImageInfo; const SkImageInfo mImageInfo; bool mDrawn = false; }; }; /** /** Loading
native/webview/plat_support/draw_functor.cpp +0 −3 Original line number Original line Diff line number Diff line Loading @@ -177,9 +177,6 @@ int CreateFunctor(void* data, AwDrawFnFunctorCallbacks* functor_callbacks) { webview_functor_callbacks.vk.initialize = &initializeVk; webview_functor_callbacks.vk.initialize = &initializeVk; webview_functor_callbacks.vk.draw = &drawVk; webview_functor_callbacks.vk.draw = &drawVk; webview_functor_callbacks.vk.postDraw = &postDrawVk; webview_functor_callbacks.vk.postDraw = &postDrawVk; // TODO(boliu): Remove this once SkiaRecordingCanvas::drawWebViewFunctor // no longer uses GL interop. webview_functor_callbacks.gles.draw = &draw_gl; break; break; } } callbacks_initialized = true; callbacks_initialized = true; Loading