Commit Graph

48268 Commits

Author SHA1 Message Date
Mathias Agopian
8171aece3d fix uninitialized attribute in SurfaceFlinger
Change-Id: I8277f67e297a8b6a99195387060d03154a2cd929
2013-03-28 17:52:36 -07:00
Mathias Agopian
bf667e3155 Merge changes I22f1b358,I5496d0de,Ifd98966b into jb-mr2-dev
* changes:
  replace eglWaitSyncANDROID by eglWaitSyncKHR
  update EGL headers to most recent
  cleanup EGL extensions strings and entry-points
2013-03-28 22:51:06 +00:00
Jesse Hall
94ebadf433 Merge "Remove unused clz.cpp" into jb-mr2-dev 2013-03-28 22:16:50 +00:00
Mathias Agopian
2bb716871c replace eglWaitSyncANDROID by eglWaitSyncKHR
Change-Id: I22f1b3588011c88389e249f738f1e6915cc97e72
2013-03-28 14:31:09 -07:00
Mathias Agopian
12af3f6665 update EGL headers to most recent
- add ANDROID extensions missing from official headers:
    EGL_ANDROID_wait_sync
    EGL_ANDROID_presentation_time

Change-Id: I5496d0de123a6279234098c19f9a12220adec876
2013-03-28 14:17:54 -07:00
Mathias Agopian
e9b3dfb7d5 cleanup EGL extensions strings and entry-points
- move all the code related to EGL extensions in one place

- add missing extension strings:
   EGL_KHR_lock_surface
   EGL_KHR_reusable_sync

- add public extensions strings and entry-points
   EGL_ANDROID_wait_sync
   EGL_ANDROID_presentation_time

- add missing entry-points for EGL_KHR_reusable_sync

Change-Id: Ifd98966b549e8efd8ef5385eba0efde8c4cbc77b
2013-03-28 14:17:54 -07:00
Jamie Gennis
f7f29c8f9d atrace: add support for app tracing
This change adds support for the -a command line argument to atrace.  This
argument sets the comma separated list of application names (i.e.
/proc/self/cmdline values) for which to enable application-level tracing.

Change-Id: I812d57c4cdc581943247229413f09b7e1adc10d0
2013-03-28 13:53:45 -07:00
Jesse Hall
c9a4e2f7dc am 4194b389: am 0b6c4157: Merge "frameworks/native/opengl: Fix build with gcc 4.8"
* commit '4194b3898df867a5c4377de49ddc72ad3e51122b':
  frameworks/native/opengl: Fix build with gcc 4.8
2013-03-28 13:22:34 -07:00
Jesse Hall
4194b3898d am 0b6c4157: Merge "frameworks/native/opengl: Fix build with gcc 4.8"
* commit '0b6c41571b636cc9b47005fa971db19430cedc09':
  frameworks/native/opengl: Fix build with gcc 4.8
