Commit Graph

1284 Commits

Author SHA1 Message Date
Linux Build Service Account
269e170176 Merge "hwc2: Avoid overwriting metadata refresh rate." 2018-03-23 02:17:57 -07:00
Linux Build Service Account
6c69928b05 Merge "sdm: color transform support for HDR playback" 2018-03-23 02:17:54 -07:00
Pullakavi Srinivas
5d3d866c02 hwc2: Avoid overwriting metadata refresh rate.
-- Compute sanitized metadata refresh rate.
-- Populate display's operating refresh rate to all
   the layers that donot support metadata refresh rate.

Change-Id: Iaf17e4e10da543e110fcf6ba7648d60807069f98
2018-03-22 07:17:18 -07:00
Ch Ganesh Kumar
918d5d96e8 sdm: color transform support for HDR playback
In HDR playback case, colortransform is not applied, if it was set already.
This change will help restore color transform for HDR playback.

Change-Id: I3cf6f9eb7c5632e8622ccec2c0c40e3b51e8ad9b
2018-03-22 06:50:49 -07:00
Uday Kiran Pichika
2cc9fa6c87 sdm: comply with treble guidelines
Modify the property names and use macros in place of them

CRs-Fixed: 2206249
Change-Id: I0ccc09fc8335560654e487e78552f79ff7a083de
2018-03-20 21:43:26 -07:00
Linux Build Service Account
0393b82b62 Merge "sdm: comply with treble guidelines" 2018-03-16 15:38:31 -07:00
Linux Build Service Account
391c797d62 Merge "sdm: Fallback on scRGB layers" 2018-03-15 16:51:51 -07:00
Linux Build Service Account
11142edc2d Merge "sdm: Merge release fence after set power mode" 2018-03-14 19:56:08 -07:00
Naseer Ahmed
b653d0a759 sdm: Fallback on scRGB layers
We don't know how to handle blending when scRGB layers show up.
Fallback entirely to GPU.

Bug: 72125973
Change-Id: Ib01ac0c920bd34f011f0a4d3e76e71d4c7b036e2
2018-03-14 18:27:47 -07:00
Linux Build Service Account
a448113e2e Merge "sdm: Fix refresh seqeunce for QDCM solid fill color" 2018-03-14 09:24:26 -07:00
Uday Kiran Pichika
89c36f4fa8 sdm: comply with treble guidelines
Modify the property names and use macros in place of them

CRs-Fixed: 2206249
Change-Id: I5ae790ca62a258b0d7c14931e0132727feed48a3
2018-03-14 21:11:44 +05:30
Linux Build Service Account
78378f4871 Merge "hwc: Reset stack invalidation state after Prepare" 2018-03-12 21:15:46 -07:00
Linux Build Service Account
c836e192d6 Merge "sdm:hwc2: Initialize color mode count for virtual display." 2018-03-12 18:58:37 -07:00
Linux Build Service Account
1d487729ca Merge "sdm: Drop HW VSYNC in min FPS state." 2018-03-12 18:58:36 -07:00
Linux Build Service Account
8a81ea7b6c Merge "hwc2: Set validated flag when layer stack is empty." 2018-03-12 18:58:34 -07:00
Namit Solanki
5917a0e09a sdm: Drop idle timeout event if refresh is in progress.
- Drop idle timeout event if it occurs between prepare()
  and commit() i.e. device is not really in idle state
  since a new refresh cycle has already started.

Change-Id: If66353ac38bd3a5463fb7fa002e61fb8ed7c80d8
CRs-Fixed: 2181941
2018-03-12 07:36:26 -07:00
Pullakavi Srinivas
b7663cc85c sdm:hwc2: Initialize color mode count for virtual display.
CRs-Fixed: 2194718
Change-Id: I33df8b1b81d98d24dcbc7d013b9ff9cee59c3e94
2018-03-12 07:28:49 -07:00
Namit Solanki
17cd7b8ac4 sdm: Drop HW VSYNC in min FPS state.
-Do not send HW VSYNC to SF in min FPS state
 until a commit is received. If HW VSYNC is
 sent to SF in min FPS state, this cause SW
 VSYNC in SF to first adjust to min FPS
 initially, and then after commit SW VSYNC again
 adjusts to max FPS.

