Fix an issue with incorrect texture matrix, when there is 90/270 rotation.
This happened, because after refactoring SkImage has buffer width/height,
instead of layer width/height.
This reverts commit a683eb3945.
Bug: 113673613
Test: Ran TextureView CTS and lensblur in camera app
Change-Id: If3bcf9cd5195de09fd67a753708568a8e3ca3a9a
Render TextureView as hardware bitmaps, instead of GL textures.
Cache SkImage for each observed GraphicBuffer, which is faster
even for GL.
Implement C++ SurfaceTexture, which allows Java SurfaceTexture
to be used with Vulkan HWUI render thread and application GL.
threads. Delete GLLayer and VkLayer classes and texture code
from old HWUI pipeline.
Test: Ran skiagl and skiavk pipeline with a TextureView app.
Test: TextureView CTS tests pass for GL pipeline.
Test: Ran Android NDK Native codec sample app.
Change-Id: Idc94f864ce2d34fd6ceff4be4fc7d3327e99879c
Test: build
The Skia to Android master roll is due to not being able to find
SkUnPreMultiply. It must have been included transitively previously.
Include it directly to ensure it's defined.
Change-Id: I9eedce274f5329641a7ebcd65979f10861f17cb0
This CL extracts the android_dataspace from the GLConsumer and converts
it to a SkColorSpace. HWUI always expects to composite into an sRGB
destination so when we draw the layer we run the draw through a
colorFilter that converts the input colorSpace into that of the
destination.
Test: CtsViewTestCases
Bug: 78016220
Change-Id: Ic0446a0d861e86a5a9d0382346b57fcc45c8a61b
Set text encoding inside TestUtils::drawUtf8ToCanvas and use
TestUtils::drawUtf8ToCanvas instead Canvas::drawText.
This CL is a follow-up of ag/3287411.
Test: Ran macrobench tests
Change-Id: I1b2f014d17f26ccc8fbdae9cfeea4ac25fd4c51f
Bug: 34206215
Test: hwui unit tests passing, manual test of TextureView video playback
Always flush renderstate to the GlLayer's texture, regardless of
whether updateTexImage has ever been called.
Change-Id: I3974dce9d90633a0299e6bc4259b76c622717c90
Refactor HWUI unit tests to not invoke SkCanvas::getClipStack,
because this Skia API is going to be deprecated.
Test: Build and ran sailfish-eng. Ran HWUI unit tests.
Change-Id: Iac277aa26fbe9e2a0860cde2dd43732ed1c4c4e3
Added Macros for RENDERTHREAD_TESTS which run these tests using specific backends.
RENDERTHREAD_TESTS - Runs OpenGL, SkiaGL, and SkiaVulkan
RENDERTHREAD_SKIA_TESTS - Runs SkiaGL and SkiaVulkan
RENDERTHREAD_OPENGL_TESTS - Runs OpenGL
Test: manual running of hwui_unit_tests
Change-Id: Ia7420ee7a38803a15e2d58394d14b38cae8208d3
Test: No new tests. This should not affect behavior; only dependencies.
Font.h does not need to include SkGlyphCache.h, and doing so requires
a transitive dependency on external/skia/src/utils, which was not
intended. Forward declare it instead, and fix the build errors that
resulted.
Change-Id: Ifd09430bb848d51b139df0f0c06c63e7e48711eb
Add more Skia pipeline unit tests and fix an issue
in backdrop/content bounds clip logic.
Test: built and run angler-eng and HWUI unit tests.
Change-Id: Ie41f80ff7ce9802a4d76e8b14f1695dbc9771a2b
Implement SkiaRecordingCanvas, RenderNodeDrawable, GLFunctorDrawable,
LayerDrawable, StartReorderBarrierDrawable, EndReorderBarrierDrawable.
Move AnimatedRoundRect and AnimatedCircle in a separate file.
All Skia pipeline files are moved in hwui/pipeline/skia folder.
Add unit tests for RenderNodeDrawable, StartReorderBarrierDrawable,
EndReorderBarrierDrawable and SkiaRecordingCanvas.
Test: I tested manually on 6P devices and did run the unit tests.
Change-Id: If2a347bd1fc4689953822294ce5bf98c7f3f57c7
There is only one caller each for the static functions here so this
CL moves the logic to the caller. Also by moving some of the code
into the pipeline it makes it easier for future changes to configure
how a pipeline handles a layer.
Change-Id: Ib735b5154325cbb658fd151f7a19dbf434ab44b7
Fixes: 27825042
TextureView's matrix may not be set at record time - delay using it
until on RenderThread, when deferring the op.
Change-Id: Icf8b55d656e304ec049ca803b042dc2359482db2
This update is a precondition for landing additional tests
that depend on the minkin layout implementation.
bug: 27675371
Change-Id: I9bb98bae6b39462246e42cf8acb968b7df05292d
Initial pass at leak-detection on the unit
tests. Due to quirks in jemalloc we need
to run the leak check on both the main thread
and the RT thread to get decent leak coverage.
Change-Id: I0dce754aef5593f1ef5c3bed86e1168437a34b74
Skia would like to make the SkUTF* methods private to Skia. This CL
makes this Android test code use Android methods for the same function.
Change-Id: I544847c70030c818aa72dd3ec21b1926834a3e78