OSDN Git Service

android-x86/frameworks-native.git
12 years agoreturn errors properly in BitTube and SensorEventQueue
Mathias Agopian [Mon, 7 May 2012 22:20:15 +0000 (15:20 -0700)]
return errors properly in BitTube and SensorEventQueue

Change-Id: Idf31179f9fcc666e287c7b01b2007431cb60127d

12 years agoMerge "Disable EGL hibernation due to jank" into jb-dev
Jesse Hall [Sat, 5 May 2012 00:14:57 +0000 (17:14 -0700)]
Merge "Disable EGL hibernation due to jank" into jb-dev

12 years agoMerge "set a Sensor's version properly" into jb-dev
Mathias Agopian [Fri, 4 May 2012 23:30:27 +0000 (16:30 -0700)]
Merge "set a Sensor's version properly" into jb-dev

12 years agoset a Sensor's version properly
Mathias Agopian [Fri, 4 May 2012 22:47:13 +0000 (15:47 -0700)]
set a Sensor's version properly

Bug: 6447433
Change-Id: Iaa5d074a8137d9543ea78c2c6f63a750774b3057

12 years agoDisable EGL hibernation due to jank
Jesse Hall [Fri, 4 May 2012 21:52:40 +0000 (14:52 -0700)]
Disable EGL hibernation due to jank

Hibernating EGL takes a long time (>100 ms) and blocks all other
rendering. During window animations, the outgoing activity begins
hibernation before the animation stops, causing visible stutter.
Hibernation is still available by setting 'BOARD_ALLOW_EGL_HIBERNATION
:= true' in the devices BoardConfig.mk

Change-Id: Iab4e00723a1adcd97481e81b2efdc821b3e9712f

12 years agoAdd System Tracing capability to Sync Manager
Andy Stadler [Thu, 3 May 2012 22:04:37 +0000 (15:04 -0700)]
Add System Tracing capability to Sync Manager

See also: Change-Id: Ia8bc01adbba345a568405b0ac8ade96e56b40cc1

Change-Id: I2678974cf85464fbc09072b06f647a0787e6e23f

12 years agoSurfaceTexture: fix a memory leak
Jamie Gennis [Wed, 2 May 2012 20:10:56 +0000 (13:10 -0700)]
SurfaceTexture: fix a memory leak

This change fixes a memory leak.

Bug: 6414806
Change-Id: I43536689b4219a042749aec2096a1d5c4e664ae3

12 years agodon't actuate vsync hint when not needed
Mathias Agopian [Fri, 27 Apr 2012 20:55:05 +0000 (13:55 -0700)]
don't actuate vsync hint when not needed

Change-Id: I61c43dd76041816ab8cbe9aeaa55c11c1479ed03

12 years agoset vsync power hint
Mathias Agopian [Thu, 26 Apr 2012 23:11:59 +0000 (16:11 -0700)]
set vsync power hint

Change-Id: I28c2faf9ff584df3e74392712971cbcf75eb9e98

12 years agoMerge "Add traces for window manager and activity manager." into jb-dev
Dianne Hackborn [Thu, 26 Apr 2012 22:24:00 +0000 (15:24 -0700)]
Merge "Add traces for window manager and activity manager." into jb-dev

12 years agoAdd traces for window manager and activity manager.
Dianne Hackborn [Thu, 26 Apr 2012 21:15:10 +0000 (14:15 -0700)]
Add traces for window manager and activity manager.

Change-Id: I6677ca64164f234efc7856ddd173ad6989b4f59e

12 years agoMerge "gldebugger: Allow connections from root user" into jb-dev
Siva Velusamy [Thu, 26 Apr 2012 20:37:43 +0000 (13:37 -0700)]
Merge "gldebugger: Allow connections from root user" into jb-dev

12 years agogldebugger: Allow connections from root user
Siva Velusamy [Thu, 26 Apr 2012 16:05:35 +0000 (09:05 -0700)]
gldebugger: Allow connections from root user

Change-Id: I26ce670ae93c43bd36843576e824a9d7acea644d

12 years agoDefine OMX_AUDIO_AACObjectELD
Dave Burke [Tue, 24 Apr 2012 23:06:50 +0000 (16:06 -0700)]
Define OMX_AUDIO_AACObjectELD

Change-Id: Icfbcbddb46fc0bf185e00b193462bc9e035c222b

