Commit Graph

47320 Commits

Author SHA1 Message Date
Mathias Agopian
57ffbe9979 am 8df840aa: Merge "strengthen region validation" into jb-mr1-dev
* commit '8df840aa76bc1cd7bc924d32ed4c69a95b33059e':
  strengthen region validation
2012-09-12 17:51:05 -07:00
Mathias Agopian
8df840aa76 Merge "strengthen region validation" into jb-mr1-dev 2012-09-12 17:49:29 -07:00
Mathias Agopian
ce3a0a541c don't call hwc with non-empty layer lists for blanked displays
we now make sure to take the blanked state of a display into
account when we build its list of visible layers, this ensures
that we won't call prepare/set with a non-empty list when the
display is blanked.

Possibly fixes 7075380, 7103553, 7130187, 7016215

Bug: 7075380
Change-Id: I9fdd2e73d1b7621eaeca3d4ac2ae60d9fb1b3631
2012-09-12 17:42:06 -07:00
Mathias Agopian
068d47f29d strengthen region validation
Change-Id: I75ee7bc4dd7a2f5357ac8994a23bc8b8bfb6eb44
2012-09-12 17:30:47 -07:00
Jamie Gennis
688115bbd7 am e45b01f5: Merge "EGL: make max cache key size BoardConfig-able" into jb-mr1-dev
* commit 'e45b01f575e877b463ca2d2b124633c3a8997e82':
  EGL: make max cache key size BoardConfig-able
2012-09-12 15:56:39 -07:00
Jamie Gennis
e45b01f575 Merge "EGL: make max cache key size BoardConfig-able" into jb-mr1-dev 2012-09-12 15:54:39 -07:00
Jesse Hall
db27621e22 Initialize new HWC 1.2 fields
Also rename resolution* to width/height.

Change-Id: Ia5f0c50d3f0a349160f314a3257c3b985e13ef1d
2012-09-12 15:35:44 -07:00
Steven Holte
646a5c593f Return back-end result from eglDestroyImageKHR
Change-Id: I0e972b778f9802c28f52092bb9af087285833e0b
2012-09-12 15:14:55 -07:00
Jesse Hall
6360ec42d4 Fix display projection transforms
Bug: 7139798
Change-Id: I61aafe99180d85563c6880d16bc367fce80e6022
2012-09-12 13:49:10 -07:00
Andy McFadden
7665ad074f am 2c7c8ba5: Merge "Fix emulator" into jb-mr1-dev
* commit '2c7c8ba56ad9c0c08fde6f86771475f03a03e6fd':
  Fix emulator
2012-09-12 13:29:24 -07:00
Andy McFadden
2c7c8ba56a Merge "Fix emulator" into jb-mr1-dev 2012-09-12 13:27:01 -07:00
Andy McFadden
da61397f5a am c2724309: Merge "Watch for SurfaceFlinger death" into jb-mr1-dev
* commit 'c272430960047de4e9b2f169fb053bd0aedce3b1':
  Watch for SurfaceFlinger death
2012-09-12 13:24:04 -07:00
Andy McFadden
c272430960 Merge "Watch for SurfaceFlinger death" into jb-mr1-dev 2012-09-12 13:22:35 -07:00
Andy McFadden
babba18687 Fix emulator
Emulator has no HWC.

Change-Id: I7810b27034f6772823142e5bf877681db1c8ee49
2012-09-12 13:17:01 -07:00
Jamie Gennis
f478e6d18c EGL: make max cache key size BoardConfig-able
This change makes the maximum EGL blob cache key size configurable via a
BoardConfig.

Change-Id: Ic669cd25fc743662bd4f13aab62354fc3d54560c
2012-09-12 11:59:24 -07:00
Jamie Gennis
95fa2dd826 am a0931d65: Merge "SurfaceTexture: eglDestroySync after duping its fd" into jb-mr1-dev
* commit 'a0931d657551f5098f805fbdeeed2b060bbe6171':
  SurfaceTexture: eglDestroySync after duping its fd
2012-09-12 11:56:26 -07:00
Jamie Gennis
a0931d6575 Merge "SurfaceTexture: eglDestroySync after duping its fd" into jb-mr1-dev 2012-09-12 11:54:52 -07:00
The Android Open Source Project
0aa60f5a7e Reconcile with jb-mr1-release - do not merge
Change-Id: Ib76f1e00f07e1ef8ce67ad3ca443edb5dcaa33d8
2012-09-12 07:40:48 -07:00
The Android Automerger
a77f0fec92 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-09-12 06:59:50 -07:00
Mathias Agopian
2749d7b5c8 am 92def36f: Merge "fix typo in LayerBase::dump()" into jb-mr1-dev
* commit '92def36f9f79973c6ca18fc66210b32e3901351d':
  fix typo in LayerBase::dump()
