Age | Commit message (Collapse) | Author |
|
Fixes "error: variable has incomplete type 'struct epoll_event'"
Change-Id: I7e21e5aa176e01142d580fac85d956c333b0c52d
|
|
Change-Id: If1b72ad7b36d658bc85587bbea6caf85e520519d
|
|
This is partial revert of ag/23598344. This will fix power regression
& disappearing cursor issues caused by that patch.
In ag/23598344, we didn't set mGeometryChanged if the composition
is changed back to the original composition (initially set by
setLayerCompositionType()) after falling back to client composition in
the previous frame. But, it causes some regressions, e.g. power jump
and disappearing cursor issues.
Thus, this will revert to the previous behavior i.e. to always set
mGeometryChanged as dirty whenever we change mCompositionType.
Bug: 289010449
Test: v2/android-power-te/functional_media_test_suite/*
Test: Use mouse and the cursor shouldn't disappear unexpectedly
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:f6f0318b90c6e41d3d7bd456ca32a23b16399aaf)
Merged-In: If73dc0353c9e3ede93ff02e675aa879bc54287e4
Change-Id: If73dc0353c9e3ede93ff02e675aa879bc54287e4
|
|
|
|
Instead of checking (mCompositionType == REFRESH_RATE_INDICATOR), we
should check mRequestedCompositionType to check whether a layer is for
refresh rate indicator or not. This is because mCompositionType can be
changed to CLIENT when acceptDisplayChanges() is called. Thus, we should
use mRequestedCompositionType that will only be changed by
setLayerCompositionType().
Bug: 283352279
Test: refresh rate indicator can enter idle after play HDR video on YT
Change-Id: I5381157107550ed380c9671fe712285b1b53f814
|
|
When some layers fallback to CLIENT composition, mCompositionType will
be set to CLIENT during acceptDisplayChanges() since SF will update
its state according to the validated type. But, SF may revert the
requested composition back to the original composition (e.g. DEVICE),
so HWC should not consider it as a frame update if there's no other
update.
This will prevent refresh rate indicator to increase unexpectedly when
updating the refresh rate indicator but there are some layers fallback
to client composition.
Bug: 277999360
Bug: 283352279
Test: refresh rate indicator can enter idle on wallpaper & style
Change-Id: Iaa33fbad555d7a0de65d77edc2a287c8e8940dc3
Merged-In: Iaa33fbad555d7a0de65d77edc2a287c8e8940dc3
|
|
DPU driver maintains always-on histogram engine state with up to
date histogram data. Therefore we don't have explicitly to trigger
onRefresh in case histogram configuration does not change.
Test: aidl_hist_client 500 500 1000 1999 340 340 344 POST 1000000
Bug: 261376040
Change-Id: I44824ee836adb66aeb214c371a11ed350d13b069
Signed-off-by: Leo Chen <yinchiuan@google.com>
|
|
|
|
Fix potential race condition when data is received before
setHistrogramControl() returns and mHistReq_pending is set
to true.
TODO: Implement timeout for requestHist().
Bug: 261376040
Bug: 277948998
Change-Id: Idd8b191508af19f1ce9bdd63d7fdf6a39fe0bd6e
Merged-In: Idd8b191508af19f1ce9bdd63d7fdf6a39fe0bd6e
Signed-off-by: Oleg Matcovschi <omatcovschi@google.com>
|
|
Bug: 277948998
Bug: 261376040
Change-Id: I7021e0445e4b938b98eaa7dab54d5622ada2957b
Merged-In: I7021e0445e4b938b98eaa7dab54d5622ada2957b
Signed-off-by: Oleg Matcovschi <omatcovschi@google.com>
|
|
The refresh rate associated with mActiveConfig takes one or more frames
to actually becomre effective on hardware, and can't be used as reference
to decide if it's needed to set new refresh rate while toggling lhbm.
Use drm value instead, which can't be blocked by enableConfigSetting()
and takes 1 frame at most to reflect on hardware.
Bug: 280727927
Test: check udfps enrollment failure rate
Signed-off-by: Shiyong Li <shiyongli@google.com>
Change-Id: Ie2f39f73761cc6f9fe51637aa3ebf8e5d85026e5
|
|
udc-dev
|
|
|
|
HWC adds trace for setActiveConfigWithConstraints() to
show the desire time and isConfigEnabled()
Bug: 280460655
Test: run vts VtsHalGraphicsComposerV2_4TargetTest -t Per
Instance/GraphicsComposerHidlTest#setActiveConfigWith
Constraints_Delayed/0_default
Change-Id: I6796d054f463982050b48a70b9e4300d1ddc9ac4
|
|
HWC should provide each display with a respective boot property.
Considering OTA, we keep the property string for display with
id 0, and give another property string for other displays.
Bug: 282126684
Test: VTS “run vts -m VtsHalGraphicsComposer3_TargetTest -t
PerInstance/GraphicsComposerAidlTest#GetPreferredBootDisplay
Config/0_android_hardware_graphics_composer3_IComposer_default”
Change-Id: Ieb00906bdf4ad949710e3469476cab0df734b9b4
|
|
HWC service is crashed due to accessing memory which is already freed.
In destroyLayer, it only delete layer object and pointer in ExynosDisplay.
But ExynosMPP still have pointer of deleted layer object in mAssignedSource.
So when validateDisplay called, it refers the freed memory in resetAssignedState()
layer->resetAssignedResource() is added before delete layer object
so that remove layer info in ExynosMPP.
Bug: 264510390
Test: stop surfaceflinger by command "setprop ctl.stop surfaceflinger"
Change-Id: I5191ae334c7566c8fe503c06784aae0e6be1ea81
(cherry picked from commit 261c8ec1328812c2e99e9cac86c635ba875990bb)
|
|
|
|
|
|
The quota of secure memory is rare and limited. HWC should release it
once it is inused quickly. Itʼs easier to use a dedicated map to control
the life cycle of cached M2M secure buffers.
Bug: 278836996
Test: play secure video with various resolutions and rotate screen
Test: play video with various resolutions and rotate screen
Test: camera, record, chrome, AOD
Change-Id: Ic7a83773b43fcd27737ff514cf67754fdb1750d0
|
|
HWC cannot just assign a plane’s crtc from crtc-0 to crtc-1 directly,
and it must turn off the plane first
Bug: 277874775
Test: enable/disable DDC in translation app
Change-Id: I7771821fc618528f63610449c506ed93ec8a8ddc
|
|
Bug: 281630752
Test: build
Change-Id: I2366eeb95fdf5767d75944d65061af25d39c78a4
|
|
When disable unused planes, the planes which are unsupported by
CRTC should be skipped to avoid abnormal configurations.
Bug: 238373481
Bug: 263989425
Test: power on/off display
Change-Id: Ib14f03446b855d87c5f660775c6e803abb596339
Signed-off-by: YongWook Shin <yongwook.shin@samsung.com>
Signed-off-by: Petri Gynther <pgynther@google.com>
Merged-In: I627afe439e0a744532ff3aa4cf094dc4fd9d4b1d
|
|
|
|
Bug: 271818029
Test: display on/off
Change-Id: Id1de11148e988fc3c6a831c40c6fc0de42aa04b8
|
|
Add mutex lock when accessing mLayers to avoid race condition.
Bug: 271198385
Test: rr switch, AOD, video, camera
Change-Id: I50985f896883e4001ffc08a582800ebde625fe97
|
|
- set lhbm desired refresh rate at enabling lhbm and restore SF desired
one at disabling if needed.
- always notify SF with it's desired Vsync if SF's refresh rate !=
lhbm's
Bug: 250979028
Test: udfps auth with SmoothDisplay=on/off, check perfetto trace
Signed-off-by: Shiyong Li <shiyongli@google.com>
Change-Id: If011dbf12c1f979a50988cc375e74c7f53617d68
|
|
Bug: 250979028
Change-Id: I66c9fbc05b42c6376ec852ee1555b2655ea9635b
Signed-off-by: Shiyong Li <shiyongli@google.com>
|
|
|
|
In current code DTM is not required by HDR layer. It works for HDR video
because the HW layer processes video layer has the DTM stage.
This change will ensure RGB HDR layer gets tone mapped.
Bug: 266757412
Test: show and check HDR10, HDR10+ video and RGB HDR layer
Change-Id: Id1101b9b59fe267c9904c5309c36f75c1cbdddce
|
|
|
|
When go sysfs path, it does not clear brightness dirty flag.
It will apply the privious brightness via drm path.
Bug: 272629068
Bug: 272202831
Test: set brightness via HWCService cmd
Change-Id: I6d320a5a9673409bc7984eaf02d256c7048ab31e
|
|
|
|
|
|
Bug: 273397953
Test: check video comp type in camera preview, record
Change-Id: I8f020860728decbe61bd991226371c63e092ee68
|
|
The vstride alignment of HAL_PIXEL_FORMAT_GOOGLE_NV12_SP and
HAL_PIXEL_FORMAT_GOOGLE_NV12_SP_10B are changed to 16B.
Bug: 267636459
Test: build
Change-Id: Iddc291a0cdff739b74699ef7fdf8d490dd5d5ddd
|
|
udc-dev
|
|
|
|
Bug: 252764175
Test: run PoC on hwasan build
Test: run cts -m CtsMediaDecoderTestCases -t android.media.decoder.cts.HDRDecoderTest
Change-Id: I424bd4624ee7838fcdf6e40d20e0686c17c20de8
|
|
Display driver misses TE irq due to turn off vblank right after frame
updates. Keep vblank enabled for more 1ms to avoid turning off vblank
right before TE irq is triggered.
Bug: 238382809
Test: check trace about TE irq
Change-Id: Ie1891d02adc717be70cb8ef73c53b6e49e0a10ab
(cherry picked from commit 11b43f785af16507ef9583949631180a4d2e8d15)
|
|
Allow the EDID monitor descriptor to be modified so that different
panel revisions can have unique display ID's calculated.
Bug: 217472351
Change-Id: I162778e6e30b2aac872d8070ce94b90c44e0619b
Signed-off-by: Jeremy DeHaan <jdehaan@google.com>
|
|
* changes:
hwc3: add debug to trigger refresh rate indicator update
hwc3: add support for refresh rate indicator callback
|
|
* changes:
libhwc2.1: move calculateHWResourceAmount() after preProcessLayer()
libhwc2.1: fix wrong overrinding of TDM
|
|
Add new debug mechanism to trigger refresh rate indicator update event
using the vndservice command. The command is in format of
<HWC Display ID> <Refresh Rate>
Bug: 267825022
Test: vndservice call Exynos.HWCService 1011 i32 0 i32 5
Change-Id: I6b81004e0fae0777d215914ec158988361bce57e
|
|
This will add support in HWC to expose the refresh rate in panel to SF
using HWC3 callback API so that SF can update the refresh rate overlay
indicator to the actual refresh rate in the panel. HWC will monitor the
panel refresh rate based on some sysfs nodes.
Bug: 267825022
Test: enable refresh rate indicator, wait for idle, AOD
Change-Id: Ibc80d66eae6b21c3cf84d35fa819e97ccc509ede
|
|
SKIP_VALIDATE is deprecated in HWC3 and it is not used by SF in U. It
should be considered enabled by default. Start from HWC3, don't add
SKIP_VALIDATE to the capability list and change code to support it by
default.
Bug: 270479799
Test: VtsHalGraphicsComposer3_TargetTest
Test: VtsHalGraphicsComposerV2_4TargetTest
Change-Id: I30979e56b8be96c6478e5ceaadfbc1145537e804
|
|
- block refresh rate switching before enabling LHBM and unblock after
disabling.
- set 1 second timeout to unblock in case disabling action is not
called on time somehow.
Bug: 268991972
Test: lock/unlock screen by fingerprint
Change-Id: I5703d89ca8482a3ff7b70795705ac01fd3c2b8d2
Signed-off-by: Shiyong Li <shiyongli@google.com>
|
|
This reverts commit f87ab4e4b8b0f97e50ae34ada3a048ba08d5aeea.
Bug: 268991972
Change-Id: Iba217f322594360f29553aa693efdaaacafaa34c
Signed-off-by: Shiyong Li <shiyongli@google.com>
|
|
This reverts commit ed3e3da84aa70c356ea5a469b2543b8f6b7b5f69.
Bug: 268991972
Change-Id: Ideb7eb81c7693b3800abefe8171515617fca8171
Signed-off-by: Shiyong Li <shiyongli@google.com>
|
|
This reverts commit 334e1fee2f8204c8b30714291d60c19077e6df9f.
Bug: 268991972
Change-Id: Ie0d344821b407ca0c3896dc5dc2a4f6afdf68eaf
Signed-off-by: Shiyong Li <shiyongli@google.com>
|
|
The calculateHWResourceAmount's original place does not have ExynosImage
size information yet, so its calculation for scaling/rotation is wrong.
calculateHWResourceAmount() should be moved after preProcessLayer(), and
it needs to call setExynosImage() to ensure the correct scaling/rotation
calculation.
Bug: 191421040
Test: test multiple scaling/rotation layers by hwc-tester
Change-Id: I286f74592889f57f0ec9e603efb99ee1d9381887
|