Commit Graph

53447 Commits

Author SHA1 Message Date
Robert Shih
2a7a1247cb IGraphicBufferProducer: fix QUEUE_BUFFER info leak am: d06421fd37 am: 413318311c am: dc9ec35294 am: 9d959e2755
am: edb7c81a1b

* commit 'edb7c81a1b99d2456910b03db9e4ac250eac2fab':
  IGraphicBufferProducer: fix QUEUE_BUFFER info leak
2016-01-15 01:52:25 +00:00
Robert Shih
c5cb7c489b IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am: dded8fdbb7 am: 7ee203b59d am: dc252255af am: 202aaa8f97
am: ec87aa5218

* commit 'ec87aa52189d5d3bbf5df214ab099d5de9f5836c':
  IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
2016-01-15 01:50:22 +00:00
Robert Shih
edb7c81a1b IGraphicBufferProducer: fix QUEUE_BUFFER info leak am: d06421fd37 am: 413318311c am: dc9ec35294
am: 9d959e2755

* commit '9d959e275561bcace3aab1f9df009c6c880003fa':
  IGraphicBufferProducer: fix QUEUE_BUFFER info leak
2016-01-15 01:50:22 +00:00
Robert Shih
ec87aa5218 IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am: dded8fdbb7 am: 7ee203b59d am: dc252255af
am: 202aaa8f97

* commit '202aaa8f97083b68c0a736f4cd432f61c9b0989d':
  IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
2016-01-15 01:48:17 +00:00
Robert Shih
202aaa8f97 IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am: dded8fdbb7 am: 7ee203b59d
am: dc252255af

* commit 'dc252255af835bb3a69bc9a0d01da12419c0fc05':
  IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
2016-01-15 01:45:18 +00:00
Robert Shih
9d959e2755 IGraphicBufferProducer: fix QUEUE_BUFFER info leak am: d06421fd37 am: 413318311c
am: dc9ec35294

* commit 'dc9ec35294b8ec6b6c349b826edc9b44f4ddb96d':
  IGraphicBufferProducer: fix QUEUE_BUFFER info leak
2016-01-15 01:45:18 +00:00
Robert Shih
dc252255af IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am: dded8fdbb7
am: 7ee203b59d

* commit '7ee203b59d9a74d485ce2fdfd07e96b2d10ff23b':
  IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
2016-01-15 01:43:05 +00:00
Robert Shih
dc9ec35294 IGraphicBufferProducer: fix QUEUE_BUFFER info leak am: d06421fd37
am: 413318311c

* commit '413318311c8cc356dd7e0837ce26e937a9f4c56a':
  IGraphicBufferProducer: fix QUEUE_BUFFER info leak
2016-01-15 01:38:56 +00:00
Robert Shih
413318311c IGraphicBufferProducer: fix QUEUE_BUFFER info leak
am: d06421fd37

* commit 'd06421fd37fbb7fd07002e6738fac3a223cb1a62':
  IGraphicBufferProducer: fix QUEUE_BUFFER info leak
2016-01-15 01:27:23 +00:00
Robert Shih
7ee203b59d IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
am: dded8fdbb7

* commit 'dded8fdbb700d6cc498debc69a780915bc34d755':
  IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
2016-01-15 01:26:59 +00:00
Prashant Malani
b5458e3baf Revert "inputflinger: Initial support for rotary encoders."
am: d983fd11d4

* commit 'd983fd11d4a00b03f92d09f32c08840e66d90777':
  Revert "inputflinger: Initial support for rotary encoders."
2016-01-13 18:44:11 +00:00
Prashant Malani
cd7ddc7cac Revert "inputflinger: Add support for scaling and true value reporting"
am: 2c09b78656

* commit '2c09b78656dd97727f94fada81845b133cf142f3':
  Revert "inputflinger: Add support for scaling and true value reporting"
