Commit Graph

48126 Commits

Author SHA1 Message Date
Jamie Gennis
392edd88cb SurfaceFlinger: Move GraphicBufferAlloc to libgui
This change moves the GraphicBufferAlloc class from SurfaceFlinger to libgui.

Change-Id: Idf31d2004efa2651b60590733f73c4a7b831e8a9
2012-12-11 17:54:29 -08:00
Andy McFadden
97eba8904c Avoid unnecessary texture bind
In SurfaceFlingerConsumer, check to see if native fence sync is
enabled.  If so, defer the texture binding step to Layer::onDraw.

Change-Id: I7d4034a31c0143207eea2509dfa13ef3820f9b8c
2012-12-11 16:26:51 -08:00
Andy McFadden
3325fe16e6 Merge "Refactor SurfaceTexture a bit." 2012-12-11 13:13:32 -08:00
The Android Open Source Project
3a6efcb8ce am 0c6fff72: (-s ours) Reconcile with jb-mr1.1-release - do not merge
* commit '0c6fff72f78e4f80b28ccccac9584255591dd1a2':
2012-12-11 11:57:07 -08:00
The Android Open Source Project
0c6fff72f7 Reconcile with jb-mr1.1-release - do not merge
Change-Id: I946e9036a50464f974bc2d12df9d8b119f86fa00
2012-12-11 11:54:26 -08:00
Andy McFadden
bf974abe92 Refactor SurfaceTexture a bit.
Rearranges updateTexImage() so that the SurfaceFlinger-specific
behavior is in a new SurfaceFlingerConsumer subclass.

SurfaceTexture behavior should not be altered.  Instead of
acquire-bind-release we now do acquire-release-bind, but since
it's all done with the lock held there shouldn't be any
externally-visible change.

Change-Id: Ia566e4727945e2cfb9359fc6d2a8f8af64d7b7b7
2012-12-11 09:42:51 -08:00
The Android Automerger
529cb9ed9c merge in jb-mr1.1-release history after reset to jb-mr1.1-dev 2012-12-10 19:33:41 -08:00
Jamie Gennis
0e1e53e376 am 884e3bc2: (-s ours) am 6426bd62: am f53f9c6d: [DO NOT MERGE] GraphicBufferAllocator: stall alloc for async frees
* commit '884e3bc29ed190a856f7562a73548868a7ecef2f':
  [DO NOT MERGE] GraphicBufferAllocator: stall alloc for async frees
2012-12-10 17:59:34 -08:00
Jamie Gennis
884e3bc29e am 6426bd62: am f53f9c6d: [DO NOT MERGE] GraphicBufferAllocator: stall alloc for async frees
* commit '6426bd62676c743b0b5bdc397bcab5c669c6e51f':
  [DO NOT MERGE] GraphicBufferAllocator: stall alloc for async frees
2012-12-10 17:58:33 -08:00
Jamie Gennis
6426bd6267 am f53f9c6d: [DO NOT MERGE] GraphicBufferAllocator: stall alloc for async frees
* commit 'f53f9c6d3668490f6c68f5c094c28f645c1b3da3':
  [DO NOT MERGE] GraphicBufferAllocator: stall alloc for async frees
2012-12-10 17:57:40 -08:00
Jamie Gennis
f53f9c6d36 [DO NOT MERGE] GraphicBufferAllocator: stall alloc for async frees
This change makes GraphicBufferAllocator::alloc wait for pending async frees to
complete before attempting to allocate a gralloc buffer if there are more than
8 pending async frees.

Bug: 7696861
Change-Id: I1fae86e13edefcaa153b8ce9fd057f335716059e
2012-12-10 17:19:37 -08:00
The Android Open Source Project
acdbbdcecb am 064d2529: (-s ours) Reconcile with jb-mr1.1-release - do not merge
* commit '064d252918c23cc4c90f8bc62f9ae47ba7afa4d5':
2012-12-10 15:23:22 -08:00
The Android Open Source Project
064d252918 Reconcile with jb-mr1.1-release - do not merge
Change-Id: I97991f966ea0d3a6f3bad87c82d9926d55e6d63c
2012-12-10 15:19:43 -08:00
Jamie Gennis
92573f1ba0 atrace: fix the help string
Change-Id: I19f0093d65d64e669ad71c600c103f4080bfa2c2
2012-12-07 16:29:03 -08:00
Jamie Gennis
46b6bce198 SurfaceFlinger: work around a driver bug
Change-Id: I4490f308b12e9b6fda2ea7255eb19d867d6d008c
2012-12-07 15:43:02 -08:00
Jamie Gennis
6eea6fb259 atrace: clean up tracing option enabling
This change switches atrace to use a table-driven approach to enabling and
disabling options.  It unifies how framework and kernel tracing are enabled,
and causes userland tracing options to be picked up by currently running
processes.

