Commit Graph

1773 Commits

Author SHA1 Message Date
Steve Kondik
3141dc73b6 surfaceflinger: Clean up use of QC extended API
Change-Id: I1256605e63e90f3baaa213453246fb0e44e0c770
2015-10-12 23:36:09 -07:00
Steve Kondik
0bef28f4e6 native: Use project pathmap
Change-Id: I81752c2c433752c02ab2a922f974f363e10d8def
2015-10-12 23:36:09 -07:00
Baldev Sahu
dfab0ee254 SurfaceFlinger: Add support for MDP3
This change is porting of following commits related to MDP3

1) SurfaceFlinger: Change to support framebuffer flip for 2D blitters
- Surfaceflinger does not flip framebuffers when there are
  no layers marked for HWC_FRAMEBUFFER
- This change checks for the HWC_BLIT flag and will request a flip
  to a new FB_TARGET buffer even if there are no FRAMEBUFFER layers

  "Change-Id: I1cb44389a05c9ec049d7f0d39c288feccb11a91c"

2) SF: Avoid wormhole clear for BLIT calls
- Do not call GPU clear from SF when composition
  type is BLIT as it'll be taken care in HAL.

  "Change-Id: Ia613eb9b824c6484ecc8c8fa4ee883545d8541b8"

3) surfaceflinger: Allow gpu to render widevine level3
- Allow gpu to render widevine level3 but keep
  blocking screen shots.

  "Change-Id: I914232a062acbb7b17901dbf2b414973230e59d9"

Change-Id: I35eef9eb1597af21c195e07d5fe4c0c73ab3a269
2015-10-07 02:52:17 -07:00
Raj Kamal
67ec1ad104 sf: Avoid disabling DispSync resync
Avoid disabling DispSync resync if app and SF events aren't
using phase offsets. This prevents hardware VSYNC from turning
on always whenever something needs to be drawn, thereby
bringing down the power numbers.

Change-Id: I83c8f79eb46b9fdaa730ec32767ebed3286347b8
2015-10-06 03:22:28 -06:00
Dileep Marchya
24e0fdd93b SurfaceFlinger: Add dim layer information into HWC layer.
- Set dim layer flag = 0x80000000 to send dim layer hint to HWC.
- Clear HWC_SKIP_LAYER flag when dim layer flag is set.

Change-Id: I56904c65fb487e6e89d4c057015443730d727299
2015-10-06 03:22:28 -06:00
Ramkumar Radhakrishnan
cfd539bf4a sf: This is a combination of following changes.
Author: Prabhanjan Kandula<pkandula@codeaurora.org>
SF: Add support for inverse mounted panels.

Add 180 rotation in SF to account for inverse mounted panels.
The framework will be unaffected and use policies for a 0 mounted
panel. SF changes the global transform and silently induces the H,V
flips. Similar flips are added to screenshots as well.

CRs-Fixed: 894147

Change-Id: I6e9576ee734ee85097491eaa1e8e94cfb3731e0f

Author: Ramkumar Radhakrishnan<ramkumar@codeaurora.org>
SF: Clear visible region of layer appropriately.

Clear visible region of layer having layer stack id different than
the display layer stack id to ensure that the layer won't be present
on the wrong display layer list.

Change-Id: I59289fea63ec7a2451d4715cfe7926ba34fdb8e3

Change-Id: I5ad08a6013aa173d621ee80c766a6e19e1086a35
2015-10-06 03:22:26 -06:00
Baldev Sahu
3652b23865 SurfaceFlinger: Add support for V4L2 based wfd solution.
This change add support for V4L2 based Wi-Fi display.

Change-Id: Ib3f3868eb0b7fa2bf7e58246fb2c5cd0ddceb7e1
2015-10-06 03:22:26 -06:00
Raj Kamal
20f9ced881 SurfaceFlinger: Add support for DisplayUtils
Add DisplayUtils class which uses the custom implementations
of ExLayer, ExSurfaceFlinger, ExHWComposer,
and ExVirtualDisplaySurface classes if needed

Change-Id: Ibdd8da5d3d0d602f42b76a15d0994c6aa98bee3f
2015-10-06 03:22:25 -06:00
Tatenda Chipeperekwa
8eaa19460d SurfaceFlinger: Support get/set ActiveConfigs
This includes the following two changes squashed into one and
retaining the change I182f41edbaf9226fc62d6d17ee964998cd9f21f7

sf: Fixes for resolution change in SurfaceFlinger

