Commit Graph

47204 Commits

Author SHA1 Message Date
The Android Automerger
af49b5e2c7 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-16 06:59:29 -07:00
Mathias Agopian
db9b41fd15 fix a corruption in blank/unblank
we were holding a reference (ie: pointer) to a sp<DisplayDevice>
while processing the message. Meanwhile the object itself could
go away and we would end up accessing a dead object.

the root cause of the problem is that we are accessing mDisplays[]
in a few places outside of the main thread.

Bug: 7352770
Change-Id: I89e35dd85fb30e9a6383eca9a0bbc7028363876c
2012-10-15 20:31:12 -07:00
Jamie Gennis
3365c56716 Merge "SurfaceFlinger: add animation transactions" into jb-mr1-dev 2012-10-15 19:36:12 -07:00
Jamie Gennis
2d5e230292 SurfaceFlinger: add animation transactions
This change adds a transaction flag for WindowManager to indicate that a
transaction is being used to animate windows around the screen.  SurfaceFlinger
will not allow more than one of these transactions to be outstanding at a time
to prevent the animation "frames" from being dropped.

Bug: 7353840
Change-Id: I6488a6e0e1ed13d27356d2203c9dc766dc6b1759
2012-10-15 19:09:04 -07:00
Romain Guy
b96fe08540 Merge "Add new debug option to force 4x MSAA in OpenGL ES 2.0 apps" into jb-mr1-dev 2012-10-15 18:43:20 -07:00
Romain Guy
1cffc80f97 Add new debug option to force 4x MSAA in OpenGL ES 2.0 apps
Change-Id: I53ac91a9ce07b5dd5f2ee0e3cc5b65b6402f9229
2012-10-15 18:13:05 -07:00
Jesse Hall
837d2f9e83 Always set vertex alpha when drawing screenshot layers
The screenshot is a GL_RGB texture, and the GL_REPLACE texture env
mode uses vertex alpha for GL_RGB textures instead of alpha=1.0.

Bug: 7340077
Change-Id: I6fbb907023e48f9c422b15a33da79757d6726840
2012-10-15 12:38:33 -07:00
The Android Automerger
286d5fad99 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-13 03:50:10 -07:00
Kenny Root
9bdaa60b80 Merge "Add TEMP_FAILURE_RETRY around open and write calls" into jb-mr1-dev 2012-10-12 23:39:48 -07:00
The Android Automerger
37e0f65619 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-12 16:32:47 -07:00
Jamie Gennis
dd57d55194 Merge "SurfaceFlinger: make the num FBs a board config" into jb-mr1-dev 2012-10-12 14:33:52 -07:00
Jamie Gennis
cdbaecb541 SurfaceFlinger: make the num FBs a board config
Bug: 7283132
Change-Id: I38116f39fc18212f2daab94bbfc3daaf89439fc4
2012-10-12 14:29:12 -07:00
Kenny Root
3de9cd2029 Add TEMP_FAILURE_RETRY around open and write calls
Bug: 7330849
Change-Id: I9aef3c3d3a248c3eea7ca060124ad6decaa6b4da
2012-10-12 11:37:58 -07:00
The Android Automerger
a58b6a4bcd merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-11 16:26:37 -07:00
The Android Automerger
0c1c3948d3 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-11 07:03:50 -07:00
Jesse Hall
b763d5fffa Assume LayerScreenshot has pre-multiplied alpha
Bug: 7300129
Change-Id: Ie9114adc4b5c9a8cc3c65bfe6d9478b2cba4e0d8
2012-10-10 21:40:26 -07:00
Andy McFadden
f0c89b28be Merge "Fix HDMI unblank behavior" into jb-mr1-dev 2012-10-10 19:34:11 -07:00
Andy McFadden
9e9689c111 Fix HDMI unblank behavior
Two issues:

(1) We were announcing the hotplug event before we were ready to
handle blank/unblank events, so we were losing the initial unblank
that power manager sends us when HDMI is first plugged in.  This
left the display blank until you toggled the device power off/on.

