Commit Graph

47242 Commits

Author SHA1 Message Date
The Android Open Source Project
20152ac797 am d8e8e662: Reconcile with jb-mr1-factory-release jb-mr1-release - do not merge
* commit 'd8e8e66220cd71486a3b545096a1cdc298dee5fd':
  partially implement external display clipping
  Always set vertex alpha when drawing screenshot layers
  SurfaceFlinger: add animation transactions
  ugly, temporary, workaroung for a problem where a binder thread spins forever
  make sure we don't call into the HWC HAL when not needed
  Fix crashes after HDMI disconnect
  Fix issue #7271589: Cannot set Ocean HD live wallpaper
  Revert "Compatibility work around for bad graphics driver dependency."
  only abort when errors happen on the main display
  Check that HWC exists before trying to use it
  Always reset layer acquireFenceFd after commit
  fix a problem where  all hwc layers would have the SKIP flags set
  we were sometimes not setting fences properly
  A vendor ril depends on a native screen shot code.
  Revert "Added display initialization method"
  fix various issues in SF's EventThread
  Revert "SurfaceTexture: inherit from ConsumerBase"
  we were mistakenly optimizing out SF's main transactions in some cases
  Revert "Minimal changes to support multi-display HWC"
2012-11-06 12:20:29 -08:00
The Android Open Source Project
d8e8e66220 Reconcile with jb-mr1-factory-release jb-mr1-release - do not merge
Change-Id: I219247f1b0f5d87b4144dc1535039e93fc636a94
2012-11-06 12:17:20 -08:00
The Android Automerger
f67623632a merge in jb-mr1-release history after reset to jb-mr1-dev 2012-11-05 18:38:55 -08:00
Mathias Agopian
e70fbe8b32 am 02b95105: fix transitions from hwc to GLES composition
* commit '02b95105754b1859a97e234b79f41489a4677c20':
  fix transitions from hwc to GLES composition
2012-11-05 18:15:56 -08:00
Mathias Agopian
02b9510575 fix transitions from hwc to GLES composition
If we switched from HWC to GLES but the dirty region was empty
(could happen if the dirty region is outside of the screen for instance), we
need to force a full screen composition.

In this change we ignore the dirty region for the purpose of
rejecting the whole update and we rely on the fact that it will later
be expanded to the whole screen. This was the least risky fix.

Bug: 7467760, 7452931
Change-Id: I2132f2f963b00a3ce7150adadb107b0367b3862e
2012-11-05 17:50:57 -08:00
The Android Automerger
f9218b8591 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-30 08:52:44 -07:00
Colin Cross
742801c625 am 2281af96: dumpstate: add kernel memory fragmentation unusable index
* commit '2281af967dd840aade7bc55b19ea7df0e6da36f2':
  dumpstate: add kernel memory fragmentation unusable index
2012-10-29 17:08:14 -07:00
Colin Cross
2281af967d dumpstate: add kernel memory fragmentation unusable index
Dump /d/extfrag/unusable_index in bugreports.  It shows the
percentage of memory in each zone that is not available for
allocations for each order.

Change-Id: I2af6680cb609887ea7b3d6107d1aa88bd0206b52
2012-10-28 22:41:06 -07:00
Mathias Agopian
1b10e25356 partially implement external display clipping
we perform external display clipping only on the GL
side (ie: not done on the h/w composer side, which is
harder and would be too risky). in practice this means
that WFD will be clipped properly, while HDMI *may* or
may not depending on how hwc is used.

Bug: 7149437
Change-Id: I92d4d04220db72b6ffb134c7fa7a93af569723a5
2012-10-25 21:42:41 -07:00
Jason Simmons
78b4977efd Merge "Ensure that Vector::erase() returns a valid iterator" into jb-mr1-aah-dev 2012-10-25 18:03:50 -07:00
Jason Simmons
689925caf4 Ensure that Vector::erase() returns a valid iterator
Vector::erase may reallocate the Vector's storage while removing an element.
However, erase() calls begin() before calling removeItemsAt(), thus caching
a pointer the the Vector's old storage.  If the storage is reallocated,
the iterator returned by erase() will be based on the old storage pointer
and will thus be invalid.

Change-Id: I2450c55fd418e6b1c558a4ca7c024573abbaa098
2012-10-25 15:58:43 -07:00
The Android Automerger
faece69c18 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-25 13:42:23 -07:00
Mathias Agopian
f45c510009 partially implement external display clipping
we perform external display clipping only on the GL
side (ie: not done on the h/w composer side, which is
harder and would be too risky). in practice this means
that WFD will be clipped properly, while HDMI *may* or
may not depending on how hwc is used.

