Commit Graph

47794 Commits

Author SHA1 Message Date
Igor Murashkin
a4a3149a36 Change ConsumerBase's FrameAvailableListener to be a weak pointer
This prevents strong reference cycles when the listener implementation also
holds a strong pointer to the ConsumerBase

Bug: 7425644
Change-Id: I1514b13a32b18d421c902dddebec0765a989c55c
2012-11-05 13:39:02 -08:00
Raph Levien
3bc7b27571 Merge "Add an LRU cache plus hashing primitives" 2012-10-29 08:59:54 -07:00
Raph Levien
8185e47822 Add an LRU cache plus hashing primitives
This patch adds a hashtable-based LRU cache. This should be
significantly higher performance than the GenerationCache it is intended
to replace. It is a large part of the fix for bug 7271109
TextLayoutCache low-level performance issues.

We added a new method to BasicHashtable to detect when rehashing is
needed, because the internal linked list pointers would get invalidated
by that rehashing.

Also, the hash_type specialized to pointers had a small flaw.

Change-Id: I950c2083f96519777b851dbe157100e0a334caec
2012-10-26 16:09:22 -07:00
Jason Simmons
7e4eb72ad8 am 40cd4515: am 78b4977e: Merge "Ensure that Vector::erase() returns a valid iterator" into jb-mr1-aah-dev
* commit '40cd45151513ecc02c95e0cc1b40480dd816cdd4':
  Ensure that Vector::erase() returns a valid iterator
2012-10-25 18:08:03 -07:00
Jason Simmons
40cd451515 am 78b4977e: Merge "Ensure that Vector::erase() returns a valid iterator" into jb-mr1-aah-dev
* commit '78b4977efd365d2ad7c9227c3a89e65ab60c3260':
  Ensure that Vector::erase() returns a valid iterator
2012-10-25 18:06:06 -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
Mathias Agopian
e8966b349f am c0384266: am f45c5100: partially implement external display clipping
* commit 'c0384266699aadd23a11bcdfd8a92f6dae8bf36c':
  partially implement external display clipping
2012-10-25 17:32:17 -07:00
Mathias Agopian
c038426669 am f45c5100: partially implement external display clipping
* commit 'f45c510009edab4a3e93f8d66b2e30aa26759fed':
  partially implement external display clipping
2012-10-25 17:29:41 -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
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
0491524f83 am 296cd1cb: am 04075569: Revert "Revert "put back the unused virtuals in Vector<>""
* commit '296cd1cb9ac7b7ea201662860347755d0349a7de':
  Revert "Revert "put back the unused virtuals in Vector<>""
2012-10-25 11:48:40 -07:00
Dave Burke
296cd1cb9a am 04075569: Revert "Revert "put back the unused virtuals in Vector<>""
* commit '04075569b565c949a6db8b4e8a9f10d281de4d9c':
  Revert "Revert "put back the unused virtuals in Vector<>""
2012-10-25 11:45:41 -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
Mike Lockwood
126d215667 More changes to fix PDK build:
move screencap back to frameworks/base
move libdiskusage over from frameworks/base

Change-Id: I8415716634a4cb5b0fae15ef15ff21ee0a08906a
2012-10-24 12:30:41 -07:00
Mike Lockwood
133ea73de0 Move app_process and system_server back to frameworks/base
due to dependency on libandroid_runtime

Change-Id: Ie30a76ebb57a07ab29dc1b553c0e2dc9ab8d271a
Signed-off-by: Mike Lockwood <lockwood@google.com>
2012-10-24 11:51:51 -07:00
Mike Lockwood
94afecf4b6 Move non-Java commands over from frameworks/base
Change-Id: I0571813c1cfcf66abd36eb9f178fc49b618e88a6
Signed-off-by: Mike Lockwood <lockwood@google.com>
2012-10-24 10:45:23 -07:00
Mathias Agopian
ba0b9cca69 am ef36f2a8: am d17e3b5f: prevent a client from crashing surfaceflinger
* commit 'ef36f2a84cb8478b0baa299d980922ce7824c0b3':
  prevent a client from crashing surfaceflinger
2012-10-22 15:38:00 -07:00
Mathias Agopian
ef36f2a84c am d17e3b5f: prevent a client from crashing surfaceflinger
* commit 'd17e3b5f6cf71eb52bc81f37719254ce08244b34':
  prevent a client from crashing surfaceflinger
2012-10-22 15:35:51 -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
7ee4aba226 am 3b6055a7: am ba7dc2db: Merge "SurfaceFlinger: add support for secure displays" into jb-mr1-dev
* commit '3b6055a7184a2da7bbdd94118a8c6af875bb28b1':
  SurfaceFlinger: add support for secure displays
2012-10-22 13:57:51 -07:00
Jamie Gennis
3b6055a718 am ba7dc2db: Merge "SurfaceFlinger: add support for secure displays" into jb-mr1-dev
* commit 'ba7dc2db6e93a2407c8c328f2838591b7b760658':
  SurfaceFlinger: add support for secure displays
2012-10-22 13:54:50 -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
Andy McFadden
42371e5e63 am 44c985ef: am 620685c2: Fix emulator vsync
* commit '44c985ef7d0b6d94fa9df3fd5ea718eca0ecdbd1':
  Fix emulator vsync
2012-10-19 16:17:41 -07:00
Andy McFadden
44c985ef7d am 620685c2: Fix emulator vsync
* commit '620685c2e684082c82657732d1e35cefd0c79006':
  Fix emulator vsync