1. Use active config from HWC when querying display attributes

   When we query the display attributes we should use the active
   config as reported by HWC in cases where HWC version is 1.4.
   In all other cases we should revert to the default config,
   config 0, as the active config.

2. Set/update the display config if HWC config change was successful

   The new config should only be applied if HWC succeeded in changing
   the active config. This would otherwise cause failure or undefined
   behavior if the client sets an invalid/unsupported display config.

3. Set the active config at display creation time

   When a new display device is added update the active config by
   querying HWC.

   Change-Id: I182f41edbaf9226fc62d6d17ee964998cd9f21f7

sf: Initialize active config for non-virtual displays at boot time

When a non-virtual display device is added at boot time, update the
active config by querying HWC otherwise the default config (config 0)
will be used.

    Change-Id: I90f42fa1d20ed6176c4be464a10ae69a2f6a6d55

Change-Id: I182f41edbaf9226fc62d6d17ee964998cd9f21f7
2015-10-06 03:22:24 -06:00
Dmitry Torokhov
0faaa0bd7a Inputflinger: hook up key event replacement processing
Add handling of "replacement" key events in InputReader and EventHub by
consulting device's character key map (if exists) for presence of
replacement key code for given get code and meta state combination,
before passing it to InputDispatcher.

This enables defining special keys, such as ESC, on keyboards lacking
enough physical keys, via combination of normal keys and modifiers, for
example AltR + 1 => ESC.

Bug: 24504154

Change-Id: I7e36104808bedcf724436c1fbb63d37c35cca8af
2015-09-29 13:27:16 -07:00
Michael Wright
8e81282601 DO NOT MERGE Cancel touches as well as pointer gestures.
Bug: 24302031
Change-Id: Idbe964a1a35c190a32f845e2a19542d54652d011
2015-09-22 22:05:53 +01:00
Michael Wright
a16b98c64f DO NOT MERGE Revert "am f37143d8: Merge "Cancel touches as well as pointer gestures." into mnc-dev"
This reverts commit 9b70ab7a3cb260205e81e40ba181a86710d2eb95, reversing
changes made to 153008efb5a00ed3c18d588ce15f90d2442a9786.

Bug: 24302031

Change-Id: Ia746381b30be3b54cb646ed412b7271962c4b02a
2015-09-22 22:05:48 +01:00
Prashant Malani
ac72bbf4e4 inputflinger: Initial support for rotary encoders.
This change introduces support for rotary encoder input devices.

We also define a new input source (namely, AINPUT_SOURCE_ROTARY_ENCODER)
and a new axis of input (namely, AXIS_SCROLL), since the rotary encoder
motion doesn't necessarily tie to a horizontal or vertical scroll
motion.

A ROTARY_ENCODER input device class is also introduced, corresponding to
the new input source.

A new input source can be defined as producing rotary encoder motion
events, if its corresponding .idc file contains the following
declaration:

    device.type = rotaryEncoder

Bug: 18707397

Change-Id: I8ccd540908311d1ff44fdfeba81b691895413641
Signed-off-by: Prashant Malani <pmalani@google.com>
2015-09-14 13:55:21 -07:00
Dan Stoza
f2699fc3a8 SF: Add colorTransform to DisplayInfo
Adds the colorTransform field, which defines a vendor-specific color
transform (e.g., wide gamut, sRGB, etc.) to the DisplayInfo class, and
populates it from the HWC interface.

Bug: 20853317
Change-Id: I153edc36a361407656f3eb5082b96c2da2ecbec7
2015-08-31 13:41:24 -07:00
Dan Stoza
50be1df76e Merge "SF: Track missed frames and optionally drop them" into mnc-dr-dev 2015-08-05 18:48:10 +00:00
Dan Stoza
03d7e301c8 am d87defaf: SF: Allow present if sideband stream changed
* commit 'd87defaf486ff4e9c0066754564851cfb7be49ed':
  SF: Allow present if sideband stream changed
2015-07-31 15:44:52 +00:00
Dan Stoza
d87defaf48 SF: Allow present if sideband stream changed
Allows the sideband layer to be passed all the way to HWC instead of
getting blocked by the updated PTS tracking code.

Bug: 22291067
Change-Id: Ic2f20a7528e276fff054e86ca35789c26873b348
2015-07-29 16:15:50 -07:00
Dan Stoza
14cd37cf3d SF: Track missed frames and optionally drop them
Adds code to track whether SurfaceFlinger has sent two frames to HWC in
the same vsync window. This can occur if one frame is delayed so far
it slips into the next window or just if one frame takes an abnormal
amount of time. If this occurs, it shows up as FrameMissed in systrace.