Bug: 7149437
Change-Id: I92d4d04220db72b6ffb134c7fa7a93af569723a5
2012-10-25 12:42:42 -07:00
Dave Burke
04075569b5 Revert "Revert "put back the unused virtuals in Vector<>""
This reverts commit 225c66a48c

Change-Id: If31a04b81052cbc7dd7bf237c07107c33066d03d
2012-10-25 11:40:51 -07:00
The Android Automerger
12f2c395c6 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-22 16:42:08 -07:00
Mathias Agopian
d17e3b5f6c prevent a client from crashing surfaceflinger
a misbehaving or malicious client could cause SF to crash
by providing a "fake" IInterface. we now check the
IInterface we get is our own and local.

Bug: 7278879
Change-Id: Ia19d05902d4b2385c5a16416148378d4998833fd
2012-10-22 14:54:23 -07:00
Jamie Gennis
ba7dc2db6e Merge "SurfaceFlinger: add support for secure displays" into jb-mr1-dev 2012-10-22 13:50:19 -07:00
Jamie Gennis
dd3cb84cfb SurfaceFlinger: add support for secure displays
This change adds support for displays that are not allowed to display surfaces
with the eSecure flag set.  All non-virtual displays are considered secure,
while virtual displays have their secure-ness specified at creation time.

Bug: 7368436
Change-Id: I81ad535d2d1e5a7ff78269017e85b111f0098500
2012-10-22 13:41:21 -07:00
Jesse Hall
4ea5d656db 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-22 10:37:22 -07:00
The Android Automerger
92f89bd1e0 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-20 23:14:12 -07:00
Andy McFadden
620685c2e6 Fix emulator vsync
The code that reserves display IDs was only run when a hardware
composer was present.  The eventControl() function, which handles
enabling of vsync, was ignoring the request because the primary
display didn't appear in its set of allocated IDs.  This moves
reservation of IDs for built-in displays outside the HWC-only block.

Also, added a couple of warnings in eventControl().

Bug 7376568

Change-Id: I185ccdf817a25499b5c2668f8f6d594afb8c1568
2012-10-19 12:53:46 -07:00
The Android Automerger
7e7150fb81 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-19 06:59:39 -07:00
Romain Guy
60393d4520 Merge "Add runtime debugging capabilities to OpenGL" into jb-mr1-dev 2012-10-18 17:33:37 -07:00
Romain Guy
16928bfeca Add runtime debugging capabilities to OpenGL
The shell property debug.egl.trace can now be set to:

0
  disables tracing
1
  logs all GL calls
error
  checks glGetError after every GL call, logs a stack trace on error
systrace
  logs each GL call to systrace

Change-Id: I34a2a2d4e19c373fd9eaa1b0cd93e67c87378996
2012-10-18 16:16:10 -07:00
The Android Automerger
7b2b577f42 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-18 06:59:41 -07:00
The Android Automerger
99991c948a merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-17 16:07:12 -07:00
Jamie Gennis
7c41bf7092 SurfaceFlinger: change the animation timeout
This change changes the animation transaction timeout from 500us to 5s.

Bug: 7362633
Change-Id: I9bed8e74f726dae2daa398afc29babcea00d5b04
2012-10-17 09:40:07 -07:00
Jamie Gennis
7f79a2bd5c Merge "BufferQueue: alloc without holding the lock" into jb-mr1-dev 2012-10-17 09:32:43 -07:00
The Android Automerger
b28efde638 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-10-16 17:30:45 -07:00
Jamie Gennis
529efdf60f 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-16 11:25:47 -07:00
Romain Guy
825a9a2dcd Merge "Update comments to reflect what the code actually does" into jb-mr1-dev 2012-10-16 09:45:01 -07:00
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
Romain Guy
be3c3e4eca Update comments to reflect what the code actually does
Change-Id: I2613aa32c29eddc52a00090656c1bd11f9f5732b
2012-10-15 19:25:18 -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
eec9e6456d merge in jb-mr1-factory-release history after reset to jb-mr1-dev 2012-10-15 12:30:57 -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
58b6a67096 merge in jb-mr1-factory-release history after reset to jb-mr1-dev 2012-10-12 16:34:34 -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
2d358c245f merge in jb-mr1-factory-release history after reset to jb-mr1-dev 2012-10-12 10:26:47 -07:00
Jamie Gennis
1efe099a51 BufferQueue: alloc without holding the lock
This change makes BufferQueue::dequeueBuffer release its mutex before
allocating new buffers.  This should alleviate lock contention in
SurfaceFlinger where SF's main thread can get blocked waiting for an allocation
operation to complete.

Bug: 7335075
Change-Id: I1b000539cc616a695afab2e9c68507db69e57b13
2012-10-11 20:08:26 -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