Commit Graph

49263 Commits

Author SHA1 Message Date
Mathias Agopian b2620900a8 Merge "don't reallocate the mesh each time we use it" into klp-dev 2013-08-14 22:43:25 +00:00
Mathias Agopian 56f825e7ab Merge "SurfaceFlinger now uses GLES 2.x when available" into klp-dev 2013-08-14 22:42:52 +00:00
The Android Automerger 7e3060071a merge in klp-release history after reset to klp-dev 2013-08-14 06:06:17 -07:00
Mathias Agopian 5cdc8994a0 don't reallocate the mesh each time we use it
the Mesh object can be part of each Layer (at least currently).
also reworked the Mesh code a bit to make it easier to access
the vertex data.

Change-Id: I0490851ba898f0aa2e55b62958dcd8bdb535e98b
2013-08-13 20:51:23 -07:00
Todd Poynor 5025593d0e Merge "dumpstate: switch to HAL static libraries" into klp-dev 2013-08-14 00:22:41 +00:00
Todd Poynor 4f5b9a701b dumpstate: switch to HAL static libraries
Change-Id: I865a0b4b4a84a2d54a239e7b09874287f0c1ad56
2013-08-13 16:30:01 -07:00
Mathias Agopian 3f84483382 SurfaceFlinger now uses GLES 2.x when available
Bug: 8679321

Change-Id: I2b152d01fb4e2de2ea9fe87f1ddbd6826d7520d7
2013-08-13 16:07:45 -07:00
Mathias Agopian 5ff5a84e48 allow "system" screenshots even when the secure flag is set
we need too allow this case so that things like the rotation
animation can work.
with this change we only permit these screenshot if the
destination is SurfaceFlinger itself.

Bug: 10235036
Change-Id: I66fea5391e52b0d7f17f25827572b236f2d9eb71
2013-08-13 15:58:38 -07:00
Jesse Hall c2e41222bf Add support for EGL_KHR_gl_colorspace
Change-Id: I684d0b8556cd6c84ee4b4d67e1bb95c3b96fccfb
2013-08-13 12:10:51 -07:00
Jesse Hall 6f23562e0c Merge "Don't swallow eglCreateContext errors" into klp-dev 2013-08-13 18:33:07 +00:00
The Android Automerger b45bd30a00 merge in klp-release history after reset to klp-dev 2013-08-13 06:02:27 -07:00
Mathias Agopian 45155969dc make sure GLConsumer::releaseTexImage() works after detachFromContext()
Change-Id: I27e0bc57e927d47b2b98113ee37b5396bcc72019
2013-08-12 23:45:28 -07:00
Jesse Hall ea4fdd4beb Don't swallow eglCreateContext errors
If the implementation eglCreateContext failed, we called
eglGetError(), so we could check that it set the EGL error properly.
But since we'd already called this, when the app called eglGetError()
it would get EGL_SUCCESS!

Bug: 10181333
Change-Id: Ic45d3a8fcb8c4421e04844c6d2f52761790b5948
2013-08-12 16:43:34 -07:00
Lajos Molnar dde86f7b18 media/hardware/HardwareAPI.h: Added PrepareForAdaptivePlaybackParams
This is the param struct used by stagefright to notify codec that
the playback may include resolution changes, so that it can prepare
accordingly to avoid port reconfiguration.

Change-Id: I64e53b7ebf74c4f9d07cc9fe0cd65be55f666afe
Signed-off-by: Lajos Molnar <lajos@google.com>
Related-to-bug: 7093648
2013-08-12 12:56:08 -07:00
The Android Automerger 4efb0a9988 merge in klp-release history after reset to klp-dev 2013-08-12 06:02:07 -07:00
Mathias Agopian 96a7dc08f2 Merge "make sure we have a context when creating the 1st surface" into klp-dev 2013-08-09 04:41:19 +00:00
Mathias Agopian 9870c9b66c make GLConsumer's debug texture static
this is so that we don't burn a gralloc handle and a bit
of memory per GLConsumer.