Also adds a property debug.sf.drop_missed_frames which, if set, tells
SurfaceFlinger to skip sending a frame to HWC (i.e., calling
prepare/set) when we detect this condition, which can help prevent
backpressure from the HWC implementation.

Bug: 22513558
Change-Id: I2df0d44cec5fd6edba419388d8c90b5710d1a5b6
2015-07-23 11:15:32 -07:00
Chenjie Luo
177a416625 am 99426810: Merge "Check for the presence of accel and magnetometer sensors before adding AOSP fusion sensors." into mnc-dev
* commit '99426810e4828719be84a0f8c186161578512e93':
  Check for the presence of accel and magnetometer sensors before adding AOSP fusion sensors.
2015-07-22 20:23:43 +00:00
Aravind Akella
f504789dd3 Check for the presence of accel and magnetometer sensors before adding AOSP fusion sensors.
Bug: 22502485
Change-Id: I3d9018649302b98004e4e216b2173e8411a08501
2015-07-20 17:32:09 -07:00
Adrian Roos
31e138db15 Merge "Show charging speed on Keyguard" into mnc-dr-dev 2015-07-14 19:17:11 +00:00
Michael Wright
fd54957888 Merge "Cancel touches as well as pointer gestures." into mnc-dev 2015-07-14 14:22:38 +00:00
Aravind Akella
a4864d61dc am 4904821b: Merge "Rename wakelock held internally by SensorService." into mnc-dev
* commit '4904821b212a3ee91f22a51295f86f6339cbcc8d':
  Rename wakelock held internally by SensorService.
2015-07-13 23:02:20 +00:00
Michael Wright
a44766cf0e Cancel touches as well as pointer gestures.
Bug: 19264992
Change-Id: If48e0953b972c9d69f516906adf7c6faf67e3eb8
2015-07-13 09:44:02 +01:00
Adrian Roos
687aa22c92 Show charging speed on Keyguard
Bug: 8099739
Change-Id: I2e5c21dd7ec028ce47fb03ab71e74f7fccaa9e36
2015-07-10 13:10:13 -07:00
Aravind Akella
8ef3c89eb2 Rename wakelock held internally by SensorService.
Bug: 22076400
Change-Id: I62129549b0681f200f40da01f53140245309ed88
2015-07-10 11:45:32 -07:00
Michael Wright
f37143d8a5 Merge "Cancel touches as well as pointer gestures." into mnc-dev 2015-07-09 21:56:21 +00:00
Michael Wright
fbbaf2efbb Cancel touches as well as pointer gestures.
Bug: 19264992
Change-Id: Idbe964a1a35c190a32f845e2a19542d54652d011
2015-07-09 12:43:21 -07:00
Dan Stoza
0eb2d39866 SF: Ignore PTS more than one second in the future
Some of this logic already existed, but when we optimized
SurfaceFlinger to avoid unnecessary wake-ups, we didn't carry the logic
over into the new readiness test. shouldPresentNow now returns true if
the timestamp is more than a second in the future (since it's likely a
bogus timestamp and should be ignored).

Bug: 21932760
Change-Id: Ib50970a4eb621588c0b60766c8d8d1a8bddf853b
2015-07-06 13:15:25 -07:00
Aravind Akella
841a5926fc Enable sensor data injection mode through adb.
Change-Id: I415cf8ff0871fa74babaf9b879c68f210298b472
2015-06-30 14:59:58 -07:00
Dan Stoza
49b2e13629 am 6a25a287: am 806334aa: am 1998615f: Merge "sf: Initialize EventThread before creating HWC"
* commit '6a25a2872852f23058268adcec61600460fcdfb6':
  sf: Initialize EventThread before creating HWC
2015-06-30 17:49:47 +00:00
Dan Stoza
6a25a28728 am 806334aa: am 1998615f: Merge "sf: Initialize EventThread before creating HWC"
* commit '806334aacd089d1c419ed77021a2b1bb4f7644ef':
  sf: Initialize EventThread before creating HWC
2015-06-30 17:38:41 +00:00
Michael Wright
2e099b2425 am fd0fdaf7: am 3643c88f: Merge "Send cancelation events to monitors when injection fails." into mnc-dev
* commit 'fd0fdaf73b1e8fbf643152f532f500be70f11a26':
  Send cancelation events to monitors when injection fails.
