107 Commits

Author SHA1 Message Date
Jan Altensen
cb47242a65 libhwc2.1: fix compilation for exynos2100
Change-Id: Ifa67b6c2b280292110b47ff22011c67c0de6fe59
2025-07-31 21:10:13 +01:00
Sally Qi
c519d448ba [hwc3] getLuts() AIDL interface
Bug: 352585077
Test: builds
Change-Id: If7699b9dbca7ba19d4386f8b11dbe73e3e0b1e31
2025-03-12 06:14:02 +01:00
Huihong Luo
22715f6ef6 hwc: sync with new API to start HDCP
When SurfaceFlinger detects a secure surface, it can call this
api to inform HWC to start HDCP negotiations.

Bug: 369161085
Test: manual
Change-Id: I08bd7180dd0a557826a496be02a949321f064779
2025-03-12 06:13:56 +01:00
Brian Lindahl
98e6bb171b Add unsupported stubs for IComposerClient getMaxLayerPictureProfiles
Bug: 337330263
Test: build
Change-Id: I53135d1d8dc7e19b59add134bd4e61db5fdd60b4
2025-03-12 06:12:49 +01:00
Tim Zimmermann
f93278cec0 s5e8825: Configure brightness nodes
Change-Id: I368e3bf6fb17dcbc01ce682029b5b1cefefb8554
2025-02-01 12:48:39 +01:00
Tim Zimmermann
e50b87149f s5e8825: Adapt to S5E8825
Change-Id: I72f9aa75263308346ed23fd46fd84b5237e7d8a0
2025-02-01 12:48:39 +01:00
Tim Zimmermann
a28ae79965 graphics: Initial s5e8825 support
* Copied from s5e9815

Change-Id: I9b0d135bfc89b59e83677e5351c13dfb719be483
2025-02-01 12:48:37 +01:00
Stricted
672d350d6d graphics: convert libhwc2.1 and hwc3 to bp
Change-Id: Id3c12d33625d917f4ea6336195980a2b2d12a472
2025-01-19 08:33:59 +01:00
Ying Wei
a65c839acc Pixel HWC3-V3 Implementation for two new APIs in V3
Test: atest VtsHalGraphicsComposer3_TargetTest
BUG: 287518204
Change-Id: Ib9cc04850981cac2306df94f9cfde97fe15b3c2c
2025-01-18 19:16:52 +01:00
Stricted
00c0490f4d libdrmresource: convert to bp
Change-Id: I0903424d2b11a024ca7be4715bbd17aa228a7390
2025-01-18 19:16:52 +01:00
Stricted
f5663749f6 legacy_libgscaler: convert to bp
Change-Id: I620d3122160c93d89841fabcd0061f1e7abc47f2
2025-01-18 19:16:52 +01:00
Stricted
72b602c3dd graphics: combine libscaler and legacy_libscaler into a single target
Change-Id: I022ad5e1590de1f1423ffaf6b67cd390c794238c
2025-01-18 19:16:52 +01:00
Stricted
29244e5f68 memtrack: convert to bp
Change-Id: Ie8273ad593b5045e8c1dfcce3637d34fa77ccc13
2025-01-18 19:16:45 +01:00
Stricted
2b89d0dcc7 graphics: convert libscaler to blueprint
Change-Id: I761ebf1bd711f951662717bea5b32917731a8609
2024-11-25 19:28:25 +01:00
Stricted
daa1df0e2f libhwjpeg: drop guard version for constructor
* troika/kane need the new constructor but none of the other changes that come with >=11
* also guard the AppMarkerWriter changes as they also cause issues on kane/troika

Change-Id: I69915574001a6ac1b0904002b893aa0fd33e36ae
2024-11-25 11:46:18 +01:00
borbelyvince
69131b10df Convert giantmscl to soong
Change-Id: I31738aa70c69eb7e1ecd30861dffbe056a1716d1
2024-11-25 10:04:55 +01:00
borbelyvince
d002992d41 Convert libhwjpeg to soong
Change-Id: Ic48a9393c77937dffe5fec0041578258169956b4
2024-11-25 10:02:06 +01:00
Nolen Johnson
d09d674deb Revert "base: Convert libgiantmscl to Blueprint"
This reverts commit 9d129e62e6.

