Increase filter quality when rendering a layer into the frame
buffer from kNone_SkFilterQuality to kLow_SkFilterQuality.
This visibly improves the quality if the layer is scaled.
For example the circle shutter button in camera app looks
better in pressed state (there is no jagged edge).
Test: Ran camera app
Bug: 72144993
Change-Id: I138d930a25301a369876d76a2cd322df0324f0f2
Create a stub for Vulkan readback. This avoids crashing,
because OpenGL readback does not work for Vulkan.
Test: Ran calc and gmail apps with skiavk pipeline.
Change-Id: I11cddde0a1efae1aa549e7a47d01051ec975f470
Ideally processes with a render thread, would turn on shader
caching, but system_server is an exception.
Test: checked logcat for ShaderCache not initialized messages
Bug: 71718344
Change-Id: I5d4df6ae912a6fec3f019c9c831a1177937ea53b
Pass a hint to Skia, about which lattice rectangles are solid
color rectangles.
Bug: 69796044
Test: Measured ninepatch performance using sample app from the bug
Change-Id: Ib07b1b64c78ab16195f9af88a989d28682084565
This matches the behavior of the old HWUI renderer and avoids
jank when trying to release a series of small textures.
Test: UiBenchJankTests #testResizeHwLayer
Bug: 69566781
Change-Id: Idc01f8438e85d4810032fd30a141132a6cdd47a1
Use Skia GrCaps to detect if we can render into a FP16 buffer.
Exclude Extension class initialization from SkiaGL pipeline.
Bug: 68383159
Test: Passed testWindowProducerCopyToRGBA16F on gce_x86_phone emu
Change-Id: I3355bad891ed5403fbd94d18bb8ba110a3b77325
Implement SkSL cache by reusing code and logic from egl_cache_t.
Test: Improves startup times for gmail by 15ms and 10ms for calc app.
Bug: 66740665
Change-Id: I9ba479c649ba97a2c29a48d40579ba001264c957
This feature needs support for renderable float textures, but the checks
were only guaranteeing support for float texture reads.
Bug: 68754504
Test: CtsViewTestCases
Change-Id: I0ce4a81cb8e09c10a5f1e65234685767a24ef8c4
Fix readback to return correct error code on X86 emulator, when
half float pixel format is not supported.
Test: Ran and passed all CtsViewTestCases tests on x86 emulator
Bug: 68383159
Change-Id: Id66484b73488e2c8d29fbecbd45a97af285a0710
Apply correct texture transform and use filter if source and dest
have different size.
Test: Ran and passed CtsUiRenderingTestCases,
Test: CtsGraphicsTestCases, CtsViewTestCases tests and the
Test: DecodeAccuracyTest.
Bug:68051015
Change-Id: Iee885e243e43497c9294f7475c0c5b9c1a783754
Convert SkiaPipeline::skpCaptureEnabled into a system property.
Add ability to capture drawing in layers. Add ability to capture
animations/sequence of frames. Fix crash when recording a
TextureView.
Test: Ran capture script.
Change-Id: I463eecf6ec90a601a6cc172ad1901bd4bcc86ac8
Fix crash caused by updating vectordrawable cache for objects
from previous frames, which may have been deleted.
Bug: 67940327
Test: Ran CtsUiRenderingTestCases test
Change-Id: I4466235e78e9b7937a0d4428240574d9e3d0989f
Fix a crash caused by calling OpenGL APIs with Vulkan pipeline
(likely a regression from ag/2706458).
Test: Ran CtsViewTestCases tests with SkiaGL pipeline.
Change-Id: Ibabeb4229ef88de57c99f2961a10a68ca71b25ab
Fix order of matrix multipication and use drawImage instead of
shader.
Test: Ran camera app, message app and smart face lock app.
Bug: 67405584
Change-Id: I3df161d58218e1b1845f1c1ca2db2b12c51b3532
Fix camera preview shown inverted. Apply texture matrix when
drawing opengl layer.
Test: Ran camera preview in message app and smart lock with face.
Ran CtsUiRenderingTestCases and CtsGraphicsTestCases tests.
Bug: 65534412
Change-Id: I3ed52a6c62921fcdfe30104dd176802ed1533fad
Unpin images when skia pipeline object is destroyed. This fixes
an assert in skia ~SkImage_Raster.
Test: Built and ran Android on a device.
Bug: 66730647
Change-Id: I73603efd4fc2ca584cdb8f6a4774e48a187f6787
Fix alpha not being applied for Views that have non overlapping
rendering (getHasOverlappingRendering is false).
Test: Ran system UI
Bug: 65857651
Change-Id: I31001de0f67bf95ab8425189a4b78427d062585d
This approach avoids paying for any extra overhead in flushing
commands from Skia to the GPU.
Test: LauncherJankTests#testOpenAllAppsContainer
Change-Id: Ie4be3592d1b032a06d848c994b8be435638d24c8
For frames with multiple VDs the context switching involved was causing
worst case frame times of ~40ms to draw all VDs in the frame whereas
this new approach has worst case performance of ~5ms when drawing the
same frame (w/ approximately 26 VDs).
Bug: 64487466
Test: SystemUiJankTests#testGoToFullShade
Change-Id: I5cad0b5df86e5eac3722ee8695fc7511b38b8a7c
Release VectorDrawable cache surface on render thread.
This is fixing an assert in skia GrSingleOwner.h:33.
Test: Ran gmail before and after the change.
Bug: 64842607
Change-Id: I46e0c2557ac5b2fc3be2cc2d35abf96f6d6c9399
Implement non-rectangular clips by writing into the stencil
buffer using new Skia API. This CL is fixing
PathClippingTests#testWebViewClipWithCircle test, which was
failing on some devices.
Bug: 34454070
Bug: 31489986
Test: CtsUiRenderingTestCases tests passed for Skia pipeline.
Change-Id: I29d7af02e2af53943540a91393f5d7a8c4e44049
When requesting an SkImage from a android::Bitmap we will also
return a colorFilter that will perform the sRGB conversion at draw
time.
Bug: 62347704
Test: CtsUiRenderingTestCases, CtsGraphicsTestCases, CtsViewTestCases
Change-Id: Icc4694e2c42605e29fcc834c252bc21263bac658
Apply correctly the image trans form matrix passed to
SkiaOpenGLReadback::copyImageInto. This is a fix for capture when
screen is rotated on 180 degrees.
Test: Ran CtsViewTestCases CTS tests for Skia pipelines.
Bug: 63629735
Change-Id: I2b86390352feb2538ad1591b18aa5e5a175f4c95
Support F16 render targets in Skia pipeline. Enable readback from
F16 surface.
Test: device boots with Skia pipeline
Change-Id: Ib31e618be1a987de3736987a496c799693923594
Fix drawing of bitmaps with color profiles. This CL is making
ColorSpaceTests and Rgba16fTests CTS tests to pass with Skia
pipeline. Drawing bitmaps withs pixels outside SRGB range
may need more work (ColorSpaceTests#testDrawDisplayP3 test use a
a wider gamut, but the actual pixels fall into the SRGB range).
Test: Ran CtsUiRenderingTestCases with HWUI and Skia pipeline.
Bug: 62347704
Change-Id: I8d318076bb38f7d32bfde7e5492ae7a61f4731a5