2015-06-29 17:47:15 +00:00
Michael Wright
fd0fdaf73b am 3643c88f: Merge "Send cancelation events to monitors when injection fails." into mnc-dev
* commit '3643c88f7b557e241d65c4857eaf49e28e7c03a2':
  Send cancelation events to monitors when injection fails.
2015-06-29 17:40:25 +00:00
Michael Wright
3643c88f7b Merge "Send cancelation events to monitors when injection fails." into mnc-dev 2015-06-29 17:10:46 +00:00
Dan Stoza
c08e7cb7b1 am 488986f4: am f413de05: Merge "libgui: Fix handling of rotated surface damage" into mnc-dev
* commit '488986f4ad7a92b04fdfd761ae07785019d2a9d3':
  libgui: Fix handling of rotated surface damage
2015-06-26 20:15:24 +00:00
Dan Stoza
488986f4ad am f413de05: Merge "libgui: Fix handling of rotated surface damage" into mnc-dev
* commit 'f413de05cfb9a1b84b73c8e6c306d4142130c5f7':
  libgui: Fix handling of rotated surface damage
2015-06-26 20:01:09 +00:00
Dan Stoza
db4850c01f libgui: Fix handling of rotated surface damage
Incoming surface damage was not aware that the EGL implementation was
rotating buffers in response to SurfaceFlinger's transform hint. This
didn't affect all cases because the effect was to apply a 90 degree
rotation instead of a 270 degree rotation. For full-screen updates,
things more or less worked, but in other cases this caused corruption.

This fixes that by correctly undoing the effect of rotated buffers on
the incoming surface damage, and then passing that damage down
untouched to HWC.

Bug: 22068334
Change-Id: I226ecfc7a91fe2e16edd2aa6d9149f0d26b529d6
2015-06-25 16:10:18 -07:00
Aravind Akella
12b26278df am e6045537: am 7a1b5d5d: Merge "Fix crash in SensorService. Ignore devices with no sensors." into mnc-dev
* commit 'e6045537bbce4c4f98e6a1149187bbcdaff57bcd':
  Fix crash in SensorService. Ignore devices with no sensors.
2015-06-24 16:08:13 +00:00
Aravind Akella
e6045537bb am 7a1b5d5d: Merge "Fix crash in SensorService. Ignore devices with no sensors." into mnc-dev
* commit '7a1b5d5dec10f05ec29e7251ada440b47a34c6aa':
  Fix crash in SensorService. Ignore devices with no sensors.
2015-06-24 15:56:29 +00:00
Aravind Akella
7a1b5d5dec Merge "Fix crash in SensorService. Ignore devices with no sensors." into mnc-dev 2015-06-24 15:34:59 +00:00
Aravind Akella
ee155cadb2 Fix crash in SensorService. Ignore devices with no sensors.
Change-Id: I1491740baa6348f97c336b6883b11ad2ab93cf73
2015-06-24 08:32:56 -07:00
Dan Stoza
e2bfdfafae am c8c0992a: am 0638a4fa: Merge "libgui/SF: Propagate SECURE Layer flag changes" into mnc-dev
* commit 'c8c0992ace7733c983e87e8e7154d844a54e5741':
  libgui/SF: Propagate SECURE Layer flag changes
2015-06-23 18:13:16 +00:00
Michael Wright
39c32ecf37 am 7d3ad695: Merge commit \'71997c1a\' into manualmerge
* commit '7d3ad695304a1f24026227e630add6edd76fd0d6':
  Add new AINPUT_SOURCE_BLUETOOTH_STYLUS
2015-06-23 18:13:15 +00:00
Dan Stoza
c8c0992ace am 0638a4fa: Merge "libgui/SF: Propagate SECURE Layer flag changes" into mnc-dev
* commit '0638a4fac7250e260c0102c770090cb7eefca936':
  libgui/SF: Propagate SECURE Layer flag changes
2015-06-23 18:07:31 +00:00
Michael Wright
7d3ad69530 Merge commit '71997c1a' into manualmerge
Change-Id: Ia68fbd20ce66571dfd33764e52c3a00e2285e648
2015-06-23 19:04:31 +01:00
Dan Stoza
0638a4fac7 Merge "libgui/SF: Propagate SECURE Layer flag changes" into mnc-dev 2015-06-23 15:44:10 +00:00
Michael Wright
71997c1a92 Merge "Add new AINPUT_SOURCE_BLUETOOTH_STYLUS" into mnc-dev 2015-06-23 12:49:30 +00:00
Aravind Akella
645832b969 am 357e7d7d: am 94188464: Merge "More information in sensor bugreports." into mnc-dev
* commit '357e7d7dcdd579d979054daf0a28b0a348d7ee7a':
  More information in sensor bugreports.