Reason for revert: CFLAG handling is more complex than anticipated.

Change-Id: I7c8f01e9d89a9aec55109b8c97b45162fbb1ff63
2024-11-23 20:33:17 +00:00
Nolen Johnson
9d129e62e6 base: Convert libgiantmscl to Blueprint
Change-Id: I70d94e26e380a3cf0306520785b6ceba6143eea9
2024-11-20 12:55:02 -05:00
Tim Zimmermann
cbf1cc3029 Revert "libhwc2.1: Allow forcing CLIENT composition for bootanimation"
This reverts commit c8d290c932.

Reason for revert: Google finally fixed the issue in skiaglthreaded.

Change-Id: Id07a664e8c74a2d401297865c3b91e239c041abb
2024-06-22 06:30:58 +02:00
Rocky7842
9b677a34d3 exynos9830: Use size of product_layerAttributePriority[0] instead of uint32_t
* Fix: expression does not compute the number of elements in this array; element type is 'const size_t' (aka 'const unsigned long'), not 'uint32_t' (aka 'unsigned int')

Change-Id: Ic5447e1deb3fee89de014afa8094309a9a843ecf
Signed-off-by: Francescodario Cuzzocrea <bosconovic@gmail.com>
2024-04-27 11:46:20 +02:00
Tim Zimmermann
2e4ad28fca libhwc2.1: Address implicit capture of 'this' warnings
Change-Id: Ieed7410e466cc7a58f5d17fe8f1ad7b2270a5add
2024-04-27 11:46:20 +02:00
Wiwit Rifa'i
6239733b82 hwc3: call present again if no changes after validate
In PresentOrValidateDisplay, SF expects HWC to either already call
presentDisplay or just call validateDisplay. If HWC fallback to
validateDisplay and there's no change, we should call
presentDisplay directly to reduce unnecessary binder transaction.

Bug: 295447985
Test: scrolling youtube and check traces
Change-Id: I7195ede2a4915f63114bbedad5e768debfb6d4dd
2024-04-27 11:46:20 +02:00
Leo Chen
3d52c585b1 libhwc2.1: enable thread safety analysis for libdrmresource
Add -Wthread-safety compilation flag and fix the build break.

Bug: 285487960
Test: Build pass
Change-Id: I78ec84779aedfa2b8943c8266d43e7a41d54cbb6
Signed-off-by: Leo Chen <yinchiuan@google.com>
2024-04-27 11:46:19 +02:00
Leo Chen
edc5b0717d libhwc2.1: enable thread safety analysis
Add -Wthread-safety compilation flag and fix the build break.

Bug: 285487960
Test: Build pass
Change-Id: Id5314c7c14a2c24ab2dedddd424a895945fb355c
Signed-off-by: Leo Chen <yinchiuan@google.com>
2024-04-27 11:46:19 +02:00
Leon Scroggins III
4083edb9ae Remove references to MULTI_THREADED_PRESENT
This feature isn't yet used, so remove it until we actually use it in
the next release.

Bug: 274954820
Test: make
Change-Id: I960b3cce292e07b3b7e601e2bdd5019acf34dafc
2024-04-27 11:46:19 +02:00
Midas Chien
1d48375156 Update IComposer to V2
Bug: 271221392
Test: run vts -m vts_treble_vintf_vendor_test
Change-Id: Icedbf13d591a14caba7eecf61c7b7b50a348af9a
2024-04-27 11:46:18 +02:00
Midas Chien
953fc62b01 libhwc2.1: don't check SKIP_VALIDATE in HWC3
SKIP_VALIDATE is deprecated in HWC3, so we don't need to check it when
executing PresentOrValidateDisplay.

Bug: 271531314
Test: scroll
Change-Id: Iebc97333d773943a3c89b1756743d0459c66129d
2024-04-27 11:46:18 +02:00
ramindani
67a29f1ced [HWC3] native implementation for
setRefreshRateChangedCallbackDebugEnabled
Add onRefreshRateChangedDebug