(2) We were retaining fbTargetHandle for HDMI after the display was
disconnected.  The value didn't get updated when HDMI was reconnected
because the display was blank, so we didn't go through that code
path.  So, when HDMI was re-connected, we passed stale data into
the HWC.

Bug 7323938

Change-Id: I2335d24fd7b0f00bb23fc63aa7bcf44cb8857c73
2012-10-10 18:17:51 -07:00
The Android Automerger
a9e3004d69 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-10 14:06:39 -07:00
Chet Haase
8d5d201980 Revert "Add GL Error logs (temporary)"
This reverts commit 2da2c15068.
2012-10-10 13:10:40 -07:00
The Android Automerger
a4927aea77 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-10 06:59:29 -07:00
Mathias Agopian
0acb00c2d7 Merge "fix typo that prevented proper loging of EGL error code" into jb-mr1-dev 2012-10-09 16:52:37 -07:00
Jeff Brown
c5b58166e8 Merge "don't automatically unblank external displays" into jb-mr1-dev 2012-10-09 16:50:56 -07:00
Mathias Agopian
b8fc00bfb4 fix typo that prevented proper loging of EGL error code
needed for investigating 7309949

Bug: 7309949
Change-Id: If29a5c08d0e87f46b44ba2e1030be61cb4d1403b
2012-10-09 16:44:48 -07:00
Mathias Agopian
45778999c7 Merge "Fence didn't manager sync_wait error codes properly" into jb-mr1-dev 2012-10-09 16:36:30 -07:00
Mathias Agopian
3292cae8c3 don't automatically unblank external displays
this should be handled by the display-manager. we were doing
that in SF because until recently we didn't have enough support
in the HAL. however, this is now causing other problems when
plugging hdmi while the screen is off for instance.

Bug: 7150885
Change-Id: I739b209056a765d38d05295cf202f67ee0f506ae
2012-10-09 14:49:01 -07:00
Mathias Agopian
b5c9dcdf3b Fence didn't manager sync_wait error codes properly
error codes are returned in errno, this caused ::waitForwever()
to only wait for 1 second and return improper error code (-1).

needed to help debugging 7316632

Bug: 7316632
Change-Id: Ie144f614a88393393972a3a770c6b4b0581f961a
2012-10-09 14:38:19 -07:00
The Android Automerger
c0609a2743 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-09 06:59:29 -07:00
Jeff Brown
2a09bb3219 Add blankDisplay/unblankDisplay to SurfaceComposerClient.
Bug: 7309812
Change-Id: Ia401d642094a46c62f0d26c65da1d11341e203a1
2012-10-08 19:13:57 -07:00
Mathias Agopian
cb55857bbd fix dumpsys Layer name when using multiple displays
Bug: 7288401
Change-Id: I14beeef58fac5270cef3b611e18c163060efe6c3
2012-10-08 15:57:17 -07:00
The Android Automerger
60b974f657 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-07 18:58:06 -07:00
Mathias Agopian
1b3aeb4844 fix SurfaceFlinger DDMS debugging
DdmHandleAppName.setAppName() signature changed which broke
this debugging feature.

Needed for debugging b\7267680

Change-Id: I4482bf5a441e91bef89d1ddea9a4152333be7f88
2012-10-07 16:41:12 -07:00
The Android Automerger
6e218edaa2 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-07 06:59:27 -07:00
Dave Burke
6d24eef4b6 Merge "Revert "ugly, temporary, workaroung for a problem where a binder thread spins forever"" into jb-mr1-dev 2012-10-07 01:06:15 -07:00
Dave Burke
0bed1f541d Revert "ugly, temporary, workaroung for a problem where a binder thread spins forever"
This reverts commit 0845d0245e