2016-01-13 18:44:02 +00:00
Prashant Malani
d983fd11d4 Revert "inputflinger: Initial support for rotary encoders."
This reverts commit ac72bbf4e4.
2016-01-13 01:00:25 -08:00
Prashant Malani
2c09b78656 Revert "inputflinger: Add support for scaling and true value reporting"
This reverts commit ee03865fe5.
2016-01-13 01:00:08 -08:00
Prashant Malani
a777e8b70f inputflinger: Add support for scaling and true value reporting
am: ee03865fe5

* commit 'ee03865fe5fc6ffe9deda0e0870a18206027cfaf':
  inputflinger: Add support for scaling and true value reporting
2016-01-13 05:33:57 +00:00
Prashant Malani
ee03865fe5 inputflinger: Add support for scaling and true value reporting
-1/+1 somewhat simplifies the values that can be generated by rotary
encoders, and rules out the possibility of batching and more nuanced
movement reporting.

So, we modify the device configuration to allow values other than -1 and
1 to be supported. In order to give the developer a sense of what these
values map to in terms of angular displacement, we also parse a
resolution configuration from the devices IDC file.

This will be specified as:

device.res = xxxx

of type float. If a value is not provided, a default res value of 0.0f
is used.

This patch also adds a per device scaling factor, which is used to
suitably modify the values reported (as well as the resolution) to tune
the input events generated and resulting UI according to the hardware.
This can be specified in the IDC file as:

device.scalingFactor = xxxx

of type float. If a scaling factor is not provided, a default of 1.0f
is used.

Bug: 22836852
Bug: 18707397
Change-Id: I13686f64de1b52d3f6c97b2587ae41e52d1db6e2
2016-01-11 17:37:38 -08:00
Robert Shih
d06421fd37 IGraphicBufferProducer: fix QUEUE_BUFFER info leak
Bug: 26338109
Change-Id: I8a979469bfe1e317ebdefa43685e19f9302baea8
2016-01-11 16:33:17 -08:00
Robert Shih
dded8fdbb7 IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
Bug: 26338113
Change-Id: I019c4df2c6adbc944122df96968ddd11a02ebe33
2016-01-11 11:47:42 -08:00
Abhisek Devkota
8af4e664d9 Revert "Revert "gui: only support tertiary display if QTI_BSP is defined""
This reverts commit fd95bb1c24.

Change-Id: I0acbd3a8ba91f33e1ad60b14093101811683e04f
2016-01-09 17:50:43 -08:00
Arun Kumar K.R
c86c815f74 SurfaceFlinger: Move Extended SF classes to same repository
Move the ExSurfaceFlinger, ExLayer, etc., classes to this
repository, to avoid dependency accross projects with static
linking

The following commits are included in this:
commit 04f501b31f627e47ae540b5160b2f86b7adbd921
Author: Baldev Sahu <bsahu@codeaurora.org>
Date:   Wed Nov 25 18:05:51 2015 +0530

display-fw: Properly initialise mIsGPUAllowedForProtected flag

- This flag need to be initialize to false when layer is
  created.

Change-Id: Ie3df40ffc4240c33883f19ecbef6428f7c539b07
CRs-fixed: 942102

commit 09032188751356db295bc5467133ec484dc536cd
Author: Arun Kumar K.R <akumarkr@codeaurora.org>
Date:   Tue Oct 20 10:22:51 2015 -0700

display-fw: Enable checking for INTERNAL_ONLY private flag

Check for INTERNAL_ONLY private flag and return correct values
from the function isIntOnly

Change-Id: I61b44f636412e0ad93e1b3ff18e4accdf90eeafe
CRs-fixed: 927880

commit f687ac25b3482b92da3c252d29b65e850cca3ce1
Author: Arun Kumar K.R <akumarkr@codeaurora.org>
Date:   Thu Oct 15 16:37:11 2015 -0700

display-frameworks: Include libqdutils
only for target builds

Featurize including libqdutils for targets which uses QCOM_BSP,
helps in resolving compilation for emulator builds