Test: Device boots
BUG: 202734676
Change-Id: I079e13fcf2bd0872c8f29468fc2ef311b9774d10
2024-04-27 11:46:17 +02:00
Kriti Dang
a2c3c9a7c6 Update setHdrConversionStrategy to return the preferredHdrOutput type
Bug: 268336382
Test: m
Change-Id: I790733b9fcdb5e4c4724a512528023a3daa95a53
2024-04-27 11:46:17 +02:00
Petri Gynther
90ae74a721 HWC: unify Android log tags
Use "hwc-" log tag prefix for all HWC subcomponents.

Bug: 266842425
Test: boot to home, check logcat logs
Change-Id: I25efdf56da4c9de6ccbced641c952b1c550bdd50
2024-04-27 11:46:17 +02:00
Kriti Dang
4725527352 Add HDR output control APIs implementation in hwc3
Bug: 251168514
Test: m
Change-Id: I95710e1a0a1caed2974520ae2b61eafafa2d3cf2
2024-04-27 11:46:16 +02:00
Wiwit Rifa'i
4077f83a42 hwc3: add display param to function traces and debug logs
To support debugging and tracing for multi-displays, it would be easier
if we include the display parameter in function traces and debug logs.

Bug: 245533789
Test: Perfetto trace and logcat
Change-Id: I783937175ff1de84d7139acba04676fa31408cc8
2024-04-27 11:46:16 +02:00
joenchen
ade9221670 hwc3: Primary displays supports MULTI_THREADED_PRESENT
After primary displays supports this capability, SurfaceFlinger can run
executeCommands(presentDisplay) for this display concurrently with other
displays with the same capability.

[Linux4: Adapt to linaro T BSP]

Bug: 247074458
Test: switch applications
Change-Id: I55c4fe2d38f412f0e98b46502a99c90943cefbcc
2024-04-27 11:45:51 +02:00
joenchen
c15ea88301 hwc3: Make the ComposerCommandEngine as local variable
A race condition exists because HWC uses only one
ComposerCommandEngine::Writer for all displays.
The writer takes responsibility to package AIDL functions’ return
values and deliver the package to SF. When a thread is packaging
the return value of the inner display by Writer, another
thread may call Writer::reset() for the outer display.

Bug: 247074458
Test: switch applications
Change-Id: I7393bd6d01008b09ac4f4a733fc7d024aaf05352
2024-03-26 06:52:29 +01:00
Sally Qi
63771b2a07 hwc3: Add getOverlaySupport()
Bug: 242588489
Test: atest VtsHalGraphicsComposer3_TargetTest
Change-Id: I505a76213549c3ff613c93c707cd01777801455d
2024-03-26 06:52:29 +01:00
David Marble
5b69c7ab24 graphics: use Strings8/16 c_str() and empty()
.string() and .isEmpty() don't work in QPR2.

Change-Id: I8a903e8b5466adcb9c7b53ab7a4ebd8c02ef330e
2024-03-25 20:38:05 +00:00
Francescodario Cuzzocrea
cd29acb7ce exynos9830: drop setPerformanceSetting()
* this function is used to send a VIDEO_DECODE hint to power HAL,
   however VIDEO_DECODE hint has been deprecated after power hal HIDL
   version 1.0
 * Digging into linaro sources, what stock power hal was doing on this
   hint was to set the property vendor.light.video.status to 1
 * We do not use HIDL power hal anyway on AOSP/Lineage as we are using
   the AIDL libperfmgr one based on top of the pixel one

Change-Id: I4103bdab560848a2df9c9ca63489712ebbd44386
Signed-off-by: Francescodario Cuzzocrea <bosconovic@gmail.com>
2024-02-29 21:02:20 +01:00
David Marble
81e9ec977a samsung_slsi-linaro/graphics: guard with a namespace (4/6)
Change-Id: I7e8a39fb6303aefe31eab277c056b6d7549d285e
2024-02-25 16:23:28 -06:00
Francescodario Cuzzocrea
dc31acbd69 base: hwcomposer_property: properly define bsp properties with ro.vendor
Change-Id: I3a97771e3980db6755197c9f2d1518d677f5693e
Signed-off-by: Francescodario Cuzzocrea <bosconovic@gmail.com>
2024-02-17 10:42:43 +01:00
Francescodario Cuzzocrea
8422b44978 fixup! hwc3: Update HalImpl for T BSP
Change-Id: I9d203563fecbb615a0c5bfee37b78a396ea42a39
Signed-off-by: Francescodario Cuzzocrea <bosconovic@gmail.com>
2024-02-11 12:08:29 +01:00
Francescodario Cuzzocrea
c5f00b50fd fixup! graphics: Support EXYNOS_SET_DISPLAY_MODE ioctl
* keep style consistent with general bsp one
 * also pass to kernel driver information about groupid