Change-Id: I47ec673e68c4eae643103ebfb2009fb96f6934f3
CRs-Fixed: 2192683
2018-03-12 07:25:46 -07:00
Ramakant Singh
c3a7a86a81 hwc2: Set validated flag when layer stack is empty.
Change-Id: I4d782deb55637df6599b017d118c204db35af5c6
CRs-Fixed: 2192760
2018-03-12 07:20:48 -07:00
Saurabh Shah
91438203cc hwc: Reset stack invalidation state after Prepare
Currently stack invalidation state is reset in BuildLayerStack().
However, hw_layers_ are reset only in PrepareLayerStack(). If a
draw cycle with 0 app layers happens PrepareLayerStack() is not
called, this causes a mismatch in hw_layers_'s reference to layer
stack and actual layer stack. This change clears the stack
invalidation state only in PrepareLayerStack() and bails out of
dump(). Long-term stack duplication is necessary to avoid these
issues.

Change-Id: I2b630556515456317ca20079c3a5623f89c4033f
CRs-fixed: 2185297
2018-03-12 03:12:26 -07:00
Ramkumar Radhakrishnan
f6ba3065c2 sdm: Merge release fence after set power mode
On SetPowerMode() with retain pipes, DRM driver triggers the kick off
that enables MDP to read the previously queued buffer, Since the fence
created during SetPowerMode() is not merged with the previously queued
buffer, it may result in tearing. Hence get the release fence from
driver on SetPowerMode and propagate it to hwcomposer to merge it with
the previous release fence of all layer buffers to avoid tearing.

Change-Id: I81c078a1b05dd3fb34f10b9b70e25cfbcfabd117
CRs-Fixed: 2184515
2018-03-12 02:58:06 -07:00
Linux Build Service Account
45609e11e3 Merge "HWC: Set skip to layers with Non Integral Source Crop." 2018-03-09 17:25:40 -08:00
Linux Build Service Account
ecc9fcd1cc Merge "sdm: hwc2: Update HDR blend color space in SDM layer stack" 2018-03-09 12:52:15 -08:00
Linux Build Service Account
883e21e4db Merge "sdm: drm: Add PA dither feature support" 2018-03-09 12:52:13 -08:00
Pullakavi Srinivas
e05694e230 HWC: Set skip to layers with Non Integral Source Crop.
HWC modifies Source Crop to floor and ceil based to LT and RB
respectively. This can result in flicker if there is switch in
Composition between MDP and GPU. Instead mark the layer as skip.

Change-Id: I35d9461d2db44c9d9b4402b17c44a569e1f705c9
Source: I2f7a62fbf5ae2a0c0d13f15118b053afbabf99c8
CRs-Fixed: 2143554
2018-03-09 02:32:06 -08:00
Linux Build Service Account
af258e6e07 Merge "sdm: Handle disable partial update and display config change" 2018-03-08 16:02:07 -08:00
Linux Build Service Account
7b017ba612 Merge "sdm: drm: Add support for global dither feature" 2018-03-08 16:02:06 -08:00
Linux Build Service Account
4d490535e9 Merge "sdm: Set inline rotator prefill bw property to driver" 2018-03-08 16:02:04 -08:00
Linux Build Service Account
b2419c168c Merge "hwc2: Fix interlace flag setting to SDM layers" 2018-03-08 16:02:03 -08:00
Linux Build Service Account
139bc89cf9 Merge "hwc2: avoid flush on command mode with secure display" 2018-03-08 16:02:02 -08:00
Linux Build Service Account
57b0193d86 Merge "sdm: Add support for secondary vsync" 2018-03-08 13:15:48 -08:00
Linux Build Service Account
08282814e4 Merge "hwc2: Flush while destroying external display." 2018-03-08 13:15:47 -08:00
Linux Build Service Account
cb7c90c76b Merge "sdm: Add support to change minimum encription level for hdcp" 2018-03-08 13:15:46 -08:00
Ramkumar Radhakrishnan
f5d101a6e3 sdm: Handle disable partial update and display config change
1. Disable PU for one frame on any display state change.
2. Trigger invalidate on SetActiveConfig() and set the display config
   as a part of draw cycle

Change-Id: Iffb64fb5d3af038f7d777382fdfdb5b8914fb6b5
CRs-Fixed: 2151067
2018-03-08 02:54:31 -08:00
Gopikrishnaiah Anandan
5588484573 sdm: drm: Add support for global dither feature
This change adds support for global dither v1 feature.

Change-Id: I8911e2c422e7a6b7c07276cda8fca0c3c8b5ce81
2018-03-08 02:50:49 -08:00
Gopikrishnaiah Anandan
12ecb0dc80 sdm: Fix refresh seqeunce for QDCM solid fill color
Calibration tool issues binder call to display solid fill color onto
screen for calibration. Acquire scope lock to ensure that there is no
race condition between binder thread and display thread w.r.t solid fill
color. Block the solid fill binder call with a delay to ensure that
solid fill color is displayed.