Change-Id: I39639c3100eb20dd24d2a875bb0e9bc82d2b2d1f

commit 4ec765e01be506a8083980fc746a1737bbac4bf2
Author: Arun Kumar K.R <akumarkr@codeaurora.org>
Date:   Wed Oct 7 18:33:34 2015 -0700

display-fw: Disable rotation animation on secondary displays

- Set the animating flag on layer during animation which is used
  as hint to disable rotation animation on secondary displays.
- Set sys.disable_ext_animation to enable the feature
- Remove unused definitions in the extended hwc header

Change-Id: I7b72c7b605930ea189e047fec17ed18b17d46fdf
CRs-fixed: 922304

commit 6998bbdfd7af3126b64897b16b6961e84952601b
Author: Baldev Sahu <bsahu@codeaurora.org>
Date:   Thu Jul 30 16:01:15 2015 +0530

display-frameworks: Extend support for MDP3

- Add support for HWC_BLIT
- Allow GPU to compose widevine level 3

Change-Id:I11e03ccd0842d019e85d0c29bc5b7be559fccbaa

commit 2fa7aa1684c0162b8226c4327c86c6eaf6b76101
Author: Manoj Kumar <manoj@codeaurora.org>
Date:   Thu Aug 20 13:52:15 2015 -0700

display-frameworks: Override mOutputUsage with sink Usage flags

mOutputUsage flags contain default usage flags and doesnt reflect
sink usage flags. Override mOutputUsage with sink usage flags.

This change is needed to support WFD Secure usecase.

Change-Id: I14d8812049f635a8ebe6a944783e0ec7f8f80b1f

commit 09da768794c8c6acd786d73239ed5a739695b8cb
Author: Raj Kamal <rkamal@codeaurora.org>
Date:   Mon Jul 20 10:46:27 2015 +0530

display-frameworks: Extend the classes defined in SF

Add support for custom classes ExSurfaceFlinger,
ExLayer, ExHWComposer and ExVirtualDisplaySurface

Change-Id: Iab8c4835faaad9b436bbd34d38702741eb0cf12d

Change-Id: Ie400c94ccc77fc379ffa256af03a9e42ba5decaa
2016-01-08 21:01:02 -08:00
Tatenda Chipeperekwa
cda438d95e sf: Change log message in layer query method from ALOGE to ALOGW
This error can be seen for the following use case

1. Connect HDMI display
2. Dump the SurfaceFlinger state

The problem here is that HWComposer would have processed the display
connection event via the hotplug mechanism and considers that the
external display is connected. However, SurfaceFlinger has not
updated its internal state (mDisplays) since it will be waiting for
the mStateLock to be release by the dump function. As a result, when
the dump function invokes the getLayerSortedByZForHwcDisplay for the
external display, we will end up seeing the error log message because
SurfaceFlingers internal state has not yet been updated.

We can move this to ALOGW since it is a non-fatal/recoverable state.

CRs-Fixed: 914173
Change-Id: Ib0ba359ecd894dd463417ba57ba1f72c07b5833e
2016-01-08 21:01:02 -08:00
Abhisek Devkota
fd95bb1c24 Revert "gui: only support tertiary display if QTI_BSP is defined"
This reverts commit cbd3e07921.

Change-Id: I2a0f130dc64a9ebcbcaef36cfe973c759824cf8b
2016-01-07 21:29:13 -08:00
Matt Filetto
b17c928090 sensor: Skip additional permission request checks
* Some legacy Samsung HALs supporting BODY_SENSOR types are
  incompatible with the new permission checks added in M.
  Extend the NO_SENSOR_PERMISSION_CHECK flags to cover more
  of the actual checks.

Change-Id: Id2b9b57d8151b0998d9233e0a6541e8c88e06af7
2015-12-21 08:54:18 -08:00
Abhisek Devkota
cbd3e07921 gui: only support tertiary display if QTI_BSP is defined
Non-caf display HALs crap out with this

