OSDN Git Service
Jaikumar Ganesh [Sat, 13 Apr 2013 00:22:38 +0000 (00:22 +0000)]
Merge "Sensor changes." into jb-mr2-dev
Dianne Hackborn [Fri, 12 Apr 2013 21:52:35 +0000 (14:52 -0700)]
Add new resources trace.
Change-Id: Iab8c1ef51f491e818fb4bab0ba7a042f0d9bec9a
Jaikumar Ganesh [Mon, 8 Apr 2013 23:43:12 +0000 (16:43 -0700)]
Sensor changes.
1. Some sensors can wake up the AP. Add wakelocks.
2. Handle backward compatibility for rotation vector
heading accuracy.
3. Cleanup auto disabled sensors.
4. Fix race condition between enable and dispatch.
Change-Id: I39dddf12e208d83cd288201986ee994312555820
Chet Haase [Fri, 12 Apr 2013 14:11:53 +0000 (14:11 +0000)]
Merge "DO NOT MERGE Make sure surfaces always have latest orientation info" into jb-mr2-dev
Mathias Agopian [Fri, 12 Apr 2013 03:18:17 +0000 (03:18 +0000)]
Merge "Improve screenshot performance on some devices (DO NOT MERGE)" into jb-mr2-dev
Mathias Agopian [Thu, 11 Apr 2013 05:55:41 +0000 (22:55 -0700)]
Improve screenshot performance on some devices (DO NOT MERGE)
this affects devices that need a glReadPixels(). We use
a FBO instead of a GlConsumer as an intermediate render target, this
saves 2 calls to eglMakeCurrent().
On Galaxy Nexus this allows us to go from ~135ms to ~35ms for
recent's screenshots.
Bug:
8582615
Change-Id: I6b25291ecc235f1927579bbb2db3c731e985c6e8
Chet Haase [Thu, 11 Apr 2013 22:24:55 +0000 (15:24 -0700)]
DO NOT MERGE Make sure surfaces always have latest orientation info
When the screen is turned off, the current stack is set to -1. This causes
logic in iSurfaceFlinger's handleTransactionLocked() function to fail to
match the current stack, and the latest orientation is not set into the
layer. This causes BufferQueue, later, to potentially set an obsolete
transformHint on a created surface (such as in the case with ImageWallpaper's
Egl surface, in the bug below).
The fix is to note this situation and use a default value for the DisplayDevice,
which should have the current orientation information.
Issue #
8508397 ImageWallpaper sometimes rendered in wrong orientation causing a ~30-40% drop in graphics performance
Change-Id: Ibae15d73b289a8343c67f4f6bb77fdf11dd95ee7
Andy McFadden [Thu, 11 Apr 2013 17:15:52 +0000 (17:15 +0000)]
Merge "Updated comments" into jb-mr2-dev
Mathias Agopian [Thu, 11 Apr 2013 04:43:48 +0000 (04:43 +0000)]
Merge "fix another bug where screenshots could end-up all black" into jb-mr2-dev
Mathias Agopian [Wed, 10 Apr 2013 23:27:17 +0000 (16:27 -0700)]
fix another bug where screenshots could end-up all black
SF transactions were always handled on VSYNC which allowed
the screenshot to sneak-in between closing the transaction
and vsync (before it's latched), resulting in a screenshot
with the previous state.
we now always force transactions to happen immediately
before screenhots.
Bug:
7552304
Change-Id: I0afc86b7e8366173daff5b9988bbb4d2a0f43860
Ying Wang [Wed, 10 Apr 2013 05:17:07 +0000 (05:17 +0000)]
Merge "Add liblog" into jb-mr2-dev
Ying Wang [Wed, 10 Apr 2013 04:55:39 +0000 (21:55 -0700)]
Add liblog
Bug:
8580410
Change-Id: I2ca4fa00dde0b574df3619134836bcb9315bd506
Jamie Gennis [Tue, 9 Apr 2013 21:43:20 +0000 (21:43 +0000)]
Merge changes I82e361a6,I83694682 into jb-mr2-dev
* changes:
libgui_test: increase the tolerance for a YUV test
libgui: fix an EGLImage leak
Jamie Gennis [Sat, 6 Apr 2013 00:37:32 +0000 (17:37 -0700)]
libgui_test: increase the tolerance for a YUV test
This change increases the pixel difference tolerance of the
SurfaceTextureGLTest.TexturingFromCpuFilledYV12BufferNpot test from 2 to 3.
Bug:
8349135
Change-Id: I82e361a689335f49065cacd8a3fc145d67b125f1
Jamie Gennis [Fri, 5 Apr 2013 23:41:27 +0000 (16:41 -0700)]
libgui: fix an EGLImage leak
This moves the call to ConsumerBase::abandon from the ConsumerBase dtor to
ConsumerBase::onLastStrongRef. The abandon call relies on virtual methods to
perform the clean-up, so calling it from the ConsumerBase dtor after the
derived classes dtors ran was skipping some of the clean-up. The
onLastStrongRef method should get called just before the most derived class's
dtor gets called.
Bug:
8349135
Change-Id: I836946826927cc1ed69c049049f525f92b17a269
Jesse Hall [Sat, 6 Apr 2013 03:32:19 +0000 (03:32 +0000)]
Merge "Tell HWComposer the dimensions of virtual displays" into jb-mr2-dev
Jesse Hall [Sat, 6 Apr 2013 03:31:49 +0000 (03:31 +0000)]
Merge "Actually set the virtual display output buffer." into jb-mr2-dev
Jesse Hall [Fri, 5 Apr 2013 20:44:52 +0000 (13:44 -0700)]
Tell HWComposer the dimensions of virtual displays
HWComposer queries the HWC for dimensions of physical displays, but
can't do that for virtual displays. The dimensions are used to set the
display frame of the framebuffer target layer passed to HWC, and
implicitly the dimensions of the virtual display.
Bug:
8316155
Change-Id: I9cbd2530d2fa878f86128a1472def520b5d694a5
Andy McFadden [Fri, 5 Apr 2013 00:09:03 +0000 (17:09 -0700)]
Updated comments
Updated many comments. Added one minor error check.
Change-Id: Ib935dd99d417bada91d2e198008a50dd94269316
Mathias Agopian [Fri, 5 Apr 2013 06:17:56 +0000 (23:17 -0700)]
fix local include paths
Change-Id: Icb921fa796ec08612dbb2feb7e7161bcb0cf4a99
Jeff Tinker [Fri, 5 Apr 2013 01:16:21 +0000 (01:16 +0000)]
Merge "Implement async event callout from drm plugin to Java app" into jb-mr2-dev
Jesse Hall [Thu, 4 Apr 2013 22:36:10 +0000 (22:36 +0000)]
Merge "Clean up HWC state when releasing a DisplayDevice" into jb-mr2-dev
Jesse Hall [Thu, 4 Apr 2013 19:59:37 +0000 (12:59 -0700)]
Actually set the virtual display output buffer.
Bug:
8316155
Change-Id: Ida1ac47e5a932fdaad3ec862e121cfe55d255699
Jeff Tinker [Tue, 2 Apr 2013 20:16:21 +0000 (13:16 -0700)]
Implement async event callout from drm plugin to Java app
Change-Id: I83a7757a7b83676ce1a9ffa6ff0a8e495e31b859
Mathias Agopian [Wed, 3 Apr 2013 01:30:32 +0000 (18:30 -0700)]
latch transparent region hint only when we get a new frame
since the transparent region hint really depends on the
content of the window containing the SurfaceView
(it's calculated by the view hierarchy based on
overlapping views), it makes sense to latch it only when
the content of the window (the app) changes.
This should help fixing drawing artifacts when changing the
layout of a window containing a SurfaceView.
Bug:
8511430
Change-Id: Ic3aa668495293cb4d82a2cd7dcf3b6a337287678
Mathias Agopian [Tue, 2 Apr 2013 23:20:15 +0000 (23:20 +0000)]
Merge "Fix include paths" into jb-mr2-dev
Jeff Tinker [Tue, 2 Apr 2013 22:49:23 +0000 (22:49 +0000)]
Merge "MediaDrm API update" into jb-mr2-dev
Jeff Tinker [Sat, 30 Mar 2013 23:28:20 +0000 (16:28 -0700)]
MediaDrm API update
Clarify offline usage of sessions and keys and implement
implement CryptoSession to support additional crypto use
cases.
Change-Id: I418ffbb37e3036a2b5eea5a86ac88a5af1a9da07
Mathias Agopian [Mon, 1 Apr 2013 23:54:58 +0000 (16:54 -0700)]
Fix include paths
Change-Id: If5350a3de995cc0cb1afea067e7ce168bc00d3f5
Jamie Gennis [Mon, 1 Apr 2013 23:27:38 +0000 (23:27 +0000)]
Merge "EGL_ANDROID_presentation_time: initial spec draft" into jb-mr2-dev
Jamie Gennis [Wed, 9 Jan 2013 02:07:17 +0000 (18:07 -0800)]
EGL_ANDROID_presentation_time: initial spec draft
Change-Id: I1cd174a08c499e5bde19e7ecd449da8266e7e66e
Jesse Hall [Sun, 31 Mar 2013 06:22:19 +0000 (23:22 -0700)]
Fix MIPS assembly variable names to not conflict with GL API parameter names
Change-Id: I8e93fb55018de53a596cb176d48dbfdf1fd396e4
Mathias Agopian [Fri, 29 Mar 2013 23:31:23 +0000 (23:31 +0000)]
Merge "don't use compile-time configuration of libgui as much as possible" into jb-mr2-dev
Mathias Agopian [Fri, 29 Mar 2013 00:44:13 +0000 (17:44 -0700)]
don't use compile-time configuration of libgui as much as possible
We now detect at runtime which sync features to use, which
allows us to remove a lot of the compile-time configuration
options. There is still one option though, to disable
KHR_fence_sync on some devices (which are more efficient
without it).
- added a backdoor to get the vendor's EGL strings
the new logic is:
- use always ANDROID_native_fence_sync if available
- fallback to KHR_fence_sync if available and not disabled
by the compile-time option
- use KHR_wait_sync if available and either of the above is
enabled
Change-Id: I9c4b49d9ff1151faf902cc93bd53ea5f205aaabf
Keun-young Park [Fri, 29 Mar 2013 07:14:16 +0000 (00:14 -0700)]
am
e3a396b2: am
906bd042: Merge "[MIPS] Add MIPS architecture support to libagl"
* commit '
e3a396b25d53cc9ae61e3a2f0daeaa68ac1ba5a1':
[MIPS] Add MIPS architecture support to libagl
Keun-young Park [Fri, 29 Mar 2013 07:12:14 +0000 (00:12 -0700)]
am
906bd042: Merge "[MIPS] Add MIPS architecture support to libagl"
* commit '
906bd0422a99b37663a1cb130bf061fdbb3ea189':
[MIPS] Add MIPS architecture support to libagl
Keun-young Park [Fri, 29 Mar 2013 06:15:58 +0000 (06:15 +0000)]
Merge "[MIPS] Add MIPS architecture support to libagl"
Keun-young Park [Fri, 29 Mar 2013 06:09:44 +0000 (23:09 -0700)]
am
111d920b: am
d3b2c029: Merge "[MIPS] Add MIPS architecture support to opengl framework"
* commit '
111d920bb588669006bdd8699e786d6305f14c36':
[MIPS] Add MIPS architecture support to opengl framework
Keun-young Park [Fri, 29 Mar 2013 06:08:17 +0000 (23:08 -0700)]
am
d3b2c029: Merge "[MIPS] Add MIPS architecture support to opengl framework"
* commit '
d3b2c029eba356e7bed3754d60ade556c216348e':
[MIPS] Add MIPS architecture support to opengl framework
Keun-young Park [Fri, 29 Mar 2013 05:26:27 +0000 (05:26 +0000)]
Merge "[MIPS] Add MIPS architecture support to opengl framework"
Mathias Agopian [Fri, 29 Mar 2013 00:52:36 +0000 (17:52 -0700)]
fix uninitialized attribute in SurfaceFlinger
Change-Id: I8277f67e297a8b6a99195387060d03154a2cd929
Mathias Agopian [Thu, 28 Mar 2013 22:51:06 +0000 (22:51 +0000)]
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
Jesse Hall [Thu, 28 Mar 2013 22:16:49 +0000 (22:16 +0000)]
Merge "Remove unused clz.cpp" into jb-mr2-dev
Mathias Agopian [Thu, 28 Mar 2013 00:32:41 +0000 (17:32 -0700)]
replace eglWaitSyncANDROID by eglWaitSyncKHR
Change-Id: I22f1b3588011c88389e249f738f1e6915cc97e72
Mathias Agopian [Wed, 27 Mar 2013 21:55:03 +0000 (14:55 -0700)]
update EGL headers to most recent
- add ANDROID extensions missing from official headers:
EGL_ANDROID_wait_sync
EGL_ANDROID_presentation_time
Change-Id: I5496d0de123a6279234098c19f9a12220adec876
Mathias Agopian [Wed, 27 Mar 2013 21:30:19 +0000 (14:30 -0700)]
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
Jamie Gennis [Wed, 27 Mar 2013 22:50:58 +0000 (15:50 -0700)]
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
Jesse Hall [Thu, 28 Mar 2013 20:22:34 +0000 (13:22 -0700)]
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
Jesse Hall [Thu, 28 Mar 2013 20:21:05 +0000 (13:21 -0700)]
am
0b6c4157: Merge "frameworks/native/opengl: Fix build with gcc 4.8"
* commit '
0b6c41571b636cc9b47005fa971db19430cedc09':
frameworks/native/opengl: Fix build with gcc 4.8
Jesse Hall [Thu, 28 Mar 2013 19:28:36 +0000 (19:28 +0000)]
Merge "frameworks/native/opengl: Fix build with gcc 4.8"
Jesse Hall [Thu, 28 Mar 2013 19:27:01 +0000 (12:27 -0700)]
Remove unused clz.cpp
Change-Id: Ieed91a45ba0e865a0d47d84effe9439aaab4371f
Duane Sand [Wed, 27 Mar 2013 17:58:06 +0000 (10:58 -0700)]
[MIPS] Add MIPS architecture support to opengl framework
Change-Id: Id7704d35bed14d96a85dc1f29db0566cd03872b5
Jamie Gennis [Thu, 28 Mar 2013 18:14:14 +0000 (18:14 +0000)]
Merge "atrace: fix tracing on user builds" into jb-mr2-dev
Jamie Gennis [Wed, 27 Mar 2013 22:50:30 +0000 (15:50 -0700)]
atrace: fix tracing on user builds
Change-Id: Idef15d514f0bd1e117362c6a06a2ea24314feb7f
Jesse Hall [Mon, 25 Mar 2013 21:43:23 +0000 (14:43 -0700)]
Clean up HWC state when releasing a DisplayDevice
DisplayDevices can be released when DisplayManager removes them from
the display list, or (for virtual displays) when the surface is set to
NULL. We were only cleaning up HWC resources associated with the
display in the first case.
Bug:
8384764
Change-Id: Id3d226dd7178fbe6d0a2ac4e2660b864ee073de3
Duane Sand [Wed, 27 Mar 2013 17:53:14 +0000 (10:53 -0700)]
[MIPS] Add MIPS architecture support to libagl
Change-Id: I30eb92857a2a6ea867fe0ee45109f17609043aae
Bernhard Rosenkränzer [Wed, 27 Mar 2013 13:04:34 +0000 (14:04 +0100)]
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>
Mathias Agopian [Wed, 27 Mar 2013 01:30:36 +0000 (01:30 +0000)]
Merge "make sure to unlock the screenshot's buffer on destruction" into jb-mr2-dev
Mathias Agopian [Wed, 27 Mar 2013 01:15:35 +0000 (18:15 -0700)]
make sure to unlock the screenshot's buffer on destruction
this fixes a memory leak on various devices
Bug:
8475134
Change-Id: I25924674c803a0cb22371a95c60664c36acb0340
Keun-young Park [Tue, 26 Mar 2013 18:45:01 +0000 (11:45 -0700)]
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.
Keun-young Park [Tue, 26 Mar 2013 18:43:05 +0000 (11:43 -0700)]
am
cd91024c: Merge "[MIPS] Avoid unaligned load/store for 64-bit doubles."
* commit '
cd91024ca16db96daa697e22f7a088b416a424e3':
[MIPS] Avoid unaligned load/store for 64-bit doubles.
Keun-young Park [Tue, 26 Mar 2013 17:47:19 +0000 (17:47 +0000)]
Merge "[MIPS] Avoid unaligned load/store for 64-bit doubles."
Geremy Condra [Tue, 26 Mar 2013 01:39:21 +0000 (01:39 +0000)]
Merge "Add seinfo parsing to PackageManagerService." into jb-mr2-dev
Robert Craig [Mon, 25 Mar 2013 10:33:03 +0000 (06:33 -0400)]
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>
Jeff Sharkey [Tue, 26 Mar 2013 00:18:36 +0000 (00:18 +0000)]
Merge "Bugreport broadcasts are only useful to owners." into jb-mr2-dev
Jeff Sharkey [Tue, 26 Mar 2013 00:10:45 +0000 (17:10 -0700)]
Bugreport broadcasts are only useful to owners.
Bug:
8415156
Change-Id: Ia73969262abe9f715f038dad934651d7e5d65c87
Jesse Hall [Mon, 25 Mar 2013 22:37:03 +0000 (22:37 +0000)]
Merge "Fix virtual displays for HWC<=1.1" into jb-mr2-dev
Jesse Hall [Mon, 25 Mar 2013 22:36:38 +0000 (22:36 +0000)]
Merge changes I98927540,I95c71e8d into jb-mr2-dev
* changes:
Fix dump when virtual display exists
Isolate knowledge that fb target == output buffer
Dianne Hackborn [Sat, 23 Mar 2013 00:24:57 +0000 (17:24 -0700)]
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
Jesse Hall [Fri, 22 Mar 2013 22:13:48 +0000 (15:13 -0700)]
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
Jesse Hall [Thu, 21 Mar 2013 21:06:52 +0000 (14:06 -0700)]
Fix dump when virtual display exists
SurfaceFlinger::getLayerSortedByZForHwcDisplay only worked for builtin
displays.
Bug:
8384764
Change-Id: I989275407fb2f06d166a6e70321c3211e27e562e
Jesse Hall [Wed, 20 Mar 2013 20:44:00 +0000 (13:44 -0700)]
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
Jesse Hall [Wed, 20 Mar 2013 20:42:29 +0000 (13:42 -0700)]
Use descriptive aliases instead of HWC_NUM_DISPLAY_TYPES
Bug:
8384764
Change-Id: Ia2563fab19dbc6e4a95bed03445e609334841cca
Jesse Hall [Wed, 20 Mar 2013 18:37:21 +0000 (11:37 -0700)]
Pass sp<Fence>s around instead of file descriptors
Change-Id: Iac70584a2207940730e8f803a543e4e9a4000c47
Jesse Hall [Fri, 22 Mar 2013 16:51:31 +0000 (16:51 +0000)]
Merge "Release virtual display buffer immediately after HWC set" into jb-mr2-dev
Mathias Agopian [Fri, 22 Mar 2013 07:24:39 +0000 (00:24 -0700)]
make sure screenshot are in a format supported by Bitmap.java
Change-Id: I0fb9cc4088f9c1fd27e6c017b0a7c5617adb4660
Mathias Agopian [Fri, 22 Mar 2013 04:15:33 +0000 (04:15 +0000)]
Merge "improved CallStack a bit" into jb-mr2-dev
Mathias Agopian [Fri, 22 Mar 2013 04:13:21 +0000 (21:13 -0700)]
fix a typo that broke all screenshots
Bug:
8450197
Change-Id: I5b986cc0ff9c5e689d06a51ba68ab537d03d1f3d
Mathias Agopian [Fri, 22 Mar 2013 00:16:00 +0000 (00:16 +0000)]
Merge "only use glReadPixels() when needed when taking screenshots" into jb-mr2-dev
Mathias Agopian [Fri, 22 Mar 2013 00:12:40 +0000 (17:12 -0700)]
improved CallStack a bit
- added a ctor that updates and dumps the stack immediately
- added a "logtag" parameter to dump()
Change-Id: Ie51c256071d282591752243bdb4f68cf9ff8829d
Mathias Agopian [Thu, 21 Mar 2013 23:58:38 +0000 (23:58 +0000)]
Merge "initialize planeAlpha (to 0xFF) for the FB_TARGET" into jb-mr2-dev
Mathias Agopian [Thu, 21 Mar 2013 23:25:12 +0000 (16:25 -0700)]
initialize planeAlpha (to 0xFF) for the FB_TARGET
Bug:
8422625
Change-Id: I7b72456c2e01ed92e675cc1bfa0cfd0d2ce5064e
Jamie Gennis [Thu, 21 Mar 2013 21:06:31 +0000 (14:06 -0700)]
atrace: use creat instead of truncate
Change-Id: Ie25c704f33c419c0c542249ae2841393862df0ab
Mathias Agopian [Thu, 21 Mar 2013 01:36:41 +0000 (18:36 -0700)]
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
Eino-Ville Talvala [Thu, 21 Mar 2013 16:39:13 +0000 (16:39 +0000)]
Merge "CpuConsumer: Properly track acquired buffers" into jb-mr2-dev
Ramanan Rajeswaran [Thu, 21 Mar 2013 15:52:48 +0000 (15:52 +0000)]
Merge "Revert "Revert "Change SurfaceControl setPosition to take floats""" into jb-mr2-dev
Ramanan Rajeswaran [Thu, 21 Mar 2013 15:49:59 +0000 (15:49 +0000)]
Revert "Revert "Change SurfaceControl setPosition to take floats""
This reverts commit
bbb57f3331c7182399ed82e9c4f93a965677dde3
Change-Id: Ib8f039f530d6b8175b5205c6c0008b135d4001a2
Mathias Agopian [Wed, 20 Mar 2013 22:56:04 +0000 (15:56 -0700)]
fix build. update test to new API
Change-Id: I31ca84c85edff3e2ff90c554769e058110f27d49
Mathias Agopian [Wed, 20 Mar 2013 22:14:55 +0000 (22:14 +0000)]
Merge "rework how we take screenshots for a CPU consumer" into jb-mr2-dev
Jeff Sharkey [Wed, 20 Mar 2013 19:09:44 +0000 (19:09 +0000)]
Merge "Move screenshots near beginning of dumpstate." into jb-mr2-dev
Jesse Hall [Wed, 20 Mar 2013 00:18:09 +0000 (17:18 -0700)]
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
Jeff Tinker [Wed, 20 Mar 2013 16:47:34 +0000 (16:47 +0000)]
Merge "Updated MediaDrm API based on review input." into jb-mr2-dev
Mathias Agopian [Wed, 20 Mar 2013 05:22:21 +0000 (22:22 -0700)]
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
Mathias Agopian [Wed, 20 Mar 2013 00:36:57 +0000 (17:36 -0700)]
disable RefBase consistency checks (NDEBUG)
Bug:
8328715
Change-Id: Ib57646ff909fd8744610f37f3b50d90d884dff31
Mathias Agopian [Tue, 19 Mar 2013 05:27:41 +0000 (22:27 -0700)]
Fix a crasher with RefBase debugging and vectors of wp<>
background:
we have some code to fix-up the IDs of references when
using RefBase's DEBUG_REFS when those refs are managed by
arrays wp<> or sp<> (this is because wp<> / sp<> don't have
a trivial ctor when DEBUG_REFS is enabled, and Vector
treats them as trivial for obvious performance reasons)
this is complicated by the fact that we don't want to have
to recompile everything when enabling DEBUG_REFs (i.e.: the
Vector code cannot know wheter it's enabled or not for its
template stuff).
problem:
there was a bug in the fix-up code for wp<> which was trying
to access the weakref_impl from the RefBase* however, this was
moronic since RefBase could have been destroyed if there wasn't
any more strong refs -- and this happned. Instead we need to get
the weakref_impl directly from the wp<>
Change-Id: Ie16e334204205fdbff142acb9faff8479a78450b
Mathias Agopian [Tue, 19 Mar 2013 23:00:40 +0000 (23:00 +0000)]
Merge "A few tweaks to RefBase debugging" into jb-mr2-dev
Jeff Sharkey [Tue, 19 Mar 2013 22:05:19 +0000 (15:05 -0700)]
Move screenshots near beginning of dumpstate.
Bug:
8420215
Change-Id: I6adffd1182ed8f99b8d11d43785a4eb4a388ceb5
Jesse Hall [Mon, 18 Mar 2013 18:28:50 +0000 (11:28 -0700)]
Don't log an error on HWC1.1+ devices with no FB HAL
Change-Id: I015e5a1a1f926181e51f82525f69beff71bd70cd
Jesse Hall [Tue, 19 Mar 2013 17:45:29 +0000 (17:45 +0000)]
Merge changes I61ae54f3,I57cb668e,I7a3f1e1a,Id28a2f9b into jb-mr2-dev
* changes:
Add BufferQueueInterposer and use it for virtual displays
Add DisplaySurface abstraction
Fix argument types in IGraphicBufferProducer methods
Minor cleanups/fixes before virtual display refactoring
Mathias Agopian [Tue, 19 Mar 2013 03:31:18 +0000 (20:31 -0700)]
A few tweaks to RefBase debugging
- stacks are now saved in /data/debug which must be
created and writable by the user.
- removed "always fatal" DEBUG_REFS option, it wasn't
really needed.
- DEBUG_REFS_ENABLED_BY_DEFAULT is not the default anymore
(usually people want to target which refs they're tracking)
Change-Id: I37fae72e9dacde6ce1fa8f7dbe2bc01b1a1b95e5