Change-Id: Ic0ee320e24dc662213531362b124ff7bbfdf4309
2018-03-08 02:48:23 -08:00
Sushil Chauhan
4ccc0d46ac sdm: hwc2: Update HDR blend color space in SDM layer stack
Update the ColorPrimaries and Transfer of HDR blending color space
in SDM layer stack.

CRs-Fixed: 2167954
Change-Id: I0298ebb004e658fda1e12603d49086129473e53d
2018-03-08 02:39:24 -08:00
Ramkumar Radhakrishnan
b9f535546a sdm: Set inline rotator prefill bw property to driver
Change-Id: Ie775db54ef2c254f670ad072c51b1daf18cd9786
CRs-Fixed: 2158709
2018-03-08 02:32:41 -08:00
Saurabh Shah
2d17974a41 sdm: Add support for secondary vsync
Add support for enabling secondary vsync

Change-Id: Ia2231a19292314513d613efbb6953b1943530af0
CRs-fixed: 2184506
2018-03-08 02:27:53 -08:00
Ramkumar Radhakrishnan
8eb29de029 hwc2: Fix interlace flag setting to SDM layers
Read interlace flag from metadata of layer buffer and propagate it to
SDM layers appropriately.

Change-Id: I2f91f89ab462581ba6bc76f6881a5e7bf139ff28
CRs-Fixed: 2181284
2018-03-08 02:22:25 -08:00
Rajavenu Kyatham
da3000d1b8 hwc2: avoid flush on command mode with secure display
- set validate if layer stack is empty,
  to support flush.

Change-Id: I937b6346617bb25a49aa93b10b85da66ec6753d4
CRs-fixed: 2185452
2018-03-08 02:20:35 -08:00
Rajavenu Kyatham
f86f7947e4 hwc2: Flush while destroying external display.
- On external display, outstanding fences are not
  signaled during destroy. They get signaled only on
  drm_release and drm_release happen in composer restart.
  So need to flush external before destroying.

CRs-fixed: 2187232
Change-Id: I0a7f029237cb0d8015904565c0755731a7b27212
2018-03-08 02:17:45 -08:00
Ramkumar Radhakrishnan
a5ca6e36f8 sdm: Add support to change minimum encription level for hdcp
Change-Id: Ibb047ad1e4e27d3f154ce7d8179a31de0d147dea
CRs-Fixed: 2186894
2018-03-08 01:40:22 -08:00
Xu Yang
eea0b779fc sdm: drm: Add PA dither feature support
Add Dspp PA dither feature support to HWColorManagerDrm for drm.

Change-Id: Id59bba2aba3f0054b3a48e1970541686d7ba0bdc
2018-03-07 22:34:45 -08:00
Naseer Ahmed
56c571fbe0 display: hwc_buffer_allocator fixes
Fixes an issue where the HWC init randomly blocks on the
allocator init by doing a lazy initialization of the allocator
object. The allocator may not have fully initialized at HWC init.
Also, increases the allocator connection threadpool to 4.

Change-Id: I38454ee25aaf2a211125e55297300eac754fb5cf
CRs-Fixed: 2201202
2018-03-07 18:25:19 -05:00
Naseer Ahmed
04a804a8f1 display: Use log.h from VNDK
Change-Id: I8aa8566036a44b1587f5cfe6c745e11a3dd19481
2018-03-06 20:41:14 -05:00
Linux Build Service Account
b1c29b379a Merge "hwc2: hidl: Remove _vendor from display config" 2018-03-02 22:43:26 -08:00
Naseer Ahmed
ea4a9984db hwc2: hidl: Remove _vendor from display config
Change-Id: I7e0358ee4789ce6595da51ab3a47b0e65c8676d8
2018-03-02 11:30:07 -05:00
Gousemoodhin Nadaf
7dab1c1e76 sdm: Use monotonic clock in HAL
gettimeofday() function returns wall clock time which can change if the
time is updated using NTP etc. Use clock_gettime() function to get
monotonic clock time to safely and reliably measure elapsed time in
a program.

CRs-Fixed: 2190449
Change-Id: Icc7e470b6427db58837473039d0537748de5b2aa
2018-02-27 02:46:17 -08:00
Srinivas Rao Narne
6f3e3f2e42 Remove Unused Variable to Fix Compilation Error
Change-Id: I5bd784dd9ebbd1905fb0727bf69fd2f6cbb00e36
2018-02-26 15:50:06 -08:00