Change-Id: I9db8a74e262e674335cd993a5365e05d3715d1e8
2015-12-20 17:22:49 -08:00
Christopher N. Hesse
8befd14c4a sensor: Allow devices to skip the permission request
This is needed by Samsung devices with pre-M sensor
blobs which have support for SENSOR_TYPE_HEART_RATE
or body sensors in general.
These HALs somehow segfault on the flagged code.

Change-Id: I698f4129e71b683f6f063f00da79f32a5f521149
2015-12-18 15:21:53 -08:00
Mark Salyzyn
03d61d95fa dumpstate: increase logcat timeout to 40 seconds (DO NOT MERGE)
- temporary measure until root issues can be resolved.

Bug: 23685592
Change-Id: Ia33f4e3928a457c3dcd730ad2c2c57d13fbf133d
2015-12-18 10:18:58 -08:00
Christian Poetzsch
31ab17fb0c Fix the execution point of onFrameAvailable/onFrameReplaced callbacks
In a4650a5 the concept of a maximum frame number allowance for the consumer was
introduced. A call to acquireBuffers will only return buffers when their frame
number is less-than-or-equal-to this maximum frame number. When SurfaceFlinger
is the consumer, this maximum  frame number is calculated in the
onFrameAvailable/onFrameReplaced callbacks. These callbacks are called when a
new buffer is dequeued by the application. The problem is that these callbacks
are called _after_ the fence wait which is used to throttle the frame
production of client apps. When the previous frame needs a long time to draw,
those waits can potentially be a long time. As a result SurfaceFlinger won't do
any composition with the new frame until the wait is over.

Normally this isn't a big problem because there is a queue of buffers for
SurfaceFlinger to work with. However, this changes massively when a client app
is using a swap interval of zero. In this case, a new frame will instantly
replace the previous queued frame. However, SurfaceFlinger doesn't know this
until the onFrameReplaced callback gets called - which is delayed by the fence
wait. If the timing is bad, SurfaceFlinger never gets a chance to pick up a new
frame to do the composition with.

We see this behaviour on our TC development system (slow GPU) with legacy
on-screen benchmarks. Such apps are using a swap interval of zero and sometimes
frames don't get updated for several seconds. This behaviour can be also seen
on a Nexus5, although it isn't as obvious as on our TC.

The fix in this cl is to move the EGL throttling to the end of the queueBuffers
function. This ensures that if a frame gets replaced in the queue, all
consumers who installed the callbacks, get called in a timely fashion.

Change-Id: I36e9ecda162150f41e97d4fb7437963a3d86b371
Signed-off-by: Christian Poetzsch <christian.potzsch@imgtec.com>
2015-12-16 18:46:53 -08:00
radhakrishna
5934c292ab SF: Fix invalid reduction of transparent region from a layer.
Reduce transparent region from a layer only if the transparent
region has valid intersection with the layer. Otherwise, reducing
a transparent region lying completely outside of the layer leads to
invalid sourcecrop values for the layer.

Change-Id: Iee9ba53a8072c21c9ba8a6d58cb14ca30f8600ba
CRs-Fixed: 620973
2015-12-16 00:16:12 -05:00
Ramakant Singh
bea57f312d sf : Fix vertices & texture coordinates computation.
Compute crop and display frame for GPU composition also
in the same way it's done for HWC and compute vertices
and texture coordinates for GPU composition. This avoids
pixel shifts in output of GPU composition & overlays.

Change-Id: I0d31b1e4a81049fff72109d1a210e7cbd945cfe9
2015-12-16 00:16:04 -05:00
forkbomb
7cacf26abb libbinder: allow devices to disable ashmem size tracking
The addition of ashmem size tracking can lead to parcel objects
overwriting other values on the stack in old binary blobs.