12 years agoPixelFormat.UNKNOWN should return an error when queried
Mathias Agopian [Wed, 25 Apr 2012 06:27:31 +0000 (23:27 -0700)]
PixelFormat.UNKNOWN should return an error when queried

Bug: 6294260
Change-Id: Iad6f7bcbdda0a684abca6d9584da611a8b28f7ab

12 years agolibgui: Add plumbing for active rectangle
Jamie Gennis [Wed, 18 Apr 2012 02:36:18 +0000 (19:36 -0700)]
libgui: Add plumbing for active rectangle

This change adds the plumbing to SurfaceTextureClient, BufferQueue, and
SurfaceTexture to get the active rectangle passed to the ANativeWindow to
the buffer consumer.

Change-Id: I35da0889b266327ebb079b6a7136fa3e2e8b00e6

12 years agoSurfaceTexture: detachFromContext fixed
Daniel Lam [Thu, 19 Apr 2012 04:29:19 +0000 (21:29 -0700)]
SurfaceTexture: detachFromContext fixed

Fixed AttachToContextSucceeds test SurfaceTexture test by
not deleting the current texture when cleaning up memory.

Bug: 6363186
Change-Id: Ib886bfe6bb86e25ea4825d18b5008afba6b33eae

12 years agoadd a way to query whether an ANativeWindow consumer is running ahead of the producer
Mathias Agopian [Sat, 21 Apr 2012 00:19:28 +0000 (17:19 -0700)]
add a way to query whether an ANativeWindow consumer is running ahead of the producer

Change-Id: Ibccfa1feb56db2ab11f0c0934ce2d570a2b65ae2

12 years agoupdate the binder protocol for connect to match that of queueBuffer
Mathias Agopian [Mon, 23 Apr 2012 21:28:58 +0000 (14:28 -0700)]
update the binder protocol for connect to match that of queueBuffer

indeed, connect and queueBuffer return the same data, so it's
easier to have them use the same protocol.

Change-Id: I4f9fa3be0a80c9ab0a7a4039b282ae843aab02e1

12 years agoremove SurfaceTexture::connect()
Mathias Agopian [Mon, 23 Apr 2012 20:59:36 +0000 (13:59 -0700)]
remove SurfaceTexture::connect()

use BufferQueue::connect() instead

Change-Id: I04aab7cf11304bf962cde38470747f3b19ddba42

12 years agoMerge "triple buffering is now controled by BoardConfig and enabled by default"
Mathias Agopian [Tue, 24 Apr 2012 03:04:17 +0000 (20:04 -0700)]
Merge "triple buffering is now controled by BoardConfig and enabled by default"

12 years agotriple buffering is now controled by BoardConfig and enabled by default
Mathias Agopian [Tue, 24 Apr 2012 03:00:16 +0000 (20:00 -0700)]
triple buffering is now controled by BoardConfig and enabled by default

use TARGET_DISABLE_TRIPLE_BUFFERING := true to disable
triple buffering.

Change-Id: I9875d6ddefd23c1af9e51e7ee7dec1bacd1e6799

12 years agoMerge "Scheduling group cleanup"
Glenn Kasten [Tue, 24 Apr 2012 00:11:51 +0000 (17:11 -0700)]
Merge "Scheduling group cleanup"

12 years agoSF doesn't need more than a few binder threads
Mathias Agopian [Fri, 20 Apr 2012 00:31:53 +0000 (17:31 -0700)]
SF doesn't need more than a few binder threads

Change-Id: Ic4659fb81f9990cc7caf84a496a8ae659a1d16a9

12 years agoMerge "Added an EGLTest for eglTerminate"
Mathias Agopian [Fri, 20 Apr 2012 00:22:47 +0000 (17:22 -0700)]
Merge "Added an EGLTest for eglTerminate"

12 years agoAllow the crypto plugin to specify error detail if it returns an error
Andreas Huber [Thu, 19 Apr 2012 19:55:36 +0000 (12:55 -0700)]
Allow the crypto plugin to specify error detail if it returns an error

in the range ERROR_DRM_VENDOR_MIN..ERROR_DRM_VENDOR_MAX.

Change-Id: Ic5d53e98cf6d98d92ad305d51f848e03d0bf3a84
related-to-bug: 6365261

12 years agoScheduling group cleanup
Glenn Kasten [Fri, 16 Mar 2012 14:15:23 +0000 (07:15 -0700)]
Scheduling group cleanup