Change-Id: I30c3e7ec45d7f1b5426aca8e06c7716870877706
2013-08-08 17:46:48 -07:00
Mathias Agopian a6bb107434 make sure we have a context when creating the 1st surface
also add an option to dump the stack trace when
calling a GL function without a context.

Change-Id: I57b72bb8c322ac4253c3077bf150621bd9863b69
2013-08-08 16:38:06 -07:00
Jesse Hall 6c913be9ca Add ISurfaceComposer::destroyDisplay
Bug: 10191053
Change-Id: Ia89286f95421344a60ffedaaca5825c4e3cd7f9e
2013-08-08 13:12:29 -07:00
The Android Automerger ff97e621c0 merge in klp-release history after reset to klp-dev 2013-08-08 07:54:13 -07:00
Mathias Agopian 74020ca133 Merge "don't hardcode debug texture dimensions" 2013-08-07 20:36:07 +00:00
Mathias Agopian 45263e2475 don't hardcode debug texture dimensions
Change-Id: I356333801d246a8cafb3e977a77dc7325e8b822d
2013-08-07 13:35:20 -07:00
Jean-Baptiste Queru 0de07adb02 am 046b72fc: Merge "fix a possible deadlock when removing a layer and destroying a client"
* commit '046b72fc5d93aae3b47b88b9f6683512d01d75d0':
  fix a possible deadlock when removing a layer and destroying a client
2013-08-07 13:18:51 -07:00
Todd Poynor b98240cc6c batteryservice: add battery current now and charge counter data
Change-Id: I4b3ea25342d4a03a8e38bfee2ef3b1ce54f82582
2013-08-07 18:30:13 +00:00
Jesse Hall 43c2718b3f Merge "Add EGL_KHR_get_all_proc_addresses to extension string" 2013-08-07 15:23:05 +00:00
Jesse Hall ff866e7642 Merge "Set the swap interval of virtual display surfaces to 0" 2013-08-07 15:23:00 +00:00
The Android Automerger a514de50dc merge in klp-release history after reset to master 2013-08-07 06:00:54 -07:00
Jesse Hall f460f55c84 Set the swap interval of virtual display surfaces to 0
This prevents slow/malicious virtual display consumers from
backpressuring SurfaceFlinger and preventing it from updating other
displays.

Bug: 10193714
Change-Id: I3e877d97202628d2d9abea24b66576f38299c14d
2013-08-06 19:32:02 -07:00
Mathias Agopian 5f51ed9499 fix tests more
Change-Id: I05c3dd6a22440844f8bd071f4c2b620b2bd8c720
2013-08-06 16:47:04 -07:00
Mathias Agopian 3dce3360e7 fix tests
Change-Id: I0f4d613481eda2c44a2d631a81d75de7e52e7a62
2013-08-06 16:42:05 -07:00
Mathias Agopian 3ca76f416b remove support for glReadPixels screenshot path
this was only needed on some chipset we're not
supporting in KLP.

Change-Id: I2e8fc07f135030bd61d2e241a8e426f1a4316425
2013-08-06 16:07:33 -07:00
Jesse Hall 21558daf69 Add EGL_KHR_get_all_proc_addresses to extension string
We've had the extended behavior since Android 4.3, but the extension
hadn't been ratified by Khronos yet so we couldn't add it to the
extension string.

Bug: 9681677
Change-Id: I78842316a3ab7a3f66a0ac1a4742d837de664c4c
2013-08-06 15:33:46 -07:00
Mathias Agopian 126b9c8e95 Fix build. 3rd attempt
Change-Id: I4317b34fd07890ea7cf9db51be42d72ef21aca89
2013-08-06 15:19:15 -07:00
Mathias Agopian db89edc94b All consumers now take an IGraphicBufferConsumer instead of a BufferQueue
this means they only have access to the consumer end of
the interface. we had a lot of code that assumed consumers
where holding a BufferQueue (i.e.: both ends), so most of
this change is untangling in fix that

