OSDN Git Service
Chih-Wei Huang [Wed, 20 Jan 2016 18:25:52 +0000 (02:25 +0800)]
SF: support higher resolutions
Add support for Surface Pro 4.
Chih-Wei Huang [Sat, 1 Nov 2014 17:21:12 +0000 (01:21 +0800)]
InputReader: add 5-point calibration
Updated for Android 5.0.
Chih-Wei Huang [Sun, 26 Oct 2014 07:39:53 +0000 (15:39 +0800)]
auto determine the density if not provided in surfaceflinger
We hope to support tablet UI for different resolutions.
So adjust the density according to the resolution.
Chih-Wei Huang [Sun, 26 Oct 2014 07:38:15 +0000 (15:38 +0800)]
enable console management
The console management was removed since ICS. But it's useful for debugging.
Re-implement it based on the original class ConsoleManagerThread of class
DisplayHardwareBase.
Praveena Pachipulusu [Thu, 21 Nov 2013 13:27:31 +0000 (18:57 +0530)]
SurfaceFlinger: Add NULL check for buffer handling
Add buffer handling NULL check in dequeueBuffer and
verify whether the output data from binder is not NULL
in queueBuffer and connect api's to avoid SF crash
CRs-Fixed: 573088
CRs-Fixed: 572315
Change-Id: I41cebbc0cbcbbb0fd5ecb38db7ec7b0c91cdffe9
Rama Vaddula [Thu, 12 Sep 2013 21:09:32 +0000 (14:09 -0700)]
Surface: Initialize variable and add a defensive check
Initialize buf variable and make sure to check for return
value of dequeueBuffer() before sending to the client.
Change-Id: I0569f2d45825fab0e5d0f38fc91a07990f57c7ab
(cherry picked from commit
a6bd7106a7305208f187fbf0a48f14139e33c9d6)
(cherry picked from commit
e5d7662d68c5be2b282edd58d4feb68a4d476182)
(cherry picked from commit
885c146144480d4371a0a97df89b8e77f53d3d94)
Lynus Vaz [Tue, 23 Jul 2013 12:49:02 +0000 (18:19 +0530)]
Check fence is not NULL before dereferencing it
If the fence obtained in dequeueBuffer is NULL, don't dereference it.
This will avoid a crash in surfaceflinger.
CRs-fixed: 516300
Change-Id: I3054dc37087103f3addae7884bb03460484a1eec
(cherry picked from commit
ddf4adb487dc76ccb75fe2432772d6fc575ed77c)
(cherry picked from commit
c6ae5271f9ced9a747e1481c2ef875ba03674172)
(cherry picked from commit
cdad709878601eb694acbce7d3ae9f7a74bf14f3)
Chih-Wei Huang [Sun, 6 Jan 2013 08:56:00 +0000 (16:56 +0800)]
disables hardware acceleration if debug.egl.hw=0
Edward Peek [Tue, 3 Apr 2012 18:17:00 +0000 (06:17 +1200)]
Added option to disable touchscreen pressure sensitivity from idc files
DanielK [Tue, 20 Mar 2012 06:28:43 +0000 (14:28 +0800)]
Support old single-touch touchscreens with BTN_LEFT
Byron Gardner [Mon, 3 Nov 2014 23:54:28 +0000 (15:54 -0800)]
Enable 64-bit support in libs/gui/Sensor.cpp
Change-Id: Iaaa112bd821a6a0e3234461df8f7b6acc47b254e
Orig-Change-Id: I04c22e6f2c6f4271ca451b775c8d7f86e4c97c38
Tracked-On: https://jira01.devtools.intel.com/browse/IMINAN-9998
Category: aosp improvement
Domain: SENSORS.VIRT-Common
Origin: internal
Upstream-Candidate: yes
Signed-off-by: Byron Gardner <byron.gardner@intel.com>
Reviewed-on: https://android.intel.com:443/296325
Wang, Yue A [Tue, 21 Jan 2014 09:42:13 +0000 (17:42 +0800)]
SurfaceFlinger: disable VSync thread if no clients requiring.
In EventThread, 2 VSYNCs are needed to do composition and update
the client status. So, a 30FPS video may leads to 60FPS VSYNC,
which means the DispSync thread would be waked 60FPS. This is a
unexpected behavior which takes more power consumption. Now we
update the SF status soon after the first VSYNC, which means no
extra VSYNC needed, and the DispSync could be awaked as expected,
and consequently power get saved.
Change-Id: If486eb9b87f109a71f71b510768f15dd733f1233
Orig-Change-Id: I1d3b166021e15a81b2ad770b039761fc2c15fddf
Tracked-On: https://jira01.devtools.intel.com/browse/IMINAN-12211
Category: aosp improvement
Domain: Graphics-SF
Origin: internal
Upstream-Candidate: yes
Signed-off-by: Wang, Yue A <yue.a.wang@intel.com>
Reviewed-on: https://android.intel.com:443/238344
juntingwang [Fri, 1 Mar 2013 08:02:56 +0000 (16:02 +0800)]
Set PS2 Keyboard controller as not a ketboard type
The Eventhub detects the platforms built-in PS/2 keyboard controller
as a physical keyboard. So the system will not display the software
keyboard by default. Modify it device type in Keyboard-less tablets,
so that ActivityManager will not ignore the PS/2 controller.
Issue: AXIA-1875
Change-Id: Ia5b7592e82aaf1970066bab5e9ca5f46ac83ab1c
Signed-off-by: juntingwang <Junting.Wang@windriver.com>
Andy Ross [Tue, 19 Feb 2013 22:39:34 +0000 (14:39 -0800)]
binder: Fix service initialization race vs. service manager
The framework relies on the global IServiceManager running before a
BinderService object is instantiated. But there was no detection of
the error condition when it was not (specifically: mediaserver can be
initialized before system_server), and in fact the default error
behavior (kill the proxy object) ensured that the process would never
be able to add services again. Retry the addService() code, and allow
transient binder failures for the special case of the service manager
proxy.
Issue: AXIA-1706
Change-Id: Icac10bb0f47a2fe33ac9605a13633b83afa3ebff
Signed-off-by: Andy Ross <andy.ross@windriver.com>
Daniel Leung [Thu, 13 Sep 2012 20:43:41 +0000 (13:43 -0700)]
Prevent EventHub from adding input device twice
When Android first starts up, it scans /dev/input for input devices.
In some rare instances, the EventHub gets another notification that
some device nodes are created. It then proceeds to add the same
input device again. This causes the system to get two events per
touch or key stroke.
This adds a check to prevent adding the same device if the operation
is triggerd by inotify.
Issue: AXIA-858
Change-Id: I68b02594f1c7f14067611735db0b3763378ec7ea
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Daniel Charles [Fri, 13 Jul 2012 23:11:49 +0000 (16:11 -0700)]
egl_extensions: remove force of extension not supported
This problem was introduced by commit
48d438d05f14c.
When the extension GL_EXT_debug_marker is not supported by h/w
the dummy version is used already. Whenever the h/w is ready
to support the extension it will show up and be used by the
OpenGLRenderer.
Change-Id: Iddb58859b187d872a9a3a2986d30f24b8f83e76b
Signed-off-by: Daniel Charles <daniel.charles@intel.com>
Paul Drews [Wed, 18 Jan 2012 19:01:49 +0000 (11:01 -0800)]
Pre-test native window pointer for validity
This fixes a segfault in the oglconform tests when running
the test:
adb shell /data/app/oglconform -v 4 -minFmt -es -test egl-basic negative.drawables.winSurfBadWin
According the the egl specification this should return
EGL_BAD_NATIVE_WINDOW. The segfault was resulting from the
fact that the window handle is a (cast to opaque) pointer,
and there are not straightforward ways of pre-testing a
pointer for validity. The fix implemented here is:
() Take advantage of the msync() system-call logic to test
pre-test basic pointer validity
() Once confirmed that we can reference through the
pointer, look for the "magic" value dropped in by the
implementation to mark this type at runtime.
Change-Id: Id7d21c822c8a416e45caba25c63d7076d1e547a5
Original-Change-Id: I3c8df8ef5ece5c0fa71c47417766b5453c355f8b
Signed-off-by: Russell Webb <russell.webb@intel.com>
Signed-off-by: Paul Drews <paul.drews@intel.com>
Pauli Nieminen [Wed, 4 Jan 2012 14:25:10 +0000 (16:25 +0200)]
egl: Add NULL check for eglGetconfigs num_config parameter
EGL 1.4 specification says in 3.4.1:
"An EGL_BAD_PARAMETER error is generated if num config is NULL."
We have to check for the condition and return the required error to
application.
Change-Id: Ib42709f0420161ce661536394d4c0779bc62be57
Original-Change-Id: I4fe670c4362f4ae494f91d69ae105e29ccf3c769
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Pauli Nieminen [Tue, 15 Nov 2011 18:33:05 +0000 (20:33 +0200)]
Fix build problem when including hal and egl to same c file
If including hal and egl headers to same c file compilation files
because ANativeWindow type is defined in two headers. In HC egl didn't
include system/core/include/system/window.h which hid the type conflict.
Change-Id: Icaf7b29f913f3d7fa8f6d70bb196585d22e7d05c
Original-Change-Id: Icd37329d80fb4e8b9baf9015c9b00e43ebc4f76b
Signed-off-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Steve Kondik [Sun, 24 Jul 2016 23:19:39 +0000 (16:19 -0700)]
surfaceflinger: Fix the fix of the opaque check fix
* Use the right define.
Change-Id: I78e2aea4bf4ff933ec828cffee1a3e925622ad31
Ramkumar Radhakrishnan [Thu, 19 May 2016 01:56:05 +0000 (18:56 -0700)]
SF: Fix NULL pointer dereferencing in dumpDrawCycle()
Check for NULL before dereferencing a pointer in dumpDrawCycle()
Change-Id: I1f06214577d0065c988877acb0f1b4378080690f
CRs-Fixed:
1018335
Saurabh Shah [Tue, 22 Mar 2016 00:25:23 +0000 (17:25 -0700)]
SF: Add support for all flips of panel mount
Add support for all flips of panel mount, H, V, HV (180). Property
persist.panel.mountflip can be set to 1 for H-Flip, 2 for V-Flip,
3 for HV-Flip (180 / inverse mount).
Change-Id: Ide7b8378ad6a423e5d7335fedc27d480a25b53ae
CRs-fixed: 990622
Nick Kralevich [Wed, 7 Oct 2015 23:38:42 +0000 (16:38 -0700)]
DO NOT MERGE: dumpstate: execute procrank using su
procrank is a setuid binary which only exists on userdebug/eng
builds. Instead of executing the setuid binary, run the binary using
the su command. This eliminates one more setuid binary, and allows
the tightening of the SELinux policy.
Bug:
18342188
(cherry picked from commit
2b1f88b6ac78e330ff006da6fecf8bc9d976ec67)
Bug:
25951005
Change-Id: I90c86f89974b3878273a29277b2a5d5d7c4b81c7
Haixia Shi [Wed, 28 Oct 2015 23:19:01 +0000 (16:19 -0700)]
SF: more DispSync improvements.
Pass the reference time to DispSyncThread. Since the phase offset is calculated
using timestamps relative to the reference time, we must also adjust the phase
offset by the same reference time when computing the next refresh time.
Always reset phase offset to zero when updating the reference time because the
reference time equals the first timestamp.
After beginResync() we need to keep HW vsync enabled until the model is updated.
Bug:
25113115
Change-Id: I8eae227bee91c24a99bf8e57fbebceb98d29c77d
Test: check in systrace that app/sf vsync events have correct phase
Haixia Shi [Wed, 28 Oct 2015 20:22:22 +0000 (13:22 -0700)]
SF: use first sample timestamp as reference.
Do not use the absolute 64-bit nsecs_t timestamp directly in phase
and error calculations. Compared to the estimated vsync period, the
timestamp tend to many orders of magnitudes larger, and consequently
the integer modulo operation used to calculate phase and error can
be very sensitive to tiny fluctuation in vsync period.
Bug:
25113115
Test: set kTraceDetailedInfo=true; see Phase and Error are stable in systrace
Change-Id: I687703eec31b1072c606898c0424a96c0a8ca033
Arne Coucheron [Tue, 19 Jul 2016 22:46:07 +0000 (00:46 +0200)]
sf: Fix blending mode for legacy BSP
* After
0c5f3af, glitches when blending is observed on
A family devices. Modify ifdef to not include QCOM_BSP_LEGACY.
Change-Id: Ibb53df5709abbb0e7132065aec23a14f7accf4b3
Mark Salyzyn [Tue, 2 Feb 2016 18:27:03 +0000 (10:27 -0800)]
system_server BINDER_TYPE_FD driver ashmem accessors
check if device matches the ashmem rdev, before calling
ashmem_get_size_region. This eliminates making this call
when associated with other driver file descriptors.
Bug:
26374183
Bug:
26918423
Bug:
26871259
Change-Id: I1f88c2c93ea35a73c8e14125f3d1a6c67fa4f15b
Mark Salyzyn [Wed, 27 Jan 2016 16:02:48 +0000 (08:02 -0800)]
system_server BINDER_TYPE_FD sockets using ashmem accessors
check if device is a character device, before calling
ashmem_get_size_region. We do not check if the st_rdev
matches /dev/ashmem. So this at least eliminates making
this call when associated with a socket.
Bug:
26374183
Change-Id: I68ed9d1c2cd4c47228ed065e3e18eb4151f038f4
Mark Salyzyn [Wed, 27 Jan 2016 16:02:48 +0000 (08:02 -0800)]
Parcel: file descriptor leak
Resolve a file descriptor leak when a request for
ashmem size adjustment is not filed.
Change-Id: I4ebccfd096ec5313725fd99dc3e025f9561d061f
radhakrishna [Fri, 31 Oct 2014 10:18:14 +0000 (15:48 +0530)]
sf: Make sure HWC_BLENDING_NONE is set for opaque layer
Before configuring the layers to HWC, make sure
HWC_BLENDING_NONE is set if the layer is opaque
Change-Id: Ie84aa9d93e98a244692a0cffc2de653a9079f8b4
Crs-fixed: 957373
Jessica Wagantall [Thu, 7 Jul 2016 18:51:12 +0000 (11:51 -0700)]
Merge remote-tracking branch 'remotes/android-6.0.1_r52' into HEAD
Ticket: CYNGNOS-3020
Change-Id: I13076de5caf1546b8eef44417ee83cd9b2cb9d62
Christopher N. Hesse [Fri, 17 Jun 2016 14:10:21 +0000 (16:10 +0200)]
sf: Only apply hwrotation to primary displays
Change-Id: Ib51030cec5ce7609f12be9a5e46310f75442b680
Jessica Wagantall [Tue, 7 Jun 2016 17:10:09 +0000 (10:10 -0700)]
Merge tag 'android-6.0.1_r46' into HEAD
Android 6.0.1 release 46
# gpg: Signature made Mon 06 Jun 2016 10:38:23 AM PDT using DSA key ID
9AB10E78
# gpg: Can't check signature: public key not found
Louis Popi [Wed, 4 May 2016 18:17:24 +0000 (20:17 +0200)]
Add dalvik heap/hwui overrides for xxxhdpi phone with 4096MB RAM
Change-Id: I8e7bd9b520c20e0cd07c9b17d74e4ae79f2769b4
Marco Nelissen [Tue, 26 Apr 2016 15:44:09 +0000 (08:44 -0700)]
Correctly handle dup() failure in Parcel::readNativeHandle
bail out if dup() fails, instead of creating an invalid native_handle_t
Bug:
28395952
Change-Id: Ia1a6198c0f45165b9c6a55a803e5f64d8afa0572
Scott Mertz [Wed, 25 May 2016 22:50:02 +0000 (15:50 -0700)]
dumpstate: add CM version to output
Change-Id: Ibd804872d7d32ac1d26efaf30927a2359d2da287
Louis Popi [Wed, 11 May 2016 20:48:52 +0000 (22:48 +0200)]
Add dalvik heap/hwui overrides for xxhdpi phone with 3072MB RAM
Change-Id: I0ebf2033341e8f09004c1e2dec5f4438aa52e5dc
Danesh M [Fri, 6 May 2016 07:11:27 +0000 (00:11 -0700)]
SurfaceFlinger : Ensure position changes are drawn with correct buffer size
If a single transaction has both positional and size changes, ensure we don't draw
any frames using the incorrect buffer size using the updated position. Wait for the correct
buffer size and then proceed.
Change-Id: I8e25f21f17e0936e66bb5053f85f8336c8464c7b
Jessica Wagantall [Tue, 3 May 2016 18:38:50 +0000 (11:38 -0700)]
Merge tag 'android-6.0.1_r43' into HEAD
Ticket: CYNGNOS-2373
Android 6.0.1 release 43 (MOB30J)
Change-Id: I1d6a9cc67ded5dd7d0ee1f17773e326ac0ae87ce
Christopher N. Hesse [Sun, 24 Apr 2016 17:30:35 +0000 (19:30 +0200)]
surfaceflinger: Add support for Exynos BGRA mixer
Change-Id: Ibc9f784b35a7bd6d8cc6b13ff68b12418cce98c5
Michael Wright [Tue, 22 Mar 2016 23:52:13 +0000 (16:52 -0700)]
Add new MotionEvent flag for partially obscured windows.
Due to more complex window layouts resulting in lots of overlapping
windows, the policy around FLAG_WINDOW_IS_OBSCURED has changed to
only be set when the point at which the window was touched is
obscured. Unfortunately, this doesn't prevent tapjacking attacks that
overlay the dialog's text, making a potentially dangerous operation
seem innocuous. To avoid this on particularly sensitive dialogs,
introduce a new flag that really does tell you when your window is
being even partially overlapped.
We aren't exposing this as API since we plan on making the original
flag more robust. This is really a workaround for system dialogs
since we generally know their layout and screen position, and that
they're unlikely to be overlapped by other applications.
Bug:
26677796
Change-Id: I9e336afe90f262ba22015876769a9c510048fd47
Khalid Zubair [Wed, 20 Apr 2016 21:13:35 +0000 (14:13 -0700)]
sensorservice: fix an invalid format string
Change-Id: Ib41bca95e6be7831c5ce77bceaf6a3d9f8b37d41
Khalid Zubair [Tue, 19 Apr 2016 17:46:48 +0000 (10:46 -0700)]
sensorservice: add power usage to dumpsys
Include each sensor's power usage info in the per-sensor dumpsys
info section.
Change-Id: If10535d1e7fe6a35d9385ce2e6083a4c5188a06d
Jessica Wagantall [Mon, 18 Apr 2016 18:14:35 +0000 (11:14 -0700)]
Merge tag 'android-6.0.1_r30' into HEAD
Ticket: RM-234
Android 6.0.1 release 30
Steve Kondik [Tue, 12 Apr 2016 20:14:26 +0000 (13:14 -0700)]
surfaceflinger: Add support for secondary color matrix
* Add a new binder transaction for applying a secondary color matrix
using RenderEngine. This stacks with the primary color matrix
(if set for a11y) to enable GPU-based display calibration.
Change-Id: I766455bfb5212e2dcc8ad0cb8ebdddbda87af732
Jessica Wagantall [Tue, 5 Apr 2016 19:31:30 +0000 (12:31 -0700)]
Merge tag 'android-6.0.1_r24' into HEAD
Ticket: CYNGNOS-2213
Android 6.0.1 release 24
Dianne Hackborn [Mon, 21 Mar 2016 17:36:54 +0000 (10:36 -0700)]
Fix issue #
27252896: Security Vulnerability -- weak binder
Sending transaction to freed BBinder through weak handle
can cause use of a (mostly) freed object. We need to try to
safely promote to a strong reference first.
Change-Id: Ic9c6940fa824980472e94ed2dfeca52a6b0fd342
(cherry picked from commit
c11146106f94e07016e8e26e4f8628f9a0c73199)
Pablo Ceballos [Wed, 16 Mar 2016 01:10:49 +0000 (18:10 -0700)]
BQ: fix some uninitialized variables
Bug
27555981
Bug
27556038
Change-Id: I436b6fec589677d7e36c0e980f6e59808415dc0e
The Android Automerger [Tue, 22 Mar 2016 22:47:49 +0000 (15:47 -0700)]
merge in mnc-dr1.5-release history after reset to mnc-dr1.5-dev
The Android Automerger [Fri, 18 Mar 2016 01:36:43 +0000 (18:36 -0700)]
merge in mnc-dr1.5-release history after reset to mnc-dr1.5-dev
Manoj Kumar AVM [Thu, 14 Jan 2016 03:10:20 +0000 (19:10 -0800)]
vds: Allocate Framebuffer target buffer
Increase frame buffer surface buffers to 3. Call allocateBuffers
from the producer so that buffers are allocated. With out this,
BufferQueue implementation will only allocate 1 buffer
CRs-Fixed: 930504
@Buganizer:
26778657
Change-Id: Id0cadeb78957273d670d63f9956a09454b45eb69
Dileep Marchya [Thu, 3 Dec 2015 22:39:35 +0000 (14:39 -0800)]
SurfaceFlinger: Add support for continuous dumpsys to file.
- Collect dumpsys to an outfile file when triggered.
- Collect dumpsys before calling Prepare on hwc module in
each draw cycle. Recollect dumpsys if Commit goes through
successfully and replace former dumpsys with this.
- Wrap around if file size reaches appx 20 MB.
- Generate output file at /data/misc/display/dumpsys.txt
- Syntax:
adb shell dumpsys SurfaceFlinger --file [--no-limit]
--file : Ouput dumpsys to file
--no-limit : Do not wrap around, keep appending
Use same command to trigger start and end of dumping.
- Output format:
| start code | after commit? | time stamp | dump size | dump data |
CRs-Fixed: 947084
Change-Id: Ie520f51c69757aeec88b9400688a7f3271472349
Arun Kumar K.R [Thu, 17 Dec 2015 21:36:49 +0000 (13:36 -0800)]
sf: ex-sf: Remove screenshot surface from secondary displays
- When rotation animation is disabled on secondary displays, remove
the screenshot surface from the secondary display list, without
this it would show up upside down frame on secondary.
- Mark IntOnly layers as invisible on secondary displays.
Change-Id: Ia859ee1c6ac7caa132c95e4f906bd2589e786fac
Crs-fixed: 949263
Steve Kondik [Fri, 11 Mar 2016 02:17:45 +0000 (18:17 -0800)]
Merge tag 'android-6.0.1_r22' of https://android.googlesource.com/platform/frameworks/native into cm-13.0
Android 6.0.1 release 22
Jessica Wagantall [Tue, 8 Mar 2016 02:12:29 +0000 (18:12 -0800)]
Merge tag 'android-6.0.1_r17' into HEAD
Android 6.0.1 release 17
Ticket: CYNGNOS-1854
Pablo Ceballos [Sat, 20 Feb 2016 19:26:13 +0000 (11:26 -0800)]
Add SN logging
Bug
27046057
Change-Id: Iede7c92e59e60795df1ec7768ebafd6b090f1c27
Christopher Tate [Sat, 6 Feb 2016 03:02:56 +0000 (19:02 -0800)]
Sanity check IMemory access versus underlying mmap
Bug
26877992
Change-Id: Ibbf4b1061e4675e4e96bc944a865b53eaf6984fe
Pablo Ceballos [Fri, 12 Feb 2016 02:01:49 +0000 (18:01 -0800)]
BQ: Add permission check to BufferQueueConsumer::dump
Bug
27046057
Change-Id: Id7bd8cf95045b497943ea39dde49e877aa6f5c4e
Omprakash Dhyade [Fri, 5 Feb 2016 22:54:08 +0000 (14:54 -0800)]
surfaceflinger: Use only one EventThread when phase offsets are same.
SurfaceFlinger uses two event-threads to support phase-offsets
for application and SurfaceFlinger itself. Extra thread may
cause scheduling issues and wake-up latency for either
SurfaceFlinger or Application, depending on scheduling, even
when running at higher priority as these threads have low-load
and qualify for task-packing.
Use single event-thread when phase offsets are same.
Debug runtime service call behavior change when same phase-offset:
1018 (set phase offset for Application): will change both
Application and SurfaceFlinger phase offsets.
1019 (set phase offset for SurfaceFlinger): Will be a no-op.
Change-Id: I2514b4ff6249e9bce3eb19f60b1dfe0de12b86d9
Pablo Ceballos [Sat, 20 Feb 2016 19:26:13 +0000 (11:26 -0800)]
Add SN logging
Bug
27046057
Change-Id: Iede7c92e59e60795df1ec7768ebafd6b090f1c27
Christopher Tate [Sat, 6 Feb 2016 03:02:56 +0000 (19:02 -0800)]
Sanity check IMemory access versus underlying mmap
Bug
26877992
Change-Id: Ibbf4b1061e4675e4e96bc944a865b53eaf6984fe
Pablo Ceballos [Fri, 12 Feb 2016 02:01:49 +0000 (18:01 -0800)]
BQ: Add permission check to BufferQueueConsumer::dump
Bug
27046057
Change-Id: Id7bd8cf95045b497943ea39dde49e877aa6f5c4e
Christopher N. Hesse [Sat, 20 Feb 2016 02:05:53 +0000 (03:05 +0100)]
binder: MemoryHeapIon: Fix size_t vs integer formatting mismatch
Change-Id: I58e4ce885bce5fc11f3e36f50a1060b682b4a512
Ethan Chen [Thu, 11 Feb 2016 01:12:02 +0000 (17:12 -0800)]
surfaceflinger: Don't allow QC HWC virtual display without QC HWC copy
* QC media encoder appears to be incapable of switching between RGBA8888
buffers and NV12_ENCODEABLE dynamically. This requires that we switch
the entire stack to use the QC opaque format, or RGBA8888.
REF: CRACKLING-938
Change-Id: Ibd6a8faf8d268d3bfb4d61e4118a778ed82f1ab5
Ethan Chen [Thu, 11 Feb 2016 01:06:54 +0000 (17:06 -0800)]
surfaceflinger: Correct QTI_BSP ifdef
* Should be #ifdef, not #if
REF: CRACKLING-938
Change-Id: Iaa203413eaf404ba03ba2eb640f6ca93fd8c901d
Robert Shih [Mon, 11 Jan 2016 23:02:12 +0000 (15:02 -0800)]
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
Bug:
26338109
Change-Id: I8a979469bfe1e317ebdefa43685e19f9302baea8
Robert Shih [Mon, 11 Jan 2016 19:42:48 +0000 (11:42 -0800)]
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
Bug:
26338113
Change-Id: I019c4df2c6adbc944122df96968ddd11a02ebe33
d34d [Tue, 19 Jan 2016 03:41:38 +0000 (19:41 -0800)]
Themes: Reference app resource when compiling theme [1/2]
This allows us to pass in the path to the target apk as an additional
included resource apk, allowing theme designers to reference styles
and attributes from the original package without needing to duplicate
them. Duplicating attributes never worked quite well, and causes
all sorts of issues, including crashing apps.
Instead of a theme declaring attributes, that are app specific, it
simply reference the originals. This way things like colors that
are style specific get included correctly.
Here's an example of stat_sys_wifi_signal_4_fully.xml using this feature.
By using ?com.android.systemui:attr/ we are able to reference attributes
defined in SystemUI directly in our themed resource.
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="17.25dp"
android:height="18dp"
android:viewportWidth="46.0"
android:viewportHeight="48.0">
<path
android:fillColor="?com.android.systemui:attr/backgroundColor"
android:pathData="M20.4,18.0"/>
<path
android:fillColor="?com.android.systemui:attr/fillColor"
android:pathData="M42.0,32.0l0.0,-4.0L26.0,18.0L26.0,7.0c0.0,-1.7 -1.3,-3.0 -3.0,
-3.0c-1.7,0.0 -3.0,1.3 -3.0,3.0l0.0,11.0L4.0,28.0l0.0,4.0l16.0,-5.0l0.0,11.0l-4.0,
3.0l0.0,3.0l7.0,-2.0l7.0,2.0l0.0,-3.0l-4.0,-3.0L26.0,27.0L42.0,32.0z"/>
</vector>
Change-Id: Ic00b5d91fc651a29a8c3ab341e5494107acd0463
TICKET: CYNGNOS-1645
Robert Shih [Fri, 15 Jan 2016 01:58:27 +0000 (01:58 +0000)]
IGraphicBufferProducer: fix QUEUE_BUFFER info leak am:
d06421fd37 am:
413318311c am:
dc9ec35294 am:
9d959e2755 am:
edb7c81a1b am:
2a7a1247cb am:
40ba03fc68
am:
ea2b6c68e1
* commit '
ea2b6c68e14b918972b1390765fdf4f748b49ba2':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
Robert Shih [Fri, 15 Jan 2016 01:56:25 +0000 (01:56 +0000)]
IGraphicBufferProducer: fix QUEUE_BUFFER info leak am:
d06421fd37 am:
413318311c am:
dc9ec35294 am:
9d959e2755 am:
edb7c81a1b am:
2a7a1247cb
am:
40ba03fc68
* commit '
40ba03fc68e6c234bb8604784716cb2481ad1c67':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
Robert Shih [Fri, 15 Jan 2016 01:54:27 +0000 (01:54 +0000)]
IGraphicBufferProducer: fix QUEUE_BUFFER info leak am:
d06421fd37 am:
413318311c am:
dc9ec35294 am:
9d959e2755 am:
edb7c81a1b
am:
2a7a1247cb
* commit '
2a7a1247cb4829daaaa4e6a6ee3e670cd2f068bf':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
Robert Shih [Fri, 15 Jan 2016 01:52:25 +0000 (01:52 +0000)]
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am:
dded8fdbb7 am:
7ee203b59d am:
dc252255af am:
202aaa8f97 am:
ec87aa5218
am:
c5cb7c489b
* commit '
c5cb7c489bcc3a52abdd4d02fb353b0a7b8557eb':
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
Robert Shih [Fri, 15 Jan 2016 01:52:25 +0000 (01:52 +0000)]
IGraphicBufferProducer: fix QUEUE_BUFFER info leak am:
d06421fd37 am:
413318311c am:
dc9ec35294 am:
9d959e2755
am:
edb7c81a1b
* commit '
edb7c81a1b99d2456910b03db9e4ac250eac2fab':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
Robert Shih [Fri, 15 Jan 2016 01:50:22 +0000 (01:50 +0000)]
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am:
dded8fdbb7 am:
7ee203b59d am:
dc252255af am:
202aaa8f97
am:
ec87aa5218
* commit '
ec87aa52189d5d3bbf5df214ab099d5de9f5836c':
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
Robert Shih [Fri, 15 Jan 2016 01:50:22 +0000 (01:50 +0000)]
IGraphicBufferProducer: fix QUEUE_BUFFER info leak am:
d06421fd37 am:
413318311c am:
dc9ec35294
am:
9d959e2755
* commit '
9d959e275561bcace3aab1f9df009c6c880003fa':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
Robert Shih [Fri, 15 Jan 2016 01:48:17 +0000 (01:48 +0000)]
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am:
dded8fdbb7 am:
7ee203b59d am:
dc252255af
am:
202aaa8f97
* commit '
202aaa8f97083b68c0a736f4cd432f61c9b0989d':
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
Robert Shih [Fri, 15 Jan 2016 01:45:18 +0000 (01:45 +0000)]
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am:
dded8fdbb7 am:
7ee203b59d
am:
dc252255af
* commit '
dc252255af835bb3a69bc9a0d01da12419c0fc05':
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
Robert Shih [Fri, 15 Jan 2016 01:45:18 +0000 (01:45 +0000)]
IGraphicBufferProducer: fix QUEUE_BUFFER info leak am:
d06421fd37 am:
413318311c
am:
dc9ec35294
* commit '
dc9ec35294b8ec6b6c349b826edc9b44f4ddb96d':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
Robert Shih [Fri, 15 Jan 2016 01:43:05 +0000 (01:43 +0000)]
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak am:
dded8fdbb7
am:
7ee203b59d
* commit '
7ee203b59d9a74d485ce2fdfd07e96b2d10ff23b':
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
Robert Shih [Fri, 15 Jan 2016 01:38:56 +0000 (01:38 +0000)]
IGraphicBufferProducer: fix QUEUE_BUFFER info leak am:
d06421fd37
am:
413318311c
* commit '
413318311c8cc356dd7e0837ce26e937a9f4c56a':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
Robert Shih [Fri, 15 Jan 2016 01:27:23 +0000 (01:27 +0000)]
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
am:
d06421fd37
* commit '
d06421fd37fbb7fd07002e6738fac3a223cb1a62':
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
Robert Shih [Fri, 15 Jan 2016 01:26:59 +0000 (01:26 +0000)]
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
am:
dded8fdbb7
* commit '
dded8fdbb700d6cc498debc69a780915bc34d755':
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
Prashant Malani [Wed, 13 Jan 2016 18:44:11 +0000 (18:44 +0000)]
Revert "inputflinger: Initial support for rotary encoders."
am:
d983fd11d4
* commit '
d983fd11d4a00b03f92d09f32c08840e66d90777':
Revert "inputflinger: Initial support for rotary encoders."
Prashant Malani [Wed, 13 Jan 2016 18:44:02 +0000 (18:44 +0000)]
Revert "inputflinger: Add support for scaling and true value reporting"
am:
2c09b78656
* commit '
2c09b78656dd97727f94fada81845b133cf142f3':
Revert "inputflinger: Add support for scaling and true value reporting"
Prashant Malani [Wed, 13 Jan 2016 09:00:25 +0000 (01:00 -0800)]
Revert "inputflinger: Initial support for rotary encoders."
This reverts commit
ac72bbf4e46d6689070df09a25db2960a9036eb2.
Prashant Malani [Wed, 13 Jan 2016 09:00:08 +0000 (01:00 -0800)]
Revert "inputflinger: Add support for scaling and true value reporting"
This reverts commit
ee03865fe5fc6ffe9deda0e0870a18206027cfaf.
Prashant Malani [Wed, 13 Jan 2016 05:33:57 +0000 (05:33 +0000)]
inputflinger: Add support for scaling and true value reporting
am:
ee03865fe5
* commit '
ee03865fe5fc6ffe9deda0e0870a18206027cfaf':
inputflinger: Add support for scaling and true value reporting
Prashant Malani [Tue, 12 Jan 2016 01:08:18 +0000 (17:08 -0800)]
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
Robert Shih [Mon, 11 Jan 2016 23:02:12 +0000 (15:02 -0800)]
IGraphicBufferProducer: fix QUEUE_BUFFER info leak
Bug:
26338109
Change-Id: I8a979469bfe1e317ebdefa43685e19f9302baea8
Robert Shih [Mon, 11 Jan 2016 19:42:48 +0000 (11:42 -0800)]
IGraphicBufferConsumer: fix ATTACH_BUFFER info leak
Bug:
26338113
Change-Id: I019c4df2c6adbc944122df96968ddd11a02ebe33
Abhisek Devkota [Fri, 8 Jan 2016 19:40:31 +0000 (11:40 -0800)]
Revert "Revert "gui: only support tertiary display if QTI_BSP is defined""
This reverts commit
fd95bb1c240eea33b0c491b1b569091d4f3d7525.
Change-Id: I0acbd3a8ba91f33e1ad60b14093101811683e04f
Arun Kumar K.R [Thu, 3 Dec 2015 02:19:20 +0000 (18:19 -0800)]
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
Tatenda Chipeperekwa [Tue, 13 Oct 2015 22:14:51 +0000 (15:14 -0700)]
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
Abhisek Devkota [Fri, 8 Jan 2016 05:28:23 +0000 (21:28 -0800)]
Revert "gui: only support tertiary display if QTI_BSP is defined"
This reverts commit
cbd3e07921a7e7525d88c7606b1b8aeb32441804.
Change-Id: I2a0f130dc64a9ebcbcaef36cfe973c759824cf8b
Matt Filetto [Mon, 21 Dec 2015 04:22:04 +0000 (20:22 -0800)]
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
Abhisek Devkota [Tue, 20 Oct 2015 22:44:32 +0000 (15:44 -0700)]
gui: only support tertiary display if QTI_BSP is defined
Non-caf display HALs crap out with this
Change-Id: I9db8a74e262e674335cd993a5365e05d3715d1e8
Christopher N. Hesse [Sat, 28 Nov 2015 23:39:51 +0000 (00:39 +0100)]
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
Mark Salyzyn [Fri, 18 Dec 2015 18:14:46 +0000 (10:14 -0800)]
dumpstate: increase logcat timeout to 40 seconds (DO NOT MERGE)
- temporary measure until root issues can be resolved.
Bug:
23685592
Change-Id: Ia33f4e3928a457c3dcd730ad2c2c57d13fbf133d
Christian Poetzsch [Mon, 7 Dec 2015 13:36:22 +0000 (13:36 +0000)]
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>
radhakrishna [Fri, 21 Feb 2014 04:31:08 +0000 (10:01 +0530)]
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