Remove C++ APIs androidSetThreadSchedulingGroup and
androidGetThreadSchedulingGroup, and the ANDROID_TGROUP_* constants.

Former callers of these should now use the C APIs set_sched_policy and
get_sched_policy, and the SP_* constants.

Note: debug.sys.noschedgroups is not supported by the C APIs,
this needs to be discussed.

Change-Id: I32bbfc539ef4090faf9ef0320380e8cca9eae07c

12 years agoSF needs to render even if we don't have a h/w composer
Mathias Agopian [Thu, 19 Apr 2012 01:33:19 +0000 (18:33 -0700)]
SF needs to render even if we don't have a h/w composer

Bug: 63505746361055
Change-Id: Iab92cc31bab4771fca63619c8e3105c759535f72

12 years agoMerge "add set thread count"
Mathias Agopian [Thu, 19 Apr 2012 01:36:16 +0000 (18:36 -0700)]
Merge "add set thread count"

12 years agoadd set thread count
Mathias Agopian [Tue, 17 Apr 2012 23:11:08 +0000 (16:11 -0700)]
add set thread count

Change-Id: I70f02908d8362a465eb8a2a24356f6989847f7ba

12 years agoFix BufferQueue verbose log
Eino-Ville Talvala [Wed, 18 Apr 2012 21:46:24 +0000 (14:46 -0700)]
Fix BufferQueue verbose log

Change-Id: Id80742b5c1fd2960cc2eda3a9ba2db1078df5320

12 years agoRemove fixed USAGE_HW_TEXTURE flag from BufferQueue.
Eino-Ville Talvala [Fri, 13 Apr 2012 22:16:31 +0000 (15:16 -0700)]
Remove fixed USAGE_HW_TEXTURE flag from BufferQueue.

USAGE_HW_TEXTURE applies to SurfaceTexture, not to all uses of
BufferQueue. Refactor accordingly.

Change-Id: Ic7add5e1f2bbec3d3e796ba7f15eaa0633945d8f

12 years agoMerge "Fix deadlock when cleaning objects in eglTerminate"
Jesse Hall [Wed, 18 Apr 2012 16:04:35 +0000 (09:04 -0700)]
Merge "Fix deadlock when cleaning objects in eglTerminate"

12 years agomake sure to clear the framebuffer when using overlays
Mathias Agopian [Wed, 18 Apr 2012 09:28:45 +0000 (02:28 -0700)]
make sure to clear the framebuffer when using overlays

Bug: 63547616353719
Change-Id: I0739de3fee7c54c14b294ffd768b70ee1f541d9e

12 years agoMerge "Support tokenizing arbitrary content."
Jeff Brown [Wed, 18 Apr 2012 01:20:55 +0000 (18:20 -0700)]
Merge "Support tokenizing arbitrary content."

12 years agoSupport tokenizing arbitrary content.
Jeff Brown [Wed, 18 Apr 2012 01:19:50 +0000 (18:19 -0700)]
Support tokenizing arbitrary content.

Bug: 6110399
Change-Id: I37be63b68934fd451e6dffbf7d6079553619c0a3

12 years agoSurfaceTexture: fix a memory leak
Jamie Gennis [Tue, 17 Apr 2012 20:07:45 +0000 (13:07 -0700)]
SurfaceTexture: fix a memory leak

This change fixes an issue where we were sometimes setting the SurfaceTexture's
EGLDisplay to EGL_NO_DISPLAY in detachFromContext, and then subsequently
abandoning the texture.  Abandoning while in the detached state would result in
the eglDestroyImageKHR calls failing, which resulted in a memory leak.

Bug: 6302694
Change-Id: I24c1de0dac029a83c7508075fb8aaeaed96a14ea

12 years agoMerge changes Id79430f9,I541d3046
Jamie Gennis [Tue, 17 Apr 2012 22:52:49 +0000 (15:52 -0700)]
Merge changes Id79430f9,I541d3046

* changes:
  BufferQueue: check before tracing buffer index
  SurfaceTexture: shrink all sides when cropping

12 years agoFix deadlock when cleaning objects in eglTerminate
Jesse Hall [Tue, 17 Apr 2012 19:02:26 +0000 (12:02 -0700)]
Fix deadlock when cleaning objects in eglTerminate