Bug: 9265647
Change-Id: Ic2e2596ee14c7535f51bf26d9a897a0fc036d22c
2013-08-06 20:05:36 +00:00
Jean-Baptiste Queru 046b72fc5d Merge "fix a possible deadlock when removing a layer and destroying a client" 2013-08-06 18:37:12 +00:00
The Android Automerger accdd16614 merge in klp-release history after reset to master 2013-08-06 08:17:35 -07:00
Mathias Agopian e5886d9178 fix a possible deadlock when removing a layer and destroying a client
generally the last reference to a Layer is released in commitTransaction()
with mStateLock held. Layer itself only holds weak references to Client,
however, ~Layer() briefly promotes this weak reference -- during that time
the all other strong references to that Client go away, ~Layer is left with
the last one... then hell breaks loose as ~Client is called, which in turn
needs to acquire mStateLock.

We fix this by holding a temporary copy of the drawing state during
the transaction so that the side-effects of copying the current
state into the drawing state are seen only after mStateLock has
been released.

Bug: 9106453
Change-Id: Ic5348ac12283500ead87286a37565e8da35f1db2
2013-08-05 14:28:46 -07:00
Eino-Ville Talvala 687821c05b Merge "BufferQueue: Support query of consumer usage bits" 2013-08-05 21:10:45 +00:00
The Android Automerger a2a0651f1c merge in klp-release history after reset to master 2013-08-05 06:01:34 -07:00
Andy McFadden d9ba9707b0 Merge "Roll back recent change" 2013-08-02 22:34:13 +00:00
Andy McFadden 4b49e08385 Roll back recent change
Disable dropping of frames based on timestamp.  Resume auto-
generating timestamps in Surface.

Bug 10151804

Change-Id: I15de26158e1d7ef22a5b150e685a126dc48ae2b4
2013-08-02 15:31:45 -07:00
Mathias Agopian c1c39f8807 Merge "Binderize the consumer side of BufferQueue" 2013-08-02 20:35:26 +00:00
Andy McFadden 86cd09d388 Merge "Drop frames based on presentation timestamp" 2013-08-02 16:53:11 +00:00
Mathias Agopian a4e19521ac Binderize the consumer side of BufferQueue
While currently untested, this should allow to move the
BuffereQueue in the consumer process and have everything
work as usual.

Bug: 9265647

Change-Id: I9ca8f099f7c65b9a27b7e7a3643b46d1b58eacfc
2013-08-01 17:20:08 -07:00
Andy McFadden 14fab7dd79 Drop frames based on presentation timestamp
If there are two or more buffers pending that are ready for
immediate presentation, drop all but the last one.

Any code that didn't explicitly specify timestamps for buffers
was using the default value (auto-generated "now").  As a result,
surfaceflinger would drop frames whenever more than one buffer
was queued.  We now use zero as the auto-generated timestamp,
and we don't set the timestamp in eglBeginFrame().

Change-Id: I187f42d33de227cd3411ff0dcd3b9ce1961457eb
2013-08-01 15:58:08 -07:00
Mathias Agopian ba93b3f8e4 log an error when dequeueBuffer gets a NULL Fence
Bug: 9858745
Change-Id: If35d6a7d770bf0a42d55bc55880a9ddb721fcfd0
2013-08-01 15:48:40 -07:00
Mathias Agopian 87f9b87796 remove unused code form GraphicBuffer
Change-Id: I0dd67f1f93f654331e8f17b55730931dbc695ca7
2013-07-31 20:10:10 -07:00
Alex Ray b304edb0b1 remove libutils
libutils is being moved from frameworks/native/ to system/core/ in order
to facilitate native C++ platform (non-frameworks) code.

Change-Id: I44089fb960591a40b8a9c30faabb10459d107d71
2013-07-31 13:48:57 -07:00
The Android Automerger 3901476dc1 merge in klp-release history after reset to master 2013-07-31 06:01:38 -07:00
Brian Carlstrom 8776c34ca2 Fix BlobCache_test
Change-Id: I5b20aeb4dcff80f1e18e1165b8461d20034dc1ac
2013-07-31 01:08:36 -07:00