Change-Id: I1dcc7f93d08ff6bc238d9a21b86a668765f6ff0c
Signed-off-by: Francescodario Cuzzocrea <bosconovic@gmail.com>
2024-02-11 12:07:56 +01:00
Francescodario Cuzzocrea
b1542b6848 exynos9830: switch to EXYNOS_SET_DISPLAY_MODE
Change-Id: Iba810e02244f30e4f1ce0766c39a166f515125a5
Signed-off-by: Francescodario Cuzzocrea <francescodario.cuzzocrea@dorbit.space>
2024-02-11 12:07:34 +01:00
Francescodario Cuzzocrea
abed4a8237 exynos9830: update brightness paths
Change-Id: If974b9eb7968fbcf1ae2723f0e9fb3a654bea925
Signed-off-by: Francescodario Cuzzocrea <bosconovic@gmail.com>
2024-02-11 12:07:13 +01:00
K9100ii
4fe7a4edf4 graphics: base: Import lib[g]scaler from Android 10 BSP sources
as legacy_libscaler and legacy_libgscaler and put them behind a flag,
BOARD_USES_LEGACY_LIBSCALER.

The new libscaler heavily depends on libacryl. On some older devices,
which will be relevant when HWC1 support will be brought back, libacryl
isn't used, and when it is present, it's just there as a dummy blob
without a scaler/compositor/blter set as per decompilations, and
attempts at setting them and trying to use libacryl in any real way
don't work. The old libscaler remains relevant to them and properly
working.

Also, on 7885/7904 devices with the new libscaler, after ending a screen
recording:
 libacryl: Failed VIDIOC_S_FMT .type=10, .width=1008, .height=2160, .pixelformat=0x34424752 [Inappropriate ioctl for device]
This error doesn't occur with the old libscaler.
Note also that the libacryl config (scaler/compositor) matches stock
blobs as per decompilations, and it otherwise works.

As for libgscaler, Android 10 and older camera blobs depend on it, and
later on, when again also bringing back HWC1 support, it will also
depend on it.

Change-Id: Id0f159504c08821328e6cdf1daae61b2e590cbc1
2024-02-11 12:07:10 +01:00
K9100ii
8c440e9576 libhwjpeg: Add backwards compatibility with older camera blobs
Mostly taken from ee3cca2db4

Change-Id: I9be74d6ff4df3384cf1452bad9e47d61d53f8259
2024-02-11 12:06:59 +01:00
K9100ii
52826dad83 graphics: Add exynos7885(/7904) configuration
Based on the exynos3830 configuration.

This configuration seems to work perfectly fine, with no issues to speak
of.

Change-Id: Ida005e220c231e90c9b2e2699d3c4715185b9aaa
2024-02-11 12:06:46 +01:00
Long Ling
85bf28f8de libhwc2.1: do not return invalid release fence
Bug: 206117357
Change-Id: Ib2768636c073dc88bf27613a3e63842a385861f0
2024-01-02 20:06:07 +01:00
Midas Chien
c28e12bcaf libhwc2.1: set taskprofiles for hwc binder threads
Add hwc threads that ever handled present display into SFMainPolicy
task profiles group.

Bug: 194533502
Test: check effective uclamp.min
Change-Id: I51723cc5e39bccb2c9df4c9e5b21ee1fbd55cf01
2023-12-24 06:22:22 +01:00
Tim Zimmermann
c8d290c932 libhwc2.1: Allow forcing CLIENT composition for bootanimation
* As a workaround to bootanimation lags with skiaglthreaded renderengine

Change-Id: Idcb3a8a6cb5707945c55bf20ccf457b2461feb23
2023-12-24 06:22:19 +01:00