2015-06-22 18:53:32 +00:00
Aravind Akella
357e7d7dcd am 94188464: Merge "More information in sensor bugreports." into mnc-dev
* commit '9418846431f494b53a5e9c617aed27693079c163':
  More information in sensor bugreports.
2015-06-22 18:40:18 +00:00
Dan Stoza
2311608667 libgui/SF: Propagate SECURE Layer flag changes
This allows changes to the SECURE flag to propagate down to
Layers in SurfaceFlinger so that WindowManager can change it on the fly
in response to device policy updates.

Bug: 20934462
Change-Id: I558f6d22c6273be373f1f480365e42536af18a33
2015-06-18 15:11:20 -07:00
Aravind Akella
18d6d51a00 More information in sensor bugreports.
i) Log last 20 activations/deactivations of sensors.
ii) Increase logging upto 50 events for accelerometer, step_counter and significant motion.

Change-Id: I3966ed0abda8b705f3d16e94a9370fa1b97baa57
2015-06-18 14:24:05 -07:00
Saurabh Shah
f948105810 sf: Initialize EventThread before creating HWC
Once HWC is created, it could use any of the provided hooks, which
could lead to a crash if the EventThread (handler) isn't initialized
prior to creating HWC.

Change-Id: I5ea35fe9bcb150fb74aae1295b798bd787ad6cee
2015-06-17 11:08:29 -07:00
Manoj Kumar AVM
f1bc814276 am 407f48c8: am e04e4edc: sf: Fix incorrect state reporting in dumpsys
* commit '407f48c825351e7b5cbf455a85aff2154c696fdd':
  sf: Fix incorrect state reporting in dumpsys
2015-06-12 17:44:06 +00:00
Manoj Kumar AVM
407f48c825 am e04e4edc: sf: Fix incorrect state reporting in dumpsys
* commit 'e04e4edcd1a852058775caa34cf73e2c20dc1066':
  sf: Fix incorrect state reporting in dumpsys
2015-06-12 17:31:23 +00:00
Manoj Kumar AVM
e04e4edcd1 sf: Fix incorrect state reporting in dumpsys
Dumpsys utility accesses layer compositionType variable
with out proper protection. These variables are modified
during hwc_prepare call. Existing HAL lock protection is not
sufficient to address this issue. Failure to do this will
result in incorrect state reporting in dumpsys.

A new displayLock mutex in HWComposer will be used in both
dumpsys and draw calls to ensure correct state is accessed.

Change-Id: I8a57de59525adc0e089b3bed95c067c01e42b666
(cherry picked from commit e54506b81a)
2015-06-12 09:48:07 -07:00
Michael Wright
2f78b68cf1 Add new AINPUT_SOURCE_BLUETOOTH_STYLUS
Bug: 21531826
Change-Id: I3792860ad3f6579ceb50ccaa212f8fbd471a9b6b
2015-06-12 15:25:08 +01:00
Michael Wright
fa13dcf39f Send cancelation events to monitors when injection fails.
Bug: 20649729
Change-Id: I46cd14ac1f040d404c0b1581b38fa07a944e5fb9
2015-06-12 13:25:11 +01:00
Manoj Kumar AVM
e54506b81a sf: Fix incorrect state reporting in dumpsys
Dumpsys utility accesses layer compositionType variable
with out proper protection. These variables are modified
during hwc_prepare call. Existing HAL lock protection is not
sufficient to address this issue. Failure to do this will
result in incorrect state reporting in dumpsys.

A new displayLock mutex in HWComposer will be used in both
dumpsys and draw calls to ensure correct state is accessed.

Change-Id: I8a57de59525adc0e089b3bed95c067c01e42b666
2015-06-11 18:21:18 -04:00
Tatenda Chipeperekwa
40da48bfdf sf: Add a NULL check in getDisplayConfigs
Validate the display binder by adding a NULL check in getDisplayConfigs.
This will prevent a false match if the caller queries the display
configs for an inactive display (whose binder is NULL by default).

Without this change we might end up attempting to index the display
config array, which is unpopulated for inactive displays, and this will
result in a crash. (See getDisplayInfo in SurfaceComposerClient.cpp for
an example of this scenario)

Change-Id: Ib32a7dc8378d3438df0dba1ecd608bbcfc837717
2015-06-11 12:28:41 -07:00
Tatenda Chipeperekwa
0abd853a68 am c1d4662f: am 23e16bb5: sf: Add a NULL check in getDisplayConfigs
* commit 'c1d4662f0e596021e0d8360cd1c5d213c3c8c4ba':
  sf: Add a NULL check in getDisplayConfigs