2012-09-11 20:54:09 -07:00
Mathias Agopian
92def36f9f Merge "fix typo in LayerBase::dump()" into jb-mr1-dev 2012-09-11 20:53:21 -07:00
Mathias Agopian
791da60dd3 fix typo in LayerBase::dump()
Change-Id: Ie4861a58baed003b7ef643931d41f6be3fbfd00c
2012-09-11 20:52:46 -07:00
Andy McFadden
944ec952e9 am 43601a2d: Reduce failure uncertainty
* commit '43601a2dc320a271ff8c3765ff61414a07221635':
  Reduce failure uncertainty
2012-09-11 17:02:51 -07:00
Andy McFadden
43601a2dc3 Reduce failure uncertainty
This adds a trivial workaround for a one-shot boot time crash, plus
an explicit check and abort for a failure condition that currently
presents as a less obvious failure.

Bug: 7145521, 7147557
Change-Id: I548f6a9caa9f0bd5710aaecea0e1c6c7c8f2f281
2012-09-11 15:15:13 -07:00
Andy McFadden
c81aa3e3d7 am b0d1dd36: Reshuffle FramebufferSurface
* commit 'b0d1dd36f104c0b581674adc7f830cbf44b7db06':
  Reshuffle FramebufferSurface
2012-09-11 10:04:55 -07:00
Andy McFadden
b0d1dd36f1 Reshuffle FramebufferSurface
FramebufferSurface no longer speaks directly to the FB HAL.  Now
everything goes through HWComposer (which may or may not be
connected to a hardware composer).

Added display index arg to some query methods.

Change-Id: Id3e157d2d4e3555d33afbb703e518b6e92e2d6d5
2012-09-11 09:31:34 -07:00
The Android Automerger
4a94ea7e65 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-09-11 06:59:40 -07:00
James Dong
fc737a1669 am 1fc4f80f: Add stack dump from drmserver process to bugreports
* commit '1fc4f80fc38f782f128102795481924a97a2d3c5':
  Add stack dump from drmserver process to bugreports
2012-09-10 17:53:43 -07:00
James Dong
1fc4f80fc3 Add stack dump from drmserver process to bugreports
This would be helpful tracking down ANR issues in drmserver

o related-to-bug: 7132419

Change-Id: I7eceaa0c29af26bd0092110be6bddf8f4c063545
2012-09-10 16:10:29 -07:00
Jamie Gennis
98ff0597bd SurfaceTexture: eglDestroySync after duping its fd
This change adds a call to eglDestroySync after we've dup'd the fd for the
Android fence that the EGLSyncKHR object wraps.

Change-Id: I4fa6ece863260793630d70bb9a69d6284d05d99e
2012-09-10 14:49:42 -07:00
Jamie Gennis
ac4f9175ae am 61e04b92: SurfaceTexture: use eglWaitSync
* commit '61e04b92bdeafc6fca89052d14dab1bd0c384a71':
  SurfaceTexture: use eglWaitSync
2012-09-10 13:33:19 -07:00
Jamie Gennis
61e04b92bd SurfaceTexture: use eglWaitSync
This change adds a compile-option to use eglWaitSyncANDROID to ensure that
texturing operations that access the current buffer of a SurfaceTexture do not
occur until the buffer is completely written.  It also moves this
synchronization into a new SurfaceTexture method called doGLFenceWait and
changes SurfaceFlinger's Layer class to use that method rather than performing
its own wait on the fence.

Change-Id: I70afa88086ca7ff49a80e3cd03d423767db7cb88
2012-09-10 13:27:23 -07:00
Jamie Gennis
26606ba0a0 am 010dd4fb: EGL: Add the EGL_ANDROID_wait_sync extension
* commit '010dd4fb892aecf71e4631c22148fe57ef5b3958':
  EGL: Add the EGL_ANDROID_wait_sync extension
2012-09-10 12:13:33 -07:00
The Android Automerger
98625e6a3e merge in jb-mr1-release history after reset to jb-mr1-dev 2012-09-10 06:59:29 -07:00
Jamie Gennis
010dd4fb89 EGL: Add the EGL_ANDROID_wait_sync extension
Change-Id: Ie9a78e07fcaf27c5c13797141ad3c692217607fb
2012-09-09 17:52:18 -07:00
Jamie Gennis
649634805d am 605f90dc: Merge "SurfaceTexture: use EGL-created native fences" into jb-mr1-dev
* commit '605f90dc867a18f1ea06203ffa70916f70820f92':
  SurfaceTexture: use EGL-created native fences