2013-03-28 13:21:05 -07:00
Jesse Hall
0b6c41571b Merge "frameworks/native/opengl: Fix build with gcc 4.8" 2013-03-28 19:28:36 +00:00
Jesse Hall
b1196e6356 Remove unused clz.cpp
Change-Id: Ieed91a45ba0e865a0d47d84effe9439aaab4371f
2013-03-28 12:27:01 -07:00
Jamie Gennis
9794f90368 Merge "atrace: fix tracing on user builds" into jb-mr2-dev 2013-03-28 18:14:14 +00:00
Jamie Gennis
6f6f3f710b atrace: fix tracing on user builds
Change-Id: Idef15d514f0bd1e117362c6a06a2ea24314feb7f
2013-03-27 15:50:30 -07:00
Bernhard Rosenkränzer
c80fae6e85 frameworks/native/opengl: Fix build with gcc 4.8
In gcc 4.8, the warning for unused parameters (such as JNIEnv* pointers
in JNI functions that don't need it) is enabled by default - causing
-Werror to break the build.

Change-Id: Ib91721f2cb9912b79c2ac19b4210b1309b08304f
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2013-03-27 14:06:39 +01:00
Mathias Agopian
caa81f0ed8 Merge "make sure to unlock the screenshot's buffer on destruction" into jb-mr2-dev 2013-03-27 01:30:36 +00:00
Mathias Agopian
8000d0694b make sure to unlock the screenshot's buffer on destruction
this fixes a memory leak on various devices

Bug: 8475134
Change-Id: I25924674c803a0cb22371a95c60664c36acb0340
2013-03-26 18:15:35 -07:00
Keun-young Park
9dd8d897d3 am 1cd763f1: am cd91024c: Merge "[MIPS] Avoid unaligned load/store for 64-bit doubles."
* commit '1cd763f123b9f1a2772ddff15ace81ec07b7660c':
  [MIPS] Avoid unaligned load/store for 64-bit doubles.
2013-03-26 11:45:01 -07:00
Keun-young Park
1cd763f123 am cd91024c: Merge "[MIPS] Avoid unaligned load/store for 64-bit doubles."
* commit 'cd91024ca16db96daa697e22f7a088b416a424e3':
  [MIPS] Avoid unaligned load/store for 64-bit doubles.
2013-03-26 11:43:05 -07:00
Keun-young Park
cd91024ca1 Merge "[MIPS] Avoid unaligned load/store for 64-bit doubles." 2013-03-26 17:47:19 +00:00
Geremy Condra
437bdbbaec Merge "Add seinfo parsing to PackageManagerService." into jb-mr2-dev 2013-03-26 01:39:22 +00:00
Robert Craig
4d3fd4e998 Add seinfo parsing to PackageManagerService.
This patch set allows the PMS to parse the
mac_permissions.xml file which contains the
seinfo values. Each package that is installed
on the device will be assigned an seinfo value
based on policy. This seinfo value will help label
the app process and data directory.  Modifications
include adjustments to ApplicationInfo.java
to store the seinfo tag per package as well as
adjustments to installd to communicate the seinfo
tag to libselinux.

Change-Id: I61ad1ea12fb6a9a6d0b108ec163bc4bf4c954b58
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2013-03-25 17:37:51 -07:00
Jeff Sharkey
d7cde4285c Merge "Bugreport broadcasts are only useful to owners." into jb-mr2-dev 2013-03-26 00:18:37 +00:00
Jeff Sharkey
aaaa57bf89 Bugreport broadcasts are only useful to owners.
Bug: 8415156
Change-Id: Ia73969262abe9f715f038dad934651d7e5d65c87
2013-03-25 17:15:57 -07:00
Jesse Hall
5a557a61d6 Merge "Fix virtual displays for HWC<=1.1" into jb-mr2-dev 2013-03-25 22:37:04 +00:00
Jesse Hall
78d2a07f7a Merge changes I98927540,I95c71e8d into jb-mr2-dev
* changes:
  Fix dump when virtual display exists
  Isolate knowledge that fb target == output buffer
2013-03-25 22:36:38 +00:00
Dianne Hackborn
0046d9614a Implement #8323587, #8323342, #8323590: new features.
8323587: Add feature for supporting app widgets
8323342: Add feature for replacing the home screen
8323590: Add feature for supporting input methods

The app widget service looks for the app widget feature
and refuses to work if it doesn't exist.  I didn't do
this for the input method service because some devices
will probably want to still make use of that mechanism
without supporting third party input methods.

Change-Id: Ia358ccc6059d43f163d74810c7cbe9568a67ede9
2013-03-22 17:24:57 -07:00
Jesse Hall
ffe1f19ca9 Fix virtual displays for HWC<=1.1
If we're using a HWC that doesn't support virtual displays, or we have
more virtual displays than HWC supports concurrently, the
VirtualDisplaySurface should simply be a passthrough from source
(GLES) to sink.

This change also tries to distinguish between display types and HWC
display IDs a little better, though there's more to do here. Probably
needs a higher-level rethink; it's too error-prone now.

Bug: 8446838
Change-Id: I708d2cf262ec30177042304f174ca5b8da701df1
2013-03-22 15:27:58 -07:00
Jesse Hall
48bc05b56d Fix dump when virtual display exists
SurfaceFlinger::getLayerSortedByZForHwcDisplay only worked for builtin
displays.

Bug: 8384764
Change-Id: I989275407fb2f06d166a6e70321c3211e27e562e
2013-03-22 15:27:58 -07:00
Jesse Hall
851cfe8342 Isolate knowledge that fb target == output buffer
HWComposer didn't allow the virtual display output buffer to be set
directly, instead it always used the framebuffer target buffer.
DisplayDevice was only providing the framebuffer release fence to
DisplaySurfaces after a commit.

This change fixes both of these, so both HWComposer and DisplayDevice
should continue to work if VirtualDisplaySurface changes to use
separate framebuffer and output buffers. It's also more correct since
VirtualDisplaySurface uses the correct release fence when queueing the
buffer to the sink.

Bug: 8384764
Change-Id: I95c71e8d4f67705e23f122259ec8dd5dbce70dcf
2013-03-22 15:27:57 -07:00
Jesse Hall
afaf14b9fb Use descriptive aliases instead of HWC_NUM_DISPLAY_TYPES
Bug: 8384764
Change-Id: Ia2563fab19dbc6e4a95bed03445e609334841cca
2013-03-22 09:56:58 -07:00
Jesse Hall
13f01cbdbd Pass sp<Fence>s around instead of file descriptors
Change-Id: Iac70584a2207940730e8f803a543e4e9a4000c47
2013-03-22 09:56:58 -07:00
Jesse Hall
8d8c759761 Merge "Release virtual display buffer immediately after HWC set" into jb-mr2-dev 2013-03-22 16:51:32 +00:00
Mathias Agopian
ed98557414 make sure screenshot are in a format supported by Bitmap.java
Change-Id: I0fb9cc4088f9c1fd27e6c017b0a7c5617adb4660
2013-03-22 00:24:39 -07:00
Mathias Agopian
7133f8638e Merge "improved CallStack a bit" into jb-mr2-dev 2013-03-22 04:15:33 +00:00
Mathias Agopian
50210b9a8d fix a typo that broke all screenshots
Bug: 8450197

Change-Id: I5b986cc0ff9c5e689d06a51ba68ab537d03d1f3d
2013-03-21 21:14:10 -07:00
Mathias Agopian
0188eeff1f Merge "only use glReadPixels() when needed when taking screenshots" into jb-mr2-dev 2013-03-22 00:16:01 +00:00
Mathias Agopian
cab25d680e improved CallStack a bit
- added a ctor that updates and dumps the stack immediately
- added a "logtag" parameter to dump()

Change-Id: Ie51c256071d282591752243bdb4f68cf9ff8829d
2013-03-21 17:12:40 -07:00
Mathias Agopian
504e1f2638 Merge "initialize planeAlpha (to 0xFF) for the FB_TARGET" into jb-mr2-dev 2013-03-21 23:58:39 +00:00
Mathias Agopian
70a6e88dbd initialize planeAlpha (to 0xFF) for the FB_TARGET
Bug: 8422625
Change-Id: I7b72456c2e01ed92e675cc1bfa0cfd0d2ce5064e
2013-03-21 16:25:12 -07:00
Jamie Gennis
43122e7e67 atrace: use creat instead of truncate
Change-Id: Ie25c704f33c419c0c542249ae2841393862df0ab
2013-03-21 14:06:57 -07:00
Mathias Agopian
b4b1730abb only use glReadPixels() when needed when taking screenshots
some drivers don't support this yet, so we use a system
property to enable the glReadPixels "workaround" for them:

  ro.bq.gpu_to_cpu_unsupported=1

Change-Id: I74d6a3a8f0cee8d5a507b72c760cf247e39195e0
2013-03-21 14:01:53 -07:00
Eino-Ville Talvala
aaebffd52f Merge "CpuConsumer: Properly track acquired buffers" into jb-mr2-dev 2013-03-21 16:39:14 +00:00
Ramanan Rajeswaran
ac006439bb Merge "Revert "Revert "Change SurfaceControl setPosition to take floats""" into jb-mr2-dev 2013-03-21 15:52:49 +00:00
Ramanan Rajeswaran
d6480c020b Revert "Revert "Change SurfaceControl setPosition to take floats""
This reverts commit bbb57f3331

Change-Id: Ib8f039f530d6b8175b5205c6c0008b135d4001a2
2013-03-21 15:49:59 +00:00
Mathias Agopian
7c1a487ba8 fix build. update test to new API
Change-Id: I31ca84c85edff3e2ff90c554769e058110f27d49
2013-03-20 15:56:04 -07:00
Mathias Agopian
ff7c2342e2 Merge "rework how we take screenshots for a CPU consumer" into jb-mr2-dev 2013-03-20 22:14:56 +00:00
Jeff Sharkey
a6c1ab52e3 Merge "Move screenshots near beginning of dumpstate." into jb-mr2-dev 2013-03-20 19:09:45 +00:00
Jesse Hall
7414965606 Release virtual display buffer immediately after HWC set
Previously we only queued a virtual display buffer to the sink when
the next frame was about to be displayed. This may delay the "last"
frame of an animation indefinitely. Now we queue the buffer as soon as
HWC set() returns and gives us the release fence.

Bug: 8384764
Change-Id: I3844a188e0f6ef6ff28f3e11477cfa063a924b1a
2013-03-20 11:16:55 -07:00
Jeff Tinker
30041bd3a4 Merge "Updated MediaDrm API based on review input." into jb-mr2-dev 2013-03-20 16:47:34 +00:00
Mathias Agopian
abe815dd69 rework how we take screenshots for a CPU consumer
We're not using IMemoryHeap as a transport anymore,
instead we're providing a CpuConsumer and use the
IGraphicBufferProducer version of the screenshot API.

However, some GPU drivers don't support properly
a GPU to CPU path, to work around this, we use a
temporary BufferQueue on the server side for the
GL rendering, and we use glReadPixels into the
CpuConsumer (we're now using a CPU to CPU path
which is always supported).

Currently this "wrapping" is always performed,
but it can be bypassed on devices that support
the GPU to CPU path.

This also addresses a DoS attack vector on
SurfaceFlinger, where an application could
consume all of SF's filedescriptors by creating
a lot of screenshots in a row.

Bug: 8390553

Change-Id: I9e81514c2a7711b9bb393f74305be7d2abe08f1c
2013-03-19 22:22:21 -07:00