Change-Id: Iba2a3012ca0a67c4defdd076bce597db26e9f539
2012-12-07 14:03:07 -08:00
The Android Automerger
4f9fb2ba97 merge in jb-mr1.1-release history after reset to jb-mr1.1-dev 2012-12-07 13:26:18 -08:00
Jamie Gennis
a436799668 am 50f8d285: am d4e70620: am 72c3f7d8: Revert "ConsumerBase: free buffers outside the lock"
* commit '50f8d2856b6644059b31684687842bf9c1f2e814':
  Revert "ConsumerBase: free buffers outside the lock"
2012-12-07 11:09:12 -08:00
Jamie Gennis
50f8d2856b am d4e70620: am 72c3f7d8: Revert "ConsumerBase: free buffers outside the lock"
* commit 'd4e706208c99ff1716fb0009ec867ff29ff04a7c':
  Revert "ConsumerBase: free buffers outside the lock"
2012-12-07 11:07:03 -08:00
Jamie Gennis
d4e706208c am 72c3f7d8: Revert "ConsumerBase: free buffers outside the lock"
* commit '72c3f7d88160b7c279f90f0efe3c1cb12cd140ae':
  Revert "ConsumerBase: free buffers outside the lock"
2012-12-07 11:04:51 -08:00
Jamie Gennis
7e590a04fb am 7df16644: (-s ours) am 2d659286: am 2e59d2c3: DO NOT MERGE GraphicBufferAllocator: make frees async
* commit '7df16644c4e5fbb30d011b9098d9c8833f89f0aa':
  DO NOT MERGE GraphicBufferAllocator: make frees async
2012-12-07 11:00:33 -08:00
Jamie Gennis
7df16644c4 am 2d659286: am 2e59d2c3: DO NOT MERGE GraphicBufferAllocator: make frees async
* commit '2d659286b59dc7ff7378fe967f1c425e92155995':
  DO NOT MERGE GraphicBufferAllocator: make frees async
2012-12-07 10:59:29 -08:00
Jamie Gennis
2d659286b5 am 2e59d2c3: DO NOT MERGE GraphicBufferAllocator: make frees async
* commit '2e59d2c3fdc0bcfedbe9c5d04d7acadc3eff8887':
  DO NOT MERGE GraphicBufferAllocator: make frees async
2012-12-07 10:58:22 -08:00
Jamie Gennis
72c3f7d881 Revert "ConsumerBase: free buffers outside the lock"
This reverts commit b21a4e3b5f.
2012-12-07 10:33:07 -08:00
Jamie Gennis
2e59d2c3fd DO NOT MERGE GraphicBufferAllocator: make frees async
This change makes GraphicBufferAllocator::free queue a job to another thread to
perform the actual free operation.  This prevents potentially slow free
operations from blocking rendering.

Bug: 7675940
Change-Id: Id61099d66bb4c3949d04184e0d7f192ac18076b4
2012-12-07 10:32:13 -08:00
The Android Open Source Project
f3a736e8f0 am 7bd5a76e: (-s ours) Reconcile with jb-mr1.1-release - do not merge
* commit '7bd5a76e2e89ca6d172539ef2dfa43f42f07c001':
2012-12-07 07:56:46 -08:00
The Android Open Source Project
7bd5a76e2e Reconcile with jb-mr1.1-release - do not merge
Change-Id: Id716af997b29350c4600ae941107e96d27f1b0af
2012-12-07 07:53:15 -08:00
Jamie Gennis
b5fe96b813 am 05989772: am 3ed2736c: am b21a4e3b: ConsumerBase: free buffers outside the lock
* commit '05989772d5b46cd5328e88d546f04deef39cc3c8':
  ConsumerBase: free buffers outside the lock
2012-12-06 23:24:25 -08:00
The Android Automerger
2fef5c45e7 merge in jb-mr1.1-release history after reset to jb-mr1.1-dev 2012-12-06 19:36:11 -08:00
Jamie Gennis
05989772d5 am 3ed2736c: am b21a4e3b: ConsumerBase: free buffers outside the lock
* commit '3ed2736c10efb2f18062591e308036837d9725a4':
  ConsumerBase: free buffers outside the lock