When eglTerminate() is called with a window surface still exists, a
deadlock would occur since egl_display_t::terminate() holds a lock
while destroying the window surface, which calls
onWindowSurfaceDestroyed() which attempts to take the same lock.

This change refactors the hibernation code and data into a separate
object with its own lock, separate from the egl_display_t lock. This
avoids the deadlock and better encapsulates the hibernation logic.

The change also fixes a bug discovered incidentally while debugging:
hibernating after calling eglTerminate() succeeds, but will cause
awakens from subsequent eglInitialize() to fail. We will no longer
hibernate a terminated display.

Change-Id: If55e5bb603d4f8953babc439ffc8d8a60af103d9

12 years agoMerge "double checked locking pattern is not safe on SMP"
Mathias Agopian [Tue, 17 Apr 2012 21:22:45 +0000 (14:22 -0700)]
Merge "double checked locking pattern is not safe on SMP"

12 years agoMerge "Add webview tracing bit"
Chris Craik [Tue, 17 Apr 2012 17:04:42 +0000 (10:04 -0700)]
Merge "Add webview tracing bit"

12 years agoAdded an EGLTest for eglTerminate
Daniel Lam [Tue, 17 Apr 2012 05:21:02 +0000 (22:21 -0700)]
Added an EGLTest for eglTerminate

This tests if eglTerminate can succeed while objects
are leaked.  Currently the test fails because of a deadlock.

Change-Id: Ibe26edfda28691284d0674e803e8d3114f3ce4c6

12 years agoBufferQueue: check before tracing buffer index
Jamie Gennis [Tue, 17 Apr 2012 03:34:58 +0000 (20:34 -0700)]
BufferQueue: check before tracing buffer index

This change adds a check on ATRACE_ENABLED before calling snprintf to trace the
buffer index.

Change-Id: Id79430f9c69706393efd3d10780a4cc97055e9e0

12 years agoSurfaceTexture: shrink all sides when cropping
Jamie Gennis [Mon, 16 Apr 2012 20:41:05 +0000 (13:41 -0700)]
SurfaceTexture: shrink all sides when cropping

This change makes SurfaceTexture include an offset for all sides of the crop
region when cropping.  This keeps the image centered, to minimize the visual
changes when switching between the texture transform matrix-based cropping and
something that does proper cropping (e.g. HWComposer).

Change-Id: I541d3046fd92e49221b488444df36d490924d1c5

12 years agodouble checked locking pattern is not safe on SMP
Mathias Agopian [Tue, 17 Apr 2012 02:30:56 +0000 (19:30 -0700)]
double checked locking pattern is not safe on SMP

Change-Id: Ie6dd564bdcd45647cb4d62ab259462e3db112576

12 years agofix Region const_iterator.
Mathias Agopian [Tue, 17 Apr 2012 01:40:30 +0000 (18:40 -0700)]
fix Region const_iterator.

- it returned an empty rect when the region was empty, instead
of returning an empty list of rect.

- also fixed an infinite loop when boolean_operation was given
an empty list of rects

Change-Id: I62225c7dcd2832025bb8f12e6cb3762f2a7b36cb

12 years agoAdd webview tracing bit
Chris Craik [Mon, 16 Apr 2012 23:09:16 +0000 (16:09 -0700)]
Add webview tracing bit

Change-Id: I82e54f5eeb2666a255e372fd3bfcc54c1b3d76a0

12 years agoMerge "don't attempt to clip layers anymore using glScissor"
Mathias Agopian [Mon, 16 Apr 2012 23:00:11 +0000 (16:00 -0700)]
Merge "don't attempt to clip layers anymore using glScissor"

12 years agoMerge "get rid off preserve backbuffer optimization in SF"
Mathias Agopian [Mon, 16 Apr 2012 22:59:59 +0000 (15:59 -0700)]
Merge "get rid off preserve backbuffer optimization in SF"

12 years agoMerge "s/w rendered apps can now use n-buffering (n>2)"
Mathias Agopian [Mon, 16 Apr 2012 22:59:39 +0000 (15:59 -0700)]
Merge "s/w rendered apps can now use n-buffering (n>2)"

12 years agodon't attempt to clip layers anymore using glScissor
Mathias Agopian [Mon, 16 Apr 2012 10:14:05 +0000 (03:14 -0700)]
don't attempt to clip layers anymore using glScissor