2015-06-11 19:09:30 +00:00
Tatenda Chipeperekwa
c1d4662f0e am 23e16bb5: sf: Add a NULL check in getDisplayConfigs
* commit '23e16bb5dae277cd20a739ca56553ae931c43ccf':
  sf: Add a NULL check in getDisplayConfigs
2015-06-11 18:57:28 +00:00
Tatenda Chipeperekwa
23e16bb5da sf: Add a NULL check in getDisplayConfigs
Validate the display binder by adding a NULL check in getDisplayConfigs.
This will prevent a false match if the caller queries the display
configs for an inactive display (whose binder is NULL by default).

Without this change we might end up attempting to index the display
config array, which is unpopulated for inactive displays, and this will
result in a crash. (See getDisplayInfo in SurfaceComposerClient.cpp for
an example of this scenario)

Change-Id: I1a12f43b7c375b9c01998dadd5b658275c733fb2
(cherry picked from commit ac71c26e9180d9d181be5ec9e45da72d39144a8b)
2015-06-11 10:40:21 -07:00
Aravind Akella
cd2e238ead am ce5af4b2: am 52720f45: Merge "Use LOCATION_HARDWARE permission for data injection." into mnc-dev
* commit 'ce5af4b234ed6f5d6c39d47426d4e961bf3c2858':
  Use LOCATION_HARDWARE permission for data injection.
2015-06-11 02:35:26 +00:00
Aravind Akella
ce5af4b234 am 52720f45: Merge "Use LOCATION_HARDWARE permission for data injection." into mnc-dev
* commit '52720f45098e9aed57c906e64a13e4a4a2173ce8':
  Use LOCATION_HARDWARE permission for data injection.
2015-06-11 02:08:19 +00:00
Aravind Akella
52720f4509 Merge "Use LOCATION_HARDWARE permission for data injection." into mnc-dev 2015-06-10 22:56:27 +00:00
Aravind Akella
a8814ce478 Use LOCATION_HARDWARE permission for data injection.
Change-Id: Ie81cb0d5f537d5431f2127891cca1d39c969ee7b
2015-06-10 15:15:57 -07:00
Dan Stoza
d1adebc2da am 355950c1: am d177e044: Merge "SF: Swap w/h when capturing rotated screenshots" into mnc-dev
* commit '355950c1fc19c35c75203ea761882168f0980181':
  SF: Swap w/h when capturing rotated screenshots
2015-06-10 18:08:31 +00:00
Dan Stoza
355950c1fc am d177e044: Merge "SF: Swap w/h when capturing rotated screenshots" into mnc-dev
* commit 'd177e044d129bbecc3900a7fcd442b354de768df':
  SF: Swap w/h when capturing rotated screenshots
2015-06-10 17:52:50 +00:00
Michael Wright
a393c62f22 am f8b34319: am 043bd36b: Merge "Only log dropped input when disabled for the first event." into mnc-dev
* commit 'f8b34319a4c1ccce63b5a8e4732f162d228085cb':
  Only log dropped input when disabled for the first event.
2015-06-10 17:47:58 +00:00
Dan Stoza
65dc7eeff0 SF: Swap w/h when capturing rotated screenshots
Swaps width and height when capturing a screenshot that is rotated by
90 or 270 degrees.

Bug: 8433742
Change-Id: Ibf0b604f541e3cc271e56fe0ad04dc366beb5d79
(cherry picked from commit 3502416204)
2015-06-10 10:33:21 -07:00
Michael Wright
f8b34319a4 am 043bd36b: Merge "Only log dropped input when disabled for the first event." into mnc-dev
* commit '043bd36b0d50efa81d010c64009317af160d5fec':
  Only log dropped input when disabled for the first event.
2015-06-10 17:32:41 +00:00
Dan Stoza
d177e044d1 Merge "SF: Swap w/h when capturing rotated screenshots" into mnc-dev 2015-06-10 17:28:33 +00:00
Michael Wright
043bd36b0d Merge "Only log dropped input when disabled for the first event." into mnc-dev 2015-06-10 17:08:03 +00:00
Tim Kilbourn
82cdd76e60 Merge "Mock out more inputflinger host functions" 2015-06-10 16:38:42 +00:00
Michael Wright
3a98172289 Only log dropped input when disabled for the first event.
Bug: 19851495
Change-Id: I8cb8076723c1ca1732c3bc37f283d8eb48b7bee0
2015-06-10 15:26:13 +01:00
Dan Stoza
3502416204 SF: Swap w/h when capturing rotated screenshots
Swaps width and height when capturing a screenshot that is rotated by
90 or 270 degrees.