2012-10-19 16:14:34 -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
Romain Guy
d991b40739 am f58475b5: am 60393d45: Merge "Add runtime debugging capabilities to OpenGL" into jb-mr1-dev
* commit 'f58475b5ae4ccb3a31c05c79da8b2914c62a3510':
  Add runtime debugging capabilities to OpenGL
2012-10-18 17:39:13 -07:00
Romain Guy
f58475b5ae am 60393d45: Merge "Add runtime debugging capabilities to OpenGL" into jb-mr1-dev
* commit '60393d45207b6548e1f61ca104fa59aecee87d30':
  Add runtime debugging capabilities to OpenGL
2012-10-18 17:37:54 -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
Jamie Gennis
5937c9d581 am caadbc53: am 7c41bf70: SurfaceFlinger: change the animation timeout
* commit 'caadbc5324cd4503450ac6bd9bb09c3c5fcb7430':
  SurfaceFlinger: change the animation timeout
2012-10-17 16:58:54 -07:00
Jamie Gennis
caadbc5324 am 7c41bf70: SurfaceFlinger: change the animation timeout
* commit '7c41bf7092b75dba6029cd3bbc842d3a2661b0aa':
  SurfaceFlinger: change the animation timeout
2012-10-17 16:57:01 -07:00
Jamie Gennis
54c6497530 am 9097e144: am 7f79a2bd: Merge "BufferQueue: alloc without holding the lock" into jb-mr1-dev
* commit '9097e14443767b37ab0831d46c1090a3960d36e1':
  BufferQueue: alloc without holding the lock
2012-10-17 09:40:21 -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
9097e14443 am 7f79a2bd: Merge "BufferQueue: alloc without holding the lock" into jb-mr1-dev
* commit '7f79a2bd5c92bc626890dc16ffb8cd2de934e5fb':
  BufferQueue: alloc without holding the lock
2012-10-17 09:37:40 -07:00
Jamie Gennis
7f79a2bd5c Merge "BufferQueue: alloc without holding the lock" into jb-mr1-dev 2012-10-17 09:32:43 -07:00
Kenny Root
53f98e69f2 am 3fe50abb: am 125becee: am 7abbbc68: Merge "Add TEMP_FAILURE_RETRY to ZipUtils"
* commit '3fe50abbfd12a8d98717bdaba2f9af30f39affbf':
  Add TEMP_FAILURE_RETRY to ZipUtils
2012-10-16 16:31:26 -07:00
Kenny Root
3fe50abbfd am 125becee: am 7abbbc68: Merge "Add TEMP_FAILURE_RETRY to ZipUtils"
* commit '125beceefd44f6abd17ff336bb989e1850965bd8':
  Add TEMP_FAILURE_RETRY to ZipUtils
2012-10-16 16:29:17 -07:00
Kenny Root
125beceefd am 7abbbc68: Merge "Add TEMP_FAILURE_RETRY to ZipUtils"
* commit '7abbbc680d03dd8e50a709f89b78ace6b81154b0':
  Add TEMP_FAILURE_RETRY to ZipUtils
2012-10-16 16:26:42 -07:00
Kenny Root
7abbbc680d Merge "Add TEMP_FAILURE_RETRY to ZipUtils" 2012-10-16 15:57:11 -07:00
Kenny Root
d611117f24 Add TEMP_FAILURE_RETRY to ZipUtils
Change-Id: I275c415f14eeffaf9a58d45f3ea014d766441ec3
2012-10-16 14:00:56 -07:00
Romain Guy
4d0aec67c4 am 23bcd8d2: am 825a9a2d: Merge "Update comments to reflect what the code actually does" into jb-mr1-dev
* commit '23bcd8d298597659622919027c9ea921d5eed513':
  Update comments to reflect what the code actually does
2012-10-16 09:50:35 -07:00
Romain Guy
23bcd8d298 am 825a9a2d: Merge "Update comments to reflect what the code actually does" into jb-mr1-dev
* commit '825a9a2dcd1b3e139dd0677ff46f966fb23f963c':
  Update comments to reflect what the code actually does
2012-10-16 09:47:38 -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
Mathias Agopian
e7f167bffa am 179c4db2: am db9b41fd: fix a corruption in blank/unblank
* commit '179c4db2c3f26e6586b0b0fe2c576fc9ae349580':
  fix a corruption in blank/unblank
2012-10-15 20:39:30 -07:00
Mathias Agopian
179c4db2c3 am db9b41fd: fix a corruption in blank/unblank
* commit 'db9b41fd157279d1b988a854e0d7c5b43c2fac38':
  fix a corruption in blank/unblank
2012-10-15 20:38:09 -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
5bc5f22d37 am 5c51f0fb: am 3365c567: Merge "SurfaceFlinger: add animation transactions" into jb-mr1-dev
* commit '5c51f0fb38bd0cd80031da3eee6f335d5d28c3fc':
  SurfaceFlinger: add animation transactions
2012-10-15 20:26:15 -07:00
Romain Guy
1ba2f61d75 am 49fe8add: am b96fe085: Merge "Add new debug option to force 4x MSAA in OpenGL ES 2.0 apps" into jb-mr1-dev
* commit '49fe8addbfe52bf9a3e69e6250e462a70332235c':
  Add new debug option to force 4x MSAA in OpenGL ES 2.0 apps
2012-10-15 20:26:14 -07:00
Jamie Gennis
5c51f0fb38 am 3365c567: Merge "SurfaceFlinger: add animation transactions" into jb-mr1-dev
* commit '3365c56716432d3bfdf41bb82fb08df821f41d0c':
  SurfaceFlinger: add animation transactions
2012-10-15 20:19:36 -07:00