2012-09-09 13:01:20 -07:00
Jamie Gennis
605f90dc86 Merge "SurfaceTexture: use EGL-created native fences" into jb-mr1-dev 2012-09-09 13:00:16 -07:00
Jamie Gennis
01dbf5539b SurfaceTexture: use EGL-created native fences
This change adds support for using Android fences that come from EGLSyncKHR
objects as the release fence for a buffer.

Change-Id: Ice192ce2ec001020f909a2018afdf0f17b24dec9
2012-09-09 12:58:23 -07:00
The Android Automerger
ab75098eec merge in jb-mr1-release history after reset to jb-mr1-dev 2012-09-09 07:00:22 -07:00
Jeff Brown
7ee89420d8 am 4c05dd17: Ensure that viewport and frame are initialized.
* commit '4c05dd175ee3bd5119eecf368742b6510a8cfa6c':
  Ensure that viewport and frame are initialized.
2012-09-09 00:17:07 -07:00
Jeff Brown
4c05dd175e Ensure that viewport and frame are initialized.
onInitializeDisplays() was posting a transaction with changes
to the display projection.  Unfortunately, it only set the
display orientation field and left viewport and frame
uninitialized.

The uninitialized values flowed downstream and found themselves
baked into a bogus DisplayDevice mGlobalTransform.  That transform
was then applied to some Rects which were turned into Regions
that were them combined with other Regions.

Under certain situations, the uninitialized data might have
a largish value, resulting in the creation of Regions with
components in excess of the Region max-value limit of 0x7ffffff
(note that this is not INT_MAX).  Later when performing a
binary operation using the Region, the Spanner would loop
indefinitely trying to figure out how to stuff a humongous
region inside of a max-value region.  Not content to try
just once, the Spanner would continue trying again and
again, pegging the CPU and hanging surface flinger during boot.

Insanity soon followed.

Bug: 7130713
Change-Id: I0016f0c9662185be833474c212a1dd408096ae23
2012-09-09 00:07:17 -07:00
Jeff Brown
a8f4bba845 am 4fb3999c: Fix display projection.
* commit '4fb3999cea652617be5125f8a42c257467bf3c77':
  Fix display projection.
2012-09-07 15:01:48 -07:00
Jeff Brown
4fb3999cea Fix display projection.
Change-Id: I0f253dc3759b99e05ff8344b0f513d8c289702e7
2012-09-07 12:55:10 -07:00
Andy McFadden
6652b3edcb Watch for SurfaceFlinger death
The ComposerService object wasn't watching for SurfaceFlinger
restarts, which doesn't usually matter because the app framework
restarts when SurfaceFlinger dies.  However, mediaserver continues
to run, which means its ComposerService object was trying to use
a dead handle, and playback of DRM movies was failing.

This adds a DeathRecipient listener and some logic to re-establish
the SurfaceFlinger connection.

Bug 6645813

Change-Id: I07581b881d3835601aa57d5358c8259d93bc4515
2012-09-06 18:54:42 -07:00
Jamie Gennis
15c72645cd am b2725415: libgui: move fence handling into ConsumerBase
* commit 'b27254154642575dfb4bbfa79fbedde7d7ee23dd':
  libgui: move fence handling into ConsumerBase
2012-09-06 18:02:41 -07:00
Jamie Gennis
b272541546 libgui: move fence handling into ConsumerBase
This change moves some common fence handling code into the base class for
BufferQueue consumer classes.  It also makes the ConsumerBase class initialize
a buffer slot's fence with the acquire fence every time a buffer is acquired.

Change-Id: I0bd88bc269e919653b659bfb3ebfb04dd61692a0
2012-09-06 17:54:53 -07:00
Jamie Gennis
0a8e336792 am 331841b9: EGL: add the native_fence_sync extension
* commit '331841b96b92646c93c87627c03f77b892f711cd':
  EGL: add the native_fence_sync extension
2012-09-06 16:14:30 -07:00
Jamie Gennis
331841b96b EGL: add the native_fence_sync extension
This change adds support for the EGL_ANDROID_native_fence_sync extension to the
Android EGL layer.  It also fixes a couple minor issues with the extension spec.

Change-Id: Ic8829d21f37b701f33aa9c72c3d25e88e03fa3cd
2012-09-06 16:11:37 -07:00
Jamie Gennis
2ec08f825f am 8893d5bb: EGL_ANDROID_native_fence_sync: fix the version
* commit '8893d5bba1191b0dc9db1432868d8dc64de606ad':
  EGL_ANDROID_native_fence_sync: fix the version
2012-09-06 15:00:28 -07:00
The Android Open Source Project
ec11a7ec97 Reconcile with jb-mr1-release - do not merge
Change-Id: I459a44bdaaff7aebadd1db41260960bba3e3a402
2012-09-06 07:53:49 -07:00