Bug: 8433742
Change-Id: Ibf0b604f541e3cc271e56fe0ad04dc366beb5d79
2015-06-09 16:46:20 -07:00
Dan Stoza
074a13a3cb SF: Don't crop surface damage against viewport
Apply the display transform to surface damage, but don't intersect it
with the viewport.

Bug: 21486007
Change-Id: I94e697cea52096a960385d5f3b89609fdcf30a02
(cherry picked from commit 17833a1b0d)
2015-06-09 13:27:45 -07:00
Dan Stoza
53a2e97a78 libgui/SurfaceFlinger: Add getConsumerName
Adds a getConsumerName method to IGraphicBufferProducer and Surface.
Currently, the name is cached inside of IGBP and is update on connect
and dequeueBuffer, which should be good enough for most uses.

Bug: 6667401
Change-Id: I22c7881d778e495cf8276de7bbcd769e52429915
(cherry picked from commit c6f30bdee1)
2015-06-09 11:28:37 -07:00
Tim Kilbourn
c472986d4c Mock out more inputflinger host functions
Change-Id: I3de1e95930578410d8f7c1e77329c00f05b72325
2015-06-08 14:44:33 -07:00
Dan Stoza
271b69c4df am bcb868db: am c6f30bde: libgui/SurfaceFlinger: Add getConsumerName
* commit 'bcb868db922b7114e2a295282da723e1bad585f3':
  libgui/SurfaceFlinger: Add getConsumerName
2015-06-08 18:38:53 +00:00
Dan Stoza
993772a60a libgui: Add generation numbers to BufferQueue
This change allows producers to set a generation number on a
BufferQueue. This number will be embedded in any new GraphicBuffers
created in that BufferQueue, and attempts to attach buffers which have
a different generation number will fail.

It also plumbs the setGenerationNumber method through Surface, with the
additional effect that any buffers attached to the Surface after
setting a new generation number will automatically be updated with the
new number (as opposed to failing, as would happen on through IGBP).

Bug: 20923096
Change-Id: I32bf726b035f99c3e5834beaf76afb9f01adcbc2
(cherry picked from commit 812ed0644f)
2015-06-08 11:18:16 -07:00
Dan Stoza
bcb868db92 am c6f30bde: libgui/SurfaceFlinger: Add getConsumerName
* commit 'c6f30bdee1f634eb90d68cb76efe935b6535a1e8':
  libgui/SurfaceFlinger: Add getConsumerName
2015-06-08 17:18:52 +00:00
Dan Stoza
c6f30bdee1 libgui/SurfaceFlinger: Add getConsumerName
Adds a getConsumerName method to IGraphicBufferProducer and Surface.
Currently, the name is cached inside of IGBP and is update on connect
and dequeueBuffer, which should be good enough for most uses.

Bug: 6667401
Change-Id: I22c7881d778e495cf8276de7bbcd769e52429915
2015-06-08 09:40:49 -07:00
Dan Stoza
57f50e6a1e am d7214d62: am 9d2c5a7c: Merge "libgui: Add generation numbers to BufferQueue" into mnc-dev
* commit 'd7214d62639f02db9a420eb3f97259a4c909da45':
  libgui: Add generation numbers to BufferQueue
2015-06-05 16:07:35 +00:00
Dan Stoza
a697ab7088 am 37fea879: am 17833a1b: SF: Don\'t crop surface damage against viewport
* commit '37fea879609963703e75f46cb3267fa86d1f2bd2':
  SF: Don't crop surface damage against viewport
2015-06-05 16:07:34 +00:00
Dan Stoza
d7214d6263 am 9d2c5a7c: Merge "libgui: Add generation numbers to BufferQueue" into mnc-dev
* commit '9d2c5a7c678bd384df0fb29952cf8943e7b1b160':
  libgui: Add generation numbers to BufferQueue
2015-06-05 16:00:13 +00:00
Dan Stoza
37fea87960 am 17833a1b: SF: Don\'t crop surface damage against viewport
* commit '17833a1b0d70cd5cea342cadea9fdbbf16748bc6':
  SF: Don't crop surface damage against viewport