this seems to hurt performance on some GPU. this change
might negatively affect performance on other GPUs though, but
probably in less time-sensitive cases. If this becomes a
problem it might become necessary to pre-clip the geometry
(so that we don't have to use glScissor).

This improves the rotation animation quite a bit.

Change-Id: I5dbe1286f7ad858ef2c1e1ad9a07ee3f26c0b1f3

12 years agoget rid off preserve backbuffer optimization in SF
Mathias Agopian [Mon, 16 Apr 2012 06:34:59 +0000 (23:34 -0700)]
get rid off preserve backbuffer optimization in SF

this optimization didn't improve performance and in fact
seemed to hurt more than anything else. it also made
things a lot more complex as it introduced edges cases
when switching to/from h/w composer.

Change-Id: Iaafc235e175f5740cd98bff914d706e02ab88bb8

12 years agomake sure to pass the transform-hint on ANW.connect
Mathias Agopian [Mon, 16 Apr 2012 07:08:26 +0000 (00:08 -0700)]
make sure to pass the transform-hint on ANW.connect

this optimization was probably lost during ST refactoring.

Change-Id: I845978c4b718cb91941d15b30484837f19714abe

12 years agoMerge "make sure to repaint the screen when screen turns on"
Mathias Agopian [Fri, 13 Apr 2012 23:21:06 +0000 (16:21 -0700)]
Merge "make sure to repaint the screen when screen turns on"

12 years agomake sure to repaint the screen when screen turns on
Mathias Agopian [Fri, 13 Apr 2012 23:18:55 +0000 (16:18 -0700)]
make sure to repaint the screen when screen turns on

Bug: 6336168
Change-Id: Ic6f11b6bf6c3d849f5cb6ac95961d10d7f88e4ec

12 years agos/w rendered apps can now use n-buffering (n>2)
Mathias Agopian [Thu, 12 Apr 2012 23:32:37 +0000 (16:32 -0700)]
s/w rendered apps can now use n-buffering (n>2)

Bug: 6311881
Change-Id: I6e52e281e8d432430aad011f6d9dcf35d7b4ac7d

12 years agoMove com.nxp.mifare to frameworks/native.
Martijn Coenen [Fri, 13 Apr 2012 04:23:28 +0000 (21:23 -0700)]
Move com.nxp.mifare to frameworks/native.

Change-Id: I4dbec41cbf062334af8d66780859736f0ee5dab3

12 years agodon't wake-up eventthread every 16ms if there are no vsync requests
Mathias Agopian [Fri, 13 Apr 2012 03:43:16 +0000 (20:43 -0700)]
don't wake-up eventthread every 16ms if there are no vsync requests

Bug: 6332534
Change-Id: Idf79ad913770c6180969f6c95a9b125fff580231

12 years agofix a typo causing pre-rotation to never work
Mathias Agopian [Fri, 13 Apr 2012 02:36:42 +0000 (19:36 -0700)]
fix a typo causing pre-rotation to never work

Change-Id: I8d698ec52d53ef1a553b887c7329413e1f49cc72

12 years agoEnabled cropping support in SurfaceTexture
Daniel Lam [Tue, 3 Apr 2012 22:54:58 +0000 (15:54 -0700)]
Enabled cropping support in SurfaceTexture

SurfaceTexture will modify the crop rect so it matches
the desired output aspect ratio when the scaling
mode is NATIVE_WINDOW_SCALING_MODE_CROP.  Added a test
for this new scaling mode.

Change-Id: I60f24dcbc294b65cd10a393d9e27d40f07d27bb6

12 years agoadd com.android.nfc_extras to native/ for pdk.
Ramanan Rajeswaran [Thu, 12 Apr 2012 20:11:23 +0000 (13:11 -0700)]
add com.android.nfc_extras to native/ for pdk.

Change-Id: Ife40ac33241878814f5d9e027e43cd176c57fb56

12 years agoMerge "Revert "handle surfaces posts independently from composition""
Mathias Agopian [Thu, 12 Apr 2012 03:45:32 +0000 (20:45 -0700)]
Merge "Revert "handle surfaces posts independently from composition""

12 years agoRevert "handle surfaces posts independently from composition"
Mathias Agopian [Thu, 12 Apr 2012 03:43:19 +0000 (20:43 -0700)]
Revert "handle surfaces posts independently from composition"

This reverts commit 562f4b2c1e555b853997113bb54b21303d642bc6.

Change-Id: I96efe11c2f0494ed2d57fc580e49c598d913830e

12 years agoSurfaceTexture: work around a compiler bug
Jamie Gennis [Thu, 12 Apr 2012 00:27:12 +0000 (17:27 -0700)]
SurfaceTexture: work around a compiler bug

This change works around a compiler bug with the GCC 4.6 toolchain.

Bug: 6292211
Change-Id: I004c4750d92a29f193a37d8e605a28fdc3b7f076

12 years agoSurfaceTexture: add a test for user sizes & prerotation
Jamie Gennis [Thu, 12 Apr 2012 00:20:03 +0000 (17:20 -0700)]
SurfaceTexture: add a test for user sizes & prerotation

This change adds 3 tests for:
- User-overridden buffer size
- Transform hint
- User-overridden buffer size with transform hint

Change-Id: Ib15ea354685e436822c506099613b2bffa7b68c9

12 years agoSurfaceTextureClient: support for application buffer dimensions
Michael I. Gold [Tue, 10 Apr 2012 02:46:29 +0000 (19:46 -0700)]
SurfaceTextureClient: support for application buffer dimensions

Add a new API native_window_set_buffers_user_dimensions to allow native
applications to override the native window size for the default buffer size.
This has lower precedence than the existing
native_window_set_buffers_dimensions and allows the two to co-exist.

Change-Id: Ie73590e1c94ef0dadbce500bd0941dfabbcace3c

12 years agohandle surfaces posts independently from composition
Mathias Agopian [Sun, 25 Mar 2012 00:47:24 +0000 (17:47 -0700)]
handle surfaces posts independently from composition

surfaceflinger will now handle each surface post
as soon as possible and handle the composition
itself at VSYNC time as usual.

Change-Id: I6b1ae33fd56062d86e5419ebab8def0ca5803fbf

12 years agoMerge "make sure to disable VSYNC while screen is off"
Mathias Agopian [Thu, 12 Apr 2012 01:13:55 +0000 (18:13 -0700)]
Merge "make sure to disable VSYNC while screen is off"

12 years agoMerge "rework screen on/off code"
Mathias Agopian [Wed, 11 Apr 2012 22:35:21 +0000 (15:35 -0700)]
Merge "rework screen on/off code"

12 years agomake sure to disable VSYNC while screen is off
Mathias Agopian [Wed, 11 Apr 2012 04:04:02 +0000 (21:04 -0700)]
make sure to disable VSYNC while screen is off

Change-Id: If1894c43b0a39a2851e1280a35ae77bccd6d9abd

12 years agoMerge "Add sdcard_r group to dumpstate."
Jeff Sharkey [Wed, 11 Apr 2012 19:31:43 +0000 (12:31 -0700)]
Merge "Add sdcard_r group to dumpstate."

12 years agoAdd sdcard_r group to dumpstate.
Jeff Sharkey [Wed, 11 Apr 2012 19:25:47 +0000 (12:25 -0700)]
Add sdcard_r group to dumpstate.

Bug: 6321962
Change-Id: I318cd88493396f3d8adb5d4d0fc7a12ee40ba737

12 years agorework screen on/off code
Mathias Agopian [Wed, 11 Apr 2012 05:09:54 +0000 (22:09 -0700)]
rework screen on/off code

Change-Id: I13f71e850592a588bbd4805b1830c503bd4decb4

12 years agoAdded vsync debugging information in dumpsys log
Mathias Agopian [Wed, 11 Apr 2012 01:25:31 +0000 (18:25 -0700)]
Added vsync debugging information in dumpsys log

Change-Id: I20ef05a73d89caaf6a70dc9ca25ada6e6a1f6ff9

12 years agouse in/out structures for queueBuffer() IPC
Mathias Agopian [Mon, 9 Apr 2012 23:14:01 +0000 (16:14 -0700)]
use in/out structures for queueBuffer() IPC

Change-Id: Ie125df2444b62a9a2200586a717dca268852afc9

12 years agoMerge "BufferQueue returns proper code on acquire"
Mathias Agopian [Wed, 11 Apr 2012 01:53:50 +0000 (18:53 -0700)]
Merge "BufferQueue returns proper code on acquire"

12 years agoBufferQueue returns proper code on acquire
Daniel Lam [Tue, 10 Apr 2012 05:51:52 +0000 (22:51 -0700)]
BufferQueue returns proper code on acquire

Also removed unnecessary debug messages from
SurfaceTextureClient.

Change-Id: I291897a44170142f9d42a007b008823fad4683e0

12 years agoHibernate the EGL implementation when idle
Jesse Hall [Thu, 5 Apr 2012 22:53:28 +0000 (15:53 -0700)]
Hibernate the EGL implementation when idle

If the EGL implementation supports the EGL_IMG_hibernate_process
extension, use it to hibernate (and hopefully release memory or other
resources) when the process isn't actively using EGL or OpenGL ES. The
idleness heuristic used in this change is:

(a) Wake up when entering any EGL API call, and remain awake for the
    duration of the call.
(b) Do not hibernate when any window surface exists; this means the
    application is very likely in the foreground.
(c) Do not hibernate while any context is made current to a thread.
    The app may be using a client API without the EGL layer knowing,
    so it is not safe to hibernate.
(d) Only check these conditions and attempt to hibernate after a
    window surface is destroyed or a thread's context is detached. By
    not attempting to hibernate at the end of every EGL call, we avoid
    some transient wakeups/hibernate cycles when the app is mostly idle,
    or is starting to become active but hasn't created its window
    surface yet.

On a Galaxy Nexus, hibernating frees 1567 VM pages from the process.
Both hibernating and waking can take anywhere from 30ms to over 100ms
-- measurements have been very inconsistent.

Change-Id: Ib555f5d9d069aefccca06e8173a89625b5f32d7e

12 years agoIncrement/decrement a counter around EGL calls
Jesse Hall [Wed, 4 Apr 2012 23:53:42 +0000 (16:53 -0700)]
Increment/decrement a counter around EGL calls

This is in preparation for a change that will hibernate the underlying
EGL when idle. Instead of a bare egl_display_t*, get_display() now
returns a egl_display_ptr, which acts like a smart pointer. The
"wakecount" counter managed by the smart pointer isn't used for
anything in this change. It will be used to make sure we don't
hibernate when any thread is in an EGL call, without having to hold a
mutex for the duration of the call.

Change-Id: Iee52f3549a51162efc3800e1195d3f76bba2f2ce

12 years agoMerge "BufferQueue no longer hardcodes buffer counts"
Mathias Agopian [Tue, 10 Apr 2012 00:35:00 +0000 (17:35 -0700)]
Merge "BufferQueue no longer hardcodes buffer counts"

12 years agostart VSYNC thread when HWC doesn't handle it
Mathias Agopian [Mon, 9 Apr 2012 21:16:47 +0000 (14:16 -0700)]
start VSYNC thread when HWC doesn't handle it

Change-Id: I853a822ea9ec13870ae25af55a89ad9a8cc3936a

12 years agoVSYNC handling cleanup
Mathias Agopian [Sun, 8 Apr 2012 22:13:32 +0000 (15:13 -0700)]
VSYNC handling cleanup

Change-Id: I1376bf864c4e03c11fb6d1333a8b7cfdda08c9e4

12 years agoavoid turning vsync off/on at each frame
Mathias Agopian [Sun, 8 Apr 2012 22:01:31 +0000 (15:01 -0700)]
avoid turning vsync off/on at each frame

always keep vsync active for an extra frame before
deciding if it should be turned off.

Change-Id: I55b03265b7851b33a595e46a013f2ab55e66c964

12 years agoBufferQueue no longer hardcodes buffer counts
Daniel Lam [Tue, 27 Mar 2012 03:37:15 +0000 (20:37 -0700)]
BufferQueue no longer hardcodes buffer counts

BufferQueue is now more flexible as it can be used
by SurfaceMediaSource in addition to SurfaceTexture.

Change-Id: I4222be8918d63372c44fcd412d9ad241c6a3eeb9

12 years agoMerge "EGL: add GPU frame completion tracing"
Jamie Gennis [Fri, 6 Apr 2012 22:58:55 +0000 (15:58 -0700)]
Merge "EGL: add GPU frame completion tracing"

12 years agoMerge "dumpstate: don't follow symlinks when creating /data/anr/traces.txt"
Nick Kralevich [Fri, 6 Apr 2012 22:34:02 +0000 (15:34 -0700)]
Merge "dumpstate: don't follow symlinks when creating /data/anr/traces.txt"

12 years agoMerge "Add a log tag"
Glenn Kasten [Fri, 6 Apr 2012 21:50:42 +0000 (14:50 -0700)]
Merge "Add a log tag"

12 years agoFix SurfaceFlinger crash in HWC::eventControl
Erik Gilling [Fri, 6 Apr 2012 21:13:32 +0000 (14:13 -0700)]
Fix SurfaceFlinger crash in HWC::eventControl

eventControl was not checking if there was a hwc before callingi
hwc->eventControl

Change-Id: I4d739fc9c0d47da131f4ffc5d50e274de156d012

12 years agoMerge "Ensure that /data/anr/traces.txt is world-writable"
Nick Kralevich [Fri, 6 Apr 2012 17:51:11 +0000 (10:51 -0700)]
Merge "Ensure that /data/anr/traces.txt is world-writable"

12 years agodumpstate: don't follow symlinks when creating /data/anr/traces.txt
Nick Kralevich [Fri, 6 Apr 2012 16:53:45 +0000 (09:53 -0700)]
dumpstate: don't follow symlinks when creating /data/anr/traces.txt

Make Android more robust against symlink attacks when /data/anr
is world-writable.

Bug: 5614000
Change-Id: I9a7e4c4ec9aa4300ac30a968db0dcd276f364ab6

12 years agoEnsure that /data/anr/traces.txt is world-writable
Nick Kralevich [Fri, 6 Apr 2012 16:31:28 +0000 (09:31 -0700)]
Ensure that /data/anr/traces.txt is world-writable

The umask changed for init. We have to force /data/anr to be world
readble and /data/anr/traces.txt to be world writable so dalvik
processes can write to it.

Hopefully this is a short term change while we investigate tightening
up these permissions.

Bug: 6300296
Change-Id: Iacb4c9f1bc69d2ac679697f9cf9a52694f888489

12 years agoEGL: add GPU frame completion tracing
Jamie Gennis [Fri, 6 Apr 2012 03:34:54 +0000 (20:34 -0700)]
EGL: add GPU frame completion tracing

This change adds a debug option to EGL to use an EGLSyncKHR each frame to
determine when the GPU finishes rendering the frame.

Change-Id: I09ce071db904b44f07ca814c586c291c8b59385a

12 years agoMerge "Fixed disconnect bug in SurfaceTexture"
Jamie Gennis [Fri, 6 Apr 2012 16:05:49 +0000 (09:05 -0700)]
Merge "Fixed disconnect bug in SurfaceTexture"

12 years agoAdd a log tag
Glenn Kasten [Thu, 5 Apr 2012 20:41:56 +0000 (13:41 -0700)]
Add a log tag

Change-Id: If30aa8536130cf6ff9918ce97c5e4e8651ae2fef

12 years agoSurfaceFlinger now uses the new VSYNC HAL API.
Mathias Agopian [Wed, 4 Apr 2012 05:09:52 +0000 (22:09 -0700)]
SurfaceFlinger now uses the new VSYNC HAL API.

If h/w composer doesn't support vsync (version < 0.3) we
"fake" it with a timer.

Change-Id: I1e3be79f43c9631d1293ad7d6cf52f9bfc42d65b

12 years agoMerge "Add HWC vsync hook. Currently unused."
Mathias Agopian [Wed, 4 Apr 2012 01:32:39 +0000 (18:32 -0700)]
Merge "Add HWC vsync hook. Currently unused."

12 years agoAdd HWC vsync hook. Currently unused.
Mathias Agopian [Tue, 3 Apr 2012 23:31:39 +0000 (16:31 -0700)]
Add HWC vsync hook. Currently unused.

Change-Id: I849d56f375813a044c5e2d0b25f791476a60fa01

12 years agorefactor / simplify EventThread
Mathias Agopian [Wed, 4 Apr 2012 00:48:03 +0000 (17:48 -0700)]
refactor / simplify EventThread

Change-Id: I3981c6fba93b7b985174b2a7045e24db2c0b4428

12 years agoMerge "use a socketpair instead of a pipe in BitTube"
Mathias Agopian [Tue, 3 Apr 2012 22:38:10 +0000 (15:38 -0700)]
Merge "use a socketpair instead of a pipe in BitTube"

12 years agoNew Crypto "HAL" API.
Andreas Huber [Tue, 3 Apr 2012 21:15:05 +0000 (14:15 -0700)]
New Crypto "HAL" API.

Change-Id: I225cdfeffb7663a2d639a01cfe704aa12f9014b8
related-to-bug: 6275919