2012-12-06 19:00:57 -08:00
Jamie Gennis
3ed2736c10 am b21a4e3b: ConsumerBase: free buffers outside the lock
* commit 'b21a4e3b5f7f07ed160ca6e1809313e2a8e2a6a4':
  ConsumerBase: free buffers outside the lock
2012-12-06 18:37:24 -08:00
Jamie Gennis
b21a4e3b5f ConsumerBase: free buffers outside the lock
This change makes ConsumerBase::onBuffersReleased hold a reference to all its
gralloc buffers until after the mutex is unlocked.  This prevents slow
gralloc::free calls from causing lock contention with rendering threads.

Bug: 7675940
Change-Id: I0ec805d1b612afeeecfffec03f982371d27d93be
2012-12-06 18:17:35 -08:00
Chris Craik
0a73f822b1 Add LinearAllocator
Moving from external/webkit/Source/WebCore/platform/graphics/android/utils/

Change-Id: If91830aa9b207dbc8692b2ca7c4a0b76778addd5
2012-12-05 17:34:54 -08:00
Igor Murashkin
6dbe6d4d0f utils: fix warnings for unused parameters
Change-Id: Ibfb755a30ba2923669060fe0aed019beecbe38a1
2012-12-05 16:10:26 -08:00
Ying Wang
ac0de62ba3 Use LOCAL_REQUIRED_MODULES to establish dependency
instead of using the tricky order-only dependency on a phony target
module name.

Change-Id: I691f2d352d1bd7f619bdb0b75070709e1b8222c0
2012-12-04 12:04:44 -08:00
Alex Ray
653078f652 utils: clarify scoped tracing functionality
ScopedTrace objects were being used in place of ATRACE_NAME because of a
misunderstanding of it's function.  Cleared up documentation for usage.

Also explicitly use global namespace for sysprop callback.

Change-Id: I7c248b486b614ccdb841659ca0dcfc644fda670a
2012-11-30 19:54:00 -08:00
Jesse Hall
c342044368 Mark extensions 'Complete', correct some stale version info
Change-Id: I46ccd8eaeacc647399a5531e262c1b01e0a080b0
2012-11-29 16:13:10 -08:00
Chad Jones
4b3c7feb65 Remove copy of atrace imported to wrong location 2012-11-29 15:13:36 -08:00
Chad Jones
6ce1093b8e Merge branch 'master' of https://googleplex-android.googlesource.com/a/platform/frameworks/native 2012-11-29 14:51:39 -08:00
Chad Jones
797105b9b5 Merge "Add the atrace utility." 2012-11-29 14:50:17 -08:00
Chad Jones
9a57c5c69b Merge atrace/ from platform/system/extras to cmds/atrace/ 2012-11-29 14:35:18 -08:00
Jesse Hall
530c0cf76c Merge "Initial draft of EGL_ANDROID_image_native_buffer" 2012-11-29 14:21:48 -08:00
Alex Ray
72f320195c Merge "utils: Use cutils tracing functionality." 2012-11-29 13:36:26 -08:00
Alex Ray
b7e06477f0 utils: Use cutils tracing functionality.
Tracing functionality has moved to cutils.

Change-Id: Ie78ccc1d59dd5178f5058fbc3858a37f9adce552
2012-11-29 13:33:14 -08:00
Jesse Hall
721192ed0d Initial draft of EGL_ANDROID_image_native_buffer
Change-Id: If9bdd27ffdb13fb85e9ef873b311d6721399f75f
2012-11-29 11:43:47 -08:00
Romain Guy
7f32b1da82 Merge "Add LruCache::Iterator" 2012-11-29 11:23:14 -08:00
The Android Open Source Project
2b556bc988 am 6d93da46: (-s ours) Reconcile with jb-mr1.1-release - do not merge
* commit '6d93da465ab8fff02728f268785e59ab86a2a0c2':
2012-11-29 09:49:34 -08:00
The Android Open Source Project
6d93da465a Reconcile with jb-mr1.1-release - do not merge
Change-Id: I83096147b7adbf5396fdb88114abce568b4ec0cc
2012-11-29 09:13:38 -08:00
The Android Automerger
d98ae61dfb merge in jb-mr1.1-release history after reset to jb-mr1.1-dev 2012-11-29 07:09:35 -08:00
Romain Guy
f1951df8a1 Add LruCache::Iterator
Required by libhwui

Change-Id: I164b9a4a82d89d132da01a56535c0df084de86f7
2012-11-28 18:26:54 -08:00