2015-06-05 16:00:12 +00:00
Dan Stoza
9d2c5a7c67 Merge "libgui: Add generation numbers to BufferQueue" into mnc-dev 2015-06-05 15:38:35 +00:00
Dan Stoza
17833a1b0d SF: Don't crop surface damage against viewport
Apply the display transform to surface damage, but don't intersect it
with the viewport.

Bug: 21486007
Change-Id: I94e697cea52096a960385d5f3b89609fdcf30a02
2015-06-04 19:41:06 -07:00
Tim Kilbourn
895a1bfc60 Merge "Basic implementation of input device properties." 2015-06-03 21:26:07 +00:00
Dan Stoza
812ed0644f libgui: Add generation numbers to BufferQueue
This change allows producers to set a generation number on a
BufferQueue. This number will be embedded in any new GraphicBuffers
created in that BufferQueue, and attempts to attach buffers which have
a different generation number will fail.

It also plumbs the setGenerationNumber method through Surface, with the
additional effect that any buffers attached to the Surface after
setting a new generation number will automatically be updated with the
new number (as opposed to failing, as would happen on through IGBP).

Bug: 20923096
Change-Id: I32bf726b035f99c3e5834beaf76afb9f01adcbc2
2015-06-03 11:09:33 -07:00
Dan Stoza
407cabe503 am 958e9bbd: am 75145aa2: Merge "SF: Reduce resync samples without present"
* commit '958e9bbdc6a048da386c62a71adcde5ec8a78cdd':
  SF: Reduce resync samples without present
2015-06-01 18:43:57 +00:00
Dan Stoza
ef78916d86 SF: Reduce resync samples without present
Reduces the number of resync samples that DispSync will attempt to
collect without an intervening present from 12 to 4. The former value
was causing excessive power draw for some vendors' implementations, and
reducing it doesn't seem to harm anything.

Bug: 20724456
Change-Id: Ifd6e0490be67756ed001d509a38e8a36953b4618
(cherry picked from commit 9c64757f65)
2015-06-01 11:26:34 -07:00
Tim Kilbourn
3e38aad022 Basic implementation of input device properties.
The input host can load an idc file and pass the resulting property
map to a HAL module.

Change-Id: Ic8188c9eca193c78686ff67680cf37be91c47526
2015-06-01 10:54:47 -07:00
Dan Stoza
9c64757f65 SF: Reduce resync samples without present
Reduces the number of resync samples that DispSync will attempt to
collect without an intervening present from 12 to 4. The former value
was causing excessive power draw for some vendors' implementations, and
reducing it doesn't seem to harm anything.

Bug: 20724456
Change-Id: Ifd6e0490be67756ed001d509a38e8a36953b4618
2015-05-29 13:00:23 -07:00
Dan Stoza
42ace4b5c6 SurfaceFlinger: Tweak whitespace in DdmConnection
Change-Id: I99e7b09e4bc3611ffb790eddfbb9b3c8b9bc5d4c
2015-05-28 14:23:54 -07:00
Jeff Brown
8b04725f14 Bypass surface flinger permission check for calls from system.
Early during the boot, before activity manager is ready to handle
permission checks, the system needs to be able to change the display
state.  Added a hardcoded exemption for AID_SYSTEM (which already
has permission to talk to surface flinger anyhow).

Bug: 19029490
Change-Id: I6222edcab8e394e5fb6adf7a982be446e4505a1e
(cherry picked from commit 3bfe51d790)
2015-05-28 14:19:22 -07:00
Ajay Dudani
ae569747b6 surfaceflinger: Fix range check for getFormat
Fix potential buffer overflow error in getFormat with indices
greater than MAX_HWC_DISPLAYS.

Change-Id: I5e5b69d8d043e900f5e33ca9a62e94ae5f857b68
(cherry picked from commit 4e3e30c2d5)
2015-05-28 14:19:10 -07:00
Dan Stoza
8e8eba5091 SF: Skip render-to-texture for color transforms
In cases where SurfaceFlinger is applying a color matrix (usually for
accessibility features), we previously would perform a render-to-
texture for the initial composition, and then apply the matrix during
a copy to the framebuffer. This changes that behavior to just apply the
matrix during composition without a render-to-texture pass.

This may result in a perceived change of the image in cases with alpha
blending, since the blending is performed at a different stage of the
pipeline and the system effectively performs non-linear blends.
However, neither this nor the prior render-to-texture pass is strictly
correct in that regard, and this approach is less error-prone and
likely faster.

Change-Id: I2110ff0374f61d76df7b087dde8a1ed98990440c
(cherry picked from commit f008799d37)
2015-05-28 13:35:39 -07:00