Change-Id: Ife8514be1ba639c4061de38b59794c46bcc2d7f8
2015-12-10 10:15:49 +11:00
james.zhang
d40a35f61d bug#460672 framebuffer surface can't keep triple buffer if define NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
[root cause  ] framebuffer surface is in the same process of surface flinger
[changes     ] call IGraphicBufferProducer::allocateBuffers on producer inside the DisplayDevice constructor to force-allocate all three buffers.
[side effects] none
[self test   ]<tshark, enter and exit mainmenu>: ok
[reviewers   ] zhongjun.chen
[change_type ] AOB --> google_original
[tag_product ] common

Change-Id: Ideb75d3aa1ed23b2fa4d263a120ea3ca39d01361
2015-12-08 01:13:54 -08:00
Baldev Sahu
21145beae7 SurfaceFlinger: Add support for MDP3
This change is porting of below commits related to MDP3

In MDP3 we are using the widevine level3 for secure content
display. And this should applicable only for primary display
not for screen shot or screen recording
- CRs-Fixed: 595469
- Change-Id: I99be2d81287ab746d5c4a2375c3106c59e61a8fc

Change-Id: Ie7ac95e1c03eb7ad6f71098ecf09a1e25e69760f
2015-12-08 01:13:54 -08:00
Prashant Malani
e50ab08fd6 Merge "inputflinger: Initial support for rotary encoders." into cw-e-dev
am: 68fca5a176

* commit '68fca5a1763203164a19a9aa983895242a671387':
  inputflinger: Initial support for rotary encoders.
2015-12-08 01:30:53 +00:00
Prashant Malani
68fca5a176 Merge "inputflinger: Initial support for rotary encoders." into cw-e-dev 2015-12-08 01:27:17 +00:00
Steve Kondik
4951bcc16e Android 6.0.1 release 3
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlZmBAkACgkQ6K0/gZqxDnhgbQCdFLtubCHWtlKUuIEKAVwzv2M3
 2jMAoI4UhN3nLb2Nf6BizcMSF3xo1pKO
 =NS5T
 -----END PGP SIGNATURE-----

Merge tag 'android-6.0.1_r3' of https://android.googlesource.com/platform/frameworks/native into cm-13.0

Android 6.0.1 release 3

Change-Id: I437aaf148d440a8144afe1454948980fc3b40cca
2015-12-07 17:07:16 -08:00
Martijn Coenen
e902acb2ec Merge "DO NOT MERGE: add support for new sched tracepoint" into mnc-dr1.5-dev 2015-12-04 09:31:34 +00:00
forkbomb
53602ffde5 libbinder: allow devices to disable ashmem size tracking
The addition of ashmem size tracking can lead to parcel objects
overwriting other values on the stack in old binary blobs.

Change-Id: Ida52cec851a6f9d5a57c8f9130a5875c03dcb094
2015-12-04 15:42:51 +11:00
Ben Fennema
da3af0896f Revert "DO NOT MERGE ANYWHERE Add new interface for sensor physical data"
am: 8c3e55f414  -s ours

* commit '8c3e55f4149deda3ec7c7a67fda81216d5f9af25':
  Revert "DO NOT MERGE ANYWHERE Add new interface for sensor physical data"
2015-12-02 01:11:29 +00:00
Ben Fennema
8c3e55f414 Revert "DO NOT MERGE ANYWHERE Add new interface for sensor physical data"
This reverts commit d4db70a7b8.

Change-Id: Ifb52d5595970a5178e12c2a90da4aac0e38f5942
2015-12-02 01:04:40 +00:00
Jani Suonpera
37f1300ffc DO NOT MERGE ANYWHERE Add new interface for sensor physical data
am: d4db70a7b8  -s ours

* commit 'd4db70a7b8b2d136c46c50f89b276f8150be5fc2':
  DO NOT MERGE ANYWHERE Add new interface for sensor physical data
2015-12-02 00:25:47 +00:00
Jani Suonpera
d4db70a7b8 DO NOT MERGE ANYWHERE Add new interface for sensor physical data
This is special solution only for emerald branch.