Change-Id: I395037cb9427cd11f7de6bb78fbdfa917fc6263a
2012-10-06 23:20:00 -07:00
Mathias Agopian
3e9f3b67b1 ugly, temporary, workaroung for a problem where a binder thread spins forever
Bug: 7289992
Change-Id: I0c3d482a1af57e5f444be2ba7f2751ac3e954af2
2012-10-06 00:39:26 -07:00
Dave Burke
dba919c5f3 Merge "ugly, temporary, workaroung for a problem where a binder thread spins forever" into jb-mr1-dev 2012-10-05 23:25:57 -07:00
Mathias Agopian
0845d0245e ugly, temporary, workaroung for a problem where a binder thread spins forever
Bug: 7289992
Change-Id: I0c3d482a1af57e5f444be2ba7f2751ac3e954af2
2012-10-05 17:28:04 -07:00
Jesse Hall
9504eb915c Fix race condition in ConsumerBase::addReleaseFence()
This needs the ConsumerBase mutex locked, but wasn't locking it. Two
of the four places that called it already held the lock so were fine.
Now addReleaseFence() takes the lock itself, and I added
addReleaseFenceLocked() for the two already-locked callers, since in
one of them dropping the lock would be inconvenient.

Bug: 7289269
Change-Id: I7a5628adb516f8eec782aa6c14128202f96d7b0a
2012-10-05 14:40:50 -07:00
The Android Automerger
0f326b9ab2 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-05 06:59:39 -07:00
Stephen Hines
0e8fcc2c27 Merge "Fix missing parens in CleanSpec.mk." into jb-mr1-dev 2012-10-04 21:42:30 -07:00
Mathias Agopian
e835976d28 Merge "Tone down a fatal assert" into jb-mr1-dev 2012-10-04 20:24:17 -07:00
Stephen Hines
d920670f25 Fix missing parens in CleanSpec.mk.
Change-Id: I0440a942d3e685d619ec9cc402d3293cb3f52df1
2012-10-04 20:05:19 -07:00
Chet Haase
27b28fd996 Merge "Add GL Error logs (temporary)" into jb-mr1-dev 2012-10-04 19:45:17 -07:00
Andy McFadden
5a8f9012ee Tone down a fatal assert
The new disconnectDisplay function doesn't handle virtual displays,
but it may be called for them.  Return without doing anything.

Bug 7281786

Change-Id: I62607f2ae6073fa66b393f55932604aeb8e03566
2012-10-04 19:09:45 -07:00
Raph Levien
3fbbd076ad Fix broken CleanSpec.mk in libs/gui
The CleanSpec is missing parens, which causes $P to be interpreted as a
single variable, and the following printed to the log:

Clean step: rm -rf RODUCT_OUT/obj/SHARED_LIBRARIES/libgui_intermediates

This patch adds parens as needed.

Change-Id: I587998fa67a4884418c286360a577cdbb6ea9a21
2012-10-04 19:00:45 -07:00
Mathias Agopian
947abbdd2c make sure we don't call into the HWC HAL when not needed
when enabling/disabling vsync we now make sure to
not call into the HAL if the state wouldn't change.

Bug: 7274951

Change-Id: Ie24a6d68888a51b577acf9c2a973d85437cbacaf
2012-10-04 18:06:03 -07:00
Chet Haase
2da2c15068 Add GL Error logs (temporary)
Adding logs to tell which specific methods throw OpenGL errors.

Change-Id: I1d73c7566ed1ea6610392020411762c6255a0ede
2012-10-04 17:15:59 -07:00
Jesse Hall
9a14392256 Ignore display state changes for disconnected displays
When a display is disconnected, removing it from SurfaceFlinger's
display list is non-atomic with removing it from the Display Manager
and any in-flight transactions. So SurfaceFlinger might get a display
state change transaction for a display it has already forgotten about.
Just ignore these.

Bug: 7288082
Change-Id: Ic27e55377f3db40fb34e3b1cd67e43297df117a2
2012-10-04 16:40:35 -07:00
Mathias Agopian
81cd5d3b94 make sure we don't call into the HWC HAL when not needed
when enabling/disabling vsync we now make sure to
not call into the HAL if the state wouldn't change.

Bug: 7274951

Change-Id: Ie24a6d68888a51b577acf9c2a973d85437cbacaf
2012-10-04 15:25:32 -07:00