summaryrefslogtreecommitdiff
path: root/libs/hwui
AgeCommit message (Collapse)Author
2025-03-21Make Bitmap.cpp use aconfig flags on host side too Makoto Onuki
Fix: 403462359 Test: atest CtsGraphicsTestCasesRavenwood:android.graphics.cts.BitmapTest (and treehugger) Flag: EXEMPT host side change only Change-Id: I0d229a1edbd302ec770c62ccce9c298ba99acbea
2025-03-19Merge "Make bitmap ashmem filename unique" into main Eric Miao
2025-03-18Merge "Revert "Replace uses of SkPackARGB32 with SkColorSetARGB"" into main Alec Mouri
2025-03-18Merge "Add support for Vulkan VK_EXT_frame_boundary in HWUI." into main Greg Daniel
2025-03-18Revert "Replace uses of SkPackARGB32 with SkColorSetARGB" Alec Mouri
This reverts commit e37757c40f863bf96212793a590a2177b1d1608d. Reason for revert: Made everyone a smurf. b/402049632 Change-Id: I58f544a43a7c11d6a707ca3d8a10c3f89a5e8b71
2025-03-18Add support for Vulkan VK_EXT_frame_boundary in HWUI. Greg Daniel
Test: manual compiling Bug: b/367717718 Flag: EXEMPT debug only Change-Id: Ia76df1bff98c438d2bf7fee91e28da55ce775b54
2025-03-18Merge "Only use parcel on Linux" into main Jerome Gaillard
2025-03-17Merge "Fix vkGetPhysicalDeviceQueueFamilyProperties2 validation error" into main Treehugger Robot
2025-03-17Merge "Revert "Make ReliableSurface's fallback buffer match ANW size"" into ↵ Priyanka Advani (xWF)
main am: 1521bc5d1c am: e819223b0e Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3547402 Change-Id: Ia49731d080f09a1d8dfdd3538205daae24f32714 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-17Merge "Revert "Make ReliableSurface's fallback buffer match ANW size"" into main Priyanka Advani (xWF)
2025-03-17Fix vkGetPhysicalDeviceQueueFamilyProperties2 validation error dm93.han
- VUID-VkQueueFamilyProperties2-sType-sType sType must be VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2 Bug: 399240969 Flag: EXEMPT trivial validation fix Signed-off-by: dm93.han <dm93.han@samsung.com> (cherry picked from https://partner-android-review.googlesource.com/q/commit:4ed416c12a73d6530e76e32b0e591e5fe0d86f90) Merged-In: Iddb2e703ec2d792ff9717a2b9e9d2a61f15e55ec Change-Id: Iddb2e703ec2d792ff9717a2b9e9d2a61f15e55ec
2025-03-16Revert "Make ReliableSurface's fallback buffer match ANW size" Naresh Kumar Podishetty (xWF)
This reverts commit 77477858a7e5fd025680b7534af70637e9e0328e. Reason for revert: <Droid monitor: Likely culprit for b/403616834 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.> Change-Id: I495eae72dc0054bc6fff664c504e1305c269ce3f
2025-03-14Merge "Make ReliableSurface's fallback buffer match ANW size" into main am: ↵ Jason Macnak
71dfab310f am: 8489f89cdc Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3511350 Change-Id: Idbbf1378e7244fb3cdcae277bb028eddb7dbf68d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-03-14Merge "Make ReliableSurface's fallback buffer match ANW size" into main Jason Macnak
2025-03-14Only use parcel on Linux Jerome Gaillard
binder_parcel is not available on Mac or Windows. Flag: NONE host-only change Bug: 381394200 Test: build libhwui on mac Change-Id: I5cc6599c267e24051c025b8988bbd72403054634
2025-03-13Merge "Call libgui's SurfaceControl directly in hwui" into main Treehugger Robot
2025-03-13Call libgui's SurfaceControl directly in hwui Alec Mouri
HWUI is no longer pursuing becoming a mainline module, so this is not needed. Moreover, dlopening ASurfaceControl symbols hits an internal lock, which makes this code susceptible to lock contention during app startup. Bug: 374342597 Flag: EXEMPT refactor Test: builds, boots Test: gmail Change-Id: I56ac9220dc669b8ca7c83a07268b910576aa96e5
2025-03-13Merge "Parcel implicit ashmem copies of bitmaps as immutable" into main Treehugger Robot
2025-03-13Merge "pass context to proc for MSKP captures" into main Jorge Betancourt
2025-03-11Parcel implicit ashmem copies of bitmaps as immutable Shai Barack
Bug: 400807118 Flag: com.android.graphics.hwui.flags.bitmap_parcel_ashmem_as_immutable Change-Id: I8b82c78bb13ca70f2ead8eb0f8ba2438db12dca0
2025-03-10Make bitmap ashmem filename unique Eric Miao
Bug: 369619160 Flag: NONE - bug fix Expect bitmap ashmem filename to be unique so that we could identify the bitmaps with the same ashmem allocations. However, in the case of a same bitmap being sent multiple times, we could end up having the same ashmem filenames from the receiving end. To make the filename unique, an monotonically increasing counter is used for ashmem allocations, and is included in the filename. Change-Id: I08a170c4dbf465766d0303bc32f761e099dc2736
2025-03-10Make ReliableSurface's fallback buffer match ANW size Jason Macnak
Bug: b/397754921 Test: cts -m CtsUiRenderingTestCases Change-Id: Ie5faee78a051bd7b18bbcf62b0d9334964066465
2025-03-04Check return value of SkRect::intersect() Michael Ludwig
Skia is adding `[[nodiscard]]` to `Sk[I]Rect::intersect()` and this appears to be the only callsite in Android that was not already checking the return value. Bug: b/40042853 Flag: EXEMPT bugfix Change-Id: I45369f83041ea63fc00d29111c07b311e457ec20
2025-03-04Don't create layers for negative-sized RenderNodes John Reck
Fixes: 257954570 Test: n/a Flag: EXEMPT trivial bug fix (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:1895e2e9de073860cca89c9f94c0af548d6eb6aa) Merged-In: I82a00ec21b58ea55779d02db4a54d1ef2d37dcc7 Change-Id: I82a00ec21b58ea55779d02db4a54d1ef2d37dcc7
2025-02-28Add support for RuntimeXfermode for host rendering Jerome Gaillard
Flag: NONE host-only change Bug: 381394200 Test: N/A Change-Id: Ida8c6fe79e217266169da0fc4626f73a9ad131ea
2025-02-27Merge 25Q1 (ab/12770256) to aosp-main-future Xin Li
Bug: 385190204 Merged-In: Ibc80f09d54bec2c83814874d94a8f8eb22b5075f Change-Id: If7779ae57fd91631d08bd8af5434c2ddd963aad7
2025-02-27Merge "Replace uses of SkPackARGB32 with SkColorSetARGB" into main Treehugger Robot
2025-02-26feat(force invert): force invert the entire light-themed app Daniel Norman
Instead of forcing dark each rendernode individually, we force invert the entire app. This helps us avoid issues where some text or icons don't get detected as dark, and they get inverted, causing black-on- black text, etc. The lightness detection in this change uses a simple theme check that will return the wrong answer if the app theme is incorrect. This will be improved upon in future changes to check other heuristics like the main window background color, and to calculate the RenderNode color area polarity in real time. Note: this disables the old force dark behavior when the user has the new force invert dark theme toggle enabled. Bug: 372561761 Flag: android.view.accessibility.force_invert_color Test: manual only; observe inverted apps. See attachments in bug. Change-Id: I86e3e095af206368b5cd3d61330aa1d457103e7d
2025-02-26Merge "Remove njawad from/add nscobie to HWUI owners" into main am: ↵ Treehugger Robot
9a72e0fddb am: 7b7cde0380 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3510291 Change-Id: Ieae33abe0d826e35f20e4febe65fdcb1ead24b6d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-02-26pass context to proc for MSKP captures Jorge Betancourt
Submitted with Skia side change: https://skia-review.googlesource.com/c/skia/+/948178 Test: frameworks/base/libs/hwui/tests/scripts/skp-capture.sh PACKAGE_NAME FRAMES Bug: 353765197 Flag: TEST_ONLY Change-Id: I8747a7dd18d9ad929d0a1b3d554ceccba863ec88
2025-02-26Remove njawad from/add nscobie to HWUI owners Noelle Scobie
Change-Id: Ide013522db4ca964bf4248c0d7359a2abc1f8f3d
2025-02-25Merge "feat(force invert): import a11y aconfig flags for use in hwui" into main Treehugger Robot
2025-02-25Replace uses of SkPackARGB32 with SkColorSetARGB Kaylee Lubick
The former is a private Skia API but functionally the same as SkColorSetARGB or SkColorSetRGB. I spotted a few cases in which a constant color could be used and changed those to aid readability Change-Id: Ibd06d95f98f48ec8931a2e894096b89d76981bd4 Flag: EXEMPT refactoring
2025-02-25[Ravenwood] Sync internal main to AOSP John Wu
Bug: 354011961 Test: f/b/r/scripts/run-ravenwood-tests.sh Change-Id: Iaad01f6f69e96763bda113639bd286d3f186b186 Merged-In: I90a79a92987870d494ed927eb6ba02747e247929
2025-02-21Merge "Fix full draw power usage increase issue" into main am: d25752e53d ↵ Treehugger Robot
am: 14124ea1f4 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3500473 Change-Id: Ibafcc6691130dfb83c8d01d34662f9d1794a8176 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-02-21feat(force invert): import a11y aconfig flags for use in hwui Daniel Norman
Bug: 372561761 Test: n/a (used in child changes) Flag: android.view.accessibility.force_invert_color Change-Id: I59e354636eabeebcf85be5886a2d7d8554725146
2025-02-20Merge "[Ravenwood] Enable graphics support" into main John Wu
2025-02-19Fix full draw power usage increase issue Jiang Tian
Full draw will be happened on HWUI under 144Hz device,there are more draw commands under renderFrameImpl than in the 120Hz fps device, frame.bufferAge() > (int)mSwapHistory.size() resulting in an increase in power usage. So need to increase (int)mSwapHistory.size() to 8. Bug: 397592669 Test: Manual 1.Use the 144Hz device 2.Grab Settings Systrace of the sliding scene 3.Collect the Systrace, and check the drawing dirty area is the screen area of the entire device Change-Id: I477d37828f080e64cded9f285c58b7b27cbe6b03
2025-02-18Merge "Add infrastructure for registering a native frame metrics observer" ↵ Treehugger Robot
into main
2025-02-18Merge "Unified format and Clearly traced opening recents" into main am: ↵ Treehugger Robot
cb4d99b845 am: b86e2c76c3 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3484711 Change-Id: I7372ca6d4d7c60b992b4fe67ee01deb1e0b75c61 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2025-02-18Add infrastructure for registering a native frame metrics observer Siarhei Vishniakou
This will allow NativeInputEventReceiver to subscribe to the frame metrics notifications directly from the native code, without having to involve java. Java would still be needed to register the observer, though. Bug: 376713684 Test: compile only, this infra is used in another CL Flag: EXEMPT refactor Change-Id: I7be8f0b2e94595f9a64ce69a22fe5910e0cd7711
2025-02-18Pass metrics buffer as std::array Siarhei Vishniakou
Before this change, metrics were passed around as a raw array, without clear guidance of how big the array was or how to use it. The callers had to look into the implementation to understand that to use this array, "FrameInfo.h" needed to be included, and that the array size and indices were there. With the current refactor, it will become slightly easier to use these metrics. Bug: 376713684 Change-Id: Iecc04a0a215a7913ca8f49e4611fb104e1cacb8e Test: compile only Flag: EXEMPT refactor
2025-02-18[Ravenwood] Enable graphics support John Wu
Bug: 337110712 Flag: EXEMPT host side change only Test: $ANDROID_BUILD_TOP/frameworks/base/ravenwood/scripts/run-ravenwood-tests.sh Test: atest FrameworksCoreTestsRavenwood Test: atest CtsGraphicsTestCasesRavenwood Test: atest CtsResourcesTestCasesRavenwood Test: atest CtsTextTestCasesRavenwood Change-Id: I90a79a92987870d494ed927eb6ba02747e247929
2025-02-14Revert^2 "Add RuntimeShader#setWorkingColorSpace" John Reck
c897edb13f53f30f76cd3070fe04143f78419e74 Bug: 299670828 Test: android.uirendering.cts.testclasses.RuntimeShaderTests#testWorkingColorSpace Flag: com.android.graphics.hwui.flags.shader_color_space Change-Id: Ie5adab0ce6c86db3c91a6d2a1d7ca660b2a31e74
2025-02-13Merge "Revert "Add RuntimeShader#setWorkingColorSpace"" into main Priyanka Advani (xWF)
2025-02-13Revert "Add RuntimeShader#setWorkingColorSpace" Priyanka Advani (xWF)
Revert submission 31528465-runtimeshader_workingcolorspace Reason for revert: Droidmonitor created revert due to b/396463303 . Will be verifying through ABTD before submission. Reverted changes: /q/submissionid:31528465-runtimeshader_workingcolorspace Change-Id: I4a8d06704ab559ed735343bd9ee8d365815cb810
2025-02-13Merge "Add RuntimeShader#setWorkingColorSpace" into main John Reck
2025-02-12preload Buffer Allocator instance on the ViewRootImpl init “Shadman
- Improves time to first draw by ~5-10ms on low core devices. Earlier initialization results in less time during choreographer's first frame draw waiting for buffer allocator to be initialized. Test: Build and wear hermetic app launch test Bug: 389908734 Flag: com.android.graphics.hwui.flags.early_preinit_buffer_allocator Change-Id: I41883e735557f186f4ed5004b092f018b7b67574
2025-02-11Merge "Calculate workload target using original frame deadline" into main Melody Hsu
2025-02-11Calculate workload target using original frame deadline Melody Hsu
The target work duration in HWUI ADPF is sometimes incorrect, and is more often incorrect during buffer stuffing recovery due to the exposure of new jank. The issue causes CPU clock frequencies to decrease too much, and cause potential jank in subequent frames. The original frame deadline should be used instead in calculating the workload target deadline when triple buffered because even when the deadline is pushed later during buffer stuffing, the throughput requirements remain the same. Also fixes a misordering in FrameInfoNames that was inconsistent with FrameInfo and FrameMetrics. Bug: b/389939827 Test: atest JankTracker Test: presubmit, perfetto traces w/ and w/o buffer stuffing recovery Flag: com.android.graphics.hwui.flags.calc_workload_orig_deadline Change-Id: I2e3da6ee927d20fcbc9299ab5eda5732660d7246