Changes including new const char* value/interface for sensor physical data. Sensor service and manager does not take care of content, structure or other
details of string. Sensor HAL is taking care of parsing data from string and setting values to Sensor HW.

Change-Id: I3abc3ddc7c6adc4b32a40b9a43f2a94c5af7b2b0
Signed-off-by: Ben Fennema <fennema@google.com>
2015-11-30 21:27:27 -08:00
Sharvil Nanavati
7126caa17f Increase raft timeout to 10min so we get complete logs from older devices.
am: 804339a59e

* commit '804339a59e4abcbcf5a50a60ff0543e6b404e572':
  Increase raft timeout to 10min so we get complete logs from older devices.
2015-11-30 21:07:46 +00:00
Tim Murray
bd65161021 DO NOT MERGE: add support for new sched tracepoint
This tracepoint gives systrace the means to display the reason
for uninterruptible sleep.

bug 23350688

Change-Id: I9ee5b6904c27bcb5bd67c86fda66d45d0a3c0999
2015-11-30 10:59:55 -08:00
Sharvil Nanavati
804339a59e Increase raft timeout to 10min so we get complete logs from older devices.
Devices like dory get slammed when bugreports are taken and can't
compress all the raft logs in the current 5min timeout. Our dogfooders
spend their precious time getting us bugreports and then we can't act
on them because we have broken raft logs. :(

This change bumps up the timeout in the hopes that we can get complete
logs from even our slowest devices.

Change-Id: I10741a6185b39544f4c0531f0ee74864d74a1aa4
2015-11-27 21:04:11 -08:00
Caio Schnepper
8c39282e31 libgui: Don't assign handle to NULL after free is common
Reportedly Mali and PowerVR GPUs are crashing when setting handle to NULL
So we will set a flag for the devices that might need this aswell

Set BOARD_EGL_NEEDS_HANDLE_VALUE=true in BoardConfig.mk to use

Change-Id: I6c967f62dc6adced7583d7b2045d11cf5b25fc80
2015-11-25 17:51:30 -02:00
Caio Schnepper
eed845539a libgui: Don't assign handle to NULL after free
This reverts c784dfc39f for exynos4 devices
with Mali 400 GPUs, which causes a fatal signal (SIGSEGV) and death of
the graphics subsystem

Change-Id: I6dbf8f8664fca01baf63fece7c64016609fe3e1c
2015-11-23 18:39:58 -02:00
Tim Murray
392db573b3 Set cpuset from surfaceflinger.
SurfaceFlinger shouldn't be limited to little cores exclusively, as the
binder threads should be placed on big cores when they are in the
critical path for a RenderThread.

bug 25745866

Change-Id: I9fb65f6d951733f91b4735ff27018411b58b2bfb
2015-11-18 19:58:04 +00:00
Steve Kondik
05e03ad508 Merge branch 'LA.BF64.1.2.2_rb4.7' of git://codeaurora.org/platform/frameworks/native into cm-13.0
Change-Id: Ib29f744a0f7baac5d5ad8a7e9c5c14303b6aeec1
2015-11-16 14:36:34 -08:00
Ramakant Singh
2bb57a8bc3 sf : Apply user defined panel orientation to blur layer
Blur layer need to capture screen shot to create to blur
effect. Hence need to take care any user defined orientation
as well.

Change-Id: I1c0478810d12661edf2586293bbed342a5b4dc7e
2015-11-16 14:00:25 -08:00
Lajos Molnar
bc9bc0e0fc Merge "OMX: clarify EOS signaling for tunneled decoders" into mnc-dev am: f1de4547c1 am: 37b8c1f77c
am: 8abb053a2e

* commit '8abb053a2ea021c649e481813e45860add946e36':
  OMX: clarify EOS signaling for tunneled decoders
2015-11-13 00:16:41 +00:00