Commit Graph

48319 Commits

Author SHA1 Message Date
Mathias Agopian
2e83012822 am 84b470d7: attempt to fix build
* commit '84b470d78f10b6fbfbf84edba749e5f7f315fc3a':
  attempt to fix build
2013-03-07 17:31:04 +00:00
Mathias Agopian
483fbb3bef am 1f758231: Merge changes I7f696e42,I51c6df3c into jb-mr2-dev
* commit '1f758231c26261bd6ef3ec869ce230c06ed5b596':
  Make GraphicBuffer a RefBase
  Fix RefBase debugging. O_CREAT must specify the mode.
2013-03-07 17:30:57 +00:00
Mathias Agopian
494db35f9c am 2be4e8ff: workaround to fix screenshot leak on N4
* commit '2be4e8ff23f24285f4c195ba5537c7a51c13be4d':
  workaround to fix screenshot leak on N4
2013-03-07 17:30:55 +00:00
The Android Automerger
314cdf8f5c merge in jb-mr2-release history after reset to jb-mr2-dev 2013-03-07 05:55:48 -08:00
Mathias Agopian
3cd153a033 another attempt to fix the build
Change-Id: Ie0245db97170cca9a2cd8783b0fd512daf0d30a6
2013-03-06 22:37:33 -08:00
Mathias Agopian
84b470d78f attempt to fix build
Change-Id: Ifb186d2f157ad02f593bf9b681aab53575f183ce
2013-03-06 21:34:39 -08:00
Mathias Agopian
1f758231c2 Merge changes I7f696e42,I51c6df3c into jb-mr2-dev
* changes:
  Make GraphicBuffer a RefBase
  Fix RefBase debugging. O_CREAT must specify the mode.
2013-03-07 04:52:24 +00:00
Mathias Agopian
2be4e8ff23 workaround to fix screenshot leak on N4
Bug: 8322020

Change-Id: Ie60af0eb431866b8d64b2674ae7bd8b5ee05f5d6
2013-03-06 20:44:16 -08:00
Mathias Agopian
e041716ba1 Make GraphicBuffer a RefBase
- this gives us access to RefBase's refcounting debugging
- it doesn't cost much because GraphicBuffer already has a vtable

Change-Id: I7f696e421fea14b14bfaeb83880689b83e96af4d
2013-03-06 18:50:52 -08:00
Mathias Agopian
dbf146f1d6 Fix RefBase debugging. O_CREAT must specify the mode.
Change-Id: I51c6df3cfd59b20ca73c3edee86bc2f74dbde1b1
2013-03-06 17:52:34 -08:00
Mathias Agopian
dad8bd33d2 am 438ca07b: Merge changes I66511c08,Ia051949f,Ic7451365,I5b571a4c into jb-mr2-dev
* commit '438ca07b6ba74235e87bfbd78c94874d8bbde391':
  Get rid of LayerBase.
  Make LayerDim a regular Layer instead of a LayerBase
  fold LayerBaseClient into LayerBase
  Remove support for ScreenshotLayer
2013-03-07 01:49:25 +00:00
Mathias Agopian
438ca07b6b Merge changes I66511c08,Ia051949f,Ic7451365,I5b571a4c into jb-mr2-dev
* changes:
  Get rid of LayerBase.
  Make LayerDim a regular Layer instead of a LayerBase
  fold LayerBaseClient into LayerBase
  Remove support for ScreenshotLayer
2013-03-07 01:47:34 +00:00
Jean-Baptiste Queru
d82bea798e Tweaks for forward compatibility
Change-Id: I136fcbbc14072ee5f5281d09445f28d083ed3ce1
2013-03-06 15:26:54 -08:00
Jeff Sharkey
5062011324 am 175264b0: Return NO_MEMORY when glReadPixels() fails.
* commit '175264b09c6080b29a23fc9f545d4b99445714bd':
  Return NO_MEMORY when glReadPixels() fails.
2013-03-06 16:47:57 +00:00
The Android Automerger
b584442006 merge in jb-mr2-release history after reset to jb-mr2-dev 2013-03-06 05:56:13 -08:00
Mathias Agopian
13127d8921 Get rid of LayerBase.
The functionality of LayerBase and Layer is folded
into Layer. There wasn't a need for this abstraction
anymore.

Change-Id: I66511c08cc3d89009ba4deabf47e26cd4cfeaefb
2013-03-05 19:52:30 -08:00
Mathias Agopian
2f73af9212 Make LayerDim a regular Layer instead of a LayerBase
this is in preparation to get rid of LayerBase entirely

Change-Id: Ia051949fc5205fd87371331145356ee11598a597
2013-03-05 19:52:30 -08:00
Mathias Agopian
b79f61d41e fold LayerBaseClient into LayerBase
Change-Id: Ic745136522df59c42f0885fd969e75ea55d09f01
2013-03-05 19:52:30 -08:00
Mathias Agopian
089a15298e Remove support for ScreenshotLayer
Change-Id: I5b571a4cf3faa77d2c4aca916fa4bd00a1065bb9
2013-03-05 19:52:29 -08:00
Jeff Sharkey
175264b09c Return NO_MEMORY when glReadPixels() fails.
Change-Id: Ic66134ef457e8442ae9135e9ec50e3d02932a253
2013-03-05 18:00:01 -08:00
Eino-Ville Talvala
042ecee2ab CpuConsumer: Properly track acquired buffers
CpuConsumer cannot simply assume a slot's buffer is the same buffer
between acquire and release, and therefore it could be possible for
the same slot to get used for a second acquired buffer, if there's a
producer disconnect in between. This would cause a problem when the
first buffer is released by the consumer.

Instead, use an independent list of acquired buffers to properly track
their state.

Bug: 8291751
Change-Id: I0241ad8704e53d47318c7179b13daed8181b1fab
2013-03-05 15:25:06 -08:00
Igor Murashkin
501ca36a45 am f082323c: Merge "CpuConsumer_test: Extend test with new formats RGBA8888 and optional Y8/Y16" into jb-mr2-dev
* commit 'f082323c0dbd915d2ad7b6f4d9c732e230fcda46':
  CpuConsumer_test: Extend test with new formats RGBA8888 and optional Y8/Y16
2013-03-05 21:59:03 +00:00
Igor Murashkin
f082323c0d Merge "CpuConsumer_test: Extend test with new formats RGBA8888 and optional Y8/Y16" into jb-mr2-dev 2013-03-05 21:58:00 +00:00
Igor Murashkin
29e2047cb4 CpuConsumer_test: Extend test with new formats RGBA8888 and optional Y8/Y16
Change-Id: I0a0f6ce73516883bf50c749a1759abbdb3748e08
2013-03-05 13:55:31 -08:00
Andy McFadden
9d549c2844 am 7284145d: Add eglPresentationTimeANDROID
* commit '7284145d564fa8a422a8e564a38c730fb4a2962b':
  Add eglPresentationTimeANDROID
2013-03-05 21:05:36 +00:00
Andy McFadden
7284145d56 Add eglPresentationTimeANDROID
Added EGL extension to set a timestamp on a surface.

Also, fix JNI encoding of "long" in glgen.

Bug 8191230

Change-Id: I38b7334bade3f8ff02bffe600bb74469ef22c164
2013-03-05 10:10:59 -08:00
The Android Open Source Project
3c078da2f2 Reconcile with jb-mr2-release - do not merge
Change-Id: I7bb6b77ca42a715a6eb69081512c43a43158e1e3
2013-03-05 07:53:32 -08:00
The Android Automerger
47788fb571 merge in jb-mr2-release history after reset to jb-mr2-dev 2013-03-05 05:55:39 -08:00
Mathias Agopian
675427910b am 306f18c5: Merge "rework screenshot API and implementation" into jb-mr2-dev
* commit '306f18c5fb15ac05db09ece7241af02b9713a23d':
  rework screenshot API and implementation
2013-03-05 02:31:41 +00:00
Mathias Agopian
306f18c5fb Merge "rework screenshot API and implementation" into jb-mr2-dev 2013-03-05 02:30:13 +00:00
Jesse Hall
6fbc098cfd am eabe3140: Merge "Init displays to null layer stack" into jb-mr2-dev
* commit 'eabe3140f11e515639e7a70a1286dd6af7352c9e':
  Init displays to null layer stack
2013-03-05 01:09:27 +00:00
Jesse Hall
eabe3140f1 Merge "Init displays to null layer stack" into jb-mr2-dev 2013-03-05 01:04:54 +00:00
Mathias Agopian
8813829161 am f59d2f90: Merge changes I0e90b3f3,Ib7769bde,I4c25f34f,I1ec6400a into jb-mr2-dev
* commit 'f59d2f9070621e8f36b2ded3ec1d07bd3aec6150':
  implement display projection clipping in h/w composer
  refactor the crop region for hwc is calculated/set
  apply the projection's viewport to the visibleregion passed to hwc
  set correct crop rectangle in LayerBase::setCrop
2013-03-04 22:13:30 +00:00
Mathias Agopian
f59d2f9070 Merge changes I0e90b3f3,Ib7769bde,I4c25f34f,I1ec6400a into jb-mr2-dev
* changes:
  implement display projection clipping in h/w composer
  refactor the crop region for hwc is calculated/set
  apply the projection's viewport to the visibleregion passed to hwc
  set correct crop rectangle in LayerBase::setCrop
2013-03-04 22:12:24 +00:00
Jesse Hall
54a1faa7ca am 006a601f: Fix reading NULL Surfaces from Parcels
* commit '006a601f22b275bcabf608f630b321df027d56d1':
  Fix reading NULL Surfaces from Parcels
2013-03-04 21:50:23 +00:00
The Android Open Source Project
a3b948e727 Reconcile with jb-mr2-release - do not merge
Change-Id: I8176eb9302e58477ef1bd9b394a974d85fa67792
2013-03-04 11:06:47 -08:00
The Android Automerger
3aa06a3930 merge in jb-mr2-release history after reset to jb-mr2-dev 2013-03-04 05:55:48 -08:00
Jesse Hall
006a601f22 Fix reading NULL Surfaces from Parcels
Writing a NULL Surface was being read as a non-NULL Surface with NULL
mGraphicBufferProducer. Before the SurfaceTextureClient -> Surface
refactoring, you'd get a NULL Surface, and some code relies on that.

Bug: 8291161
Change-Id: I477bfe8882693e53a5f604a3d2c9e3cfe24473b4
2013-03-02 20:06:42 -08:00
Mathias Agopian
2a9fc493df rework screenshot API and implementation
- SurfaceFlinger now supports to take a screenshot
  directly into an IGraphicBufferProducer

- reimplement the IMemoryHeap screenshot on top
  of the above

- reimplement LayerScreenshot such that its
  BufferQueue is directly used as the destination
  of the screenshot. LayerScreenshot is now a thin
  wrapper around Layer

Bug: 6940974

Change-Id: I69a2096b44b91acbb99eba16f83a9c78d94e0d10
2013-03-01 22:53:39 -08:00
Dave Burke
0d69ad5d65 Revert "Change SurfaceControl setPosition to take floats"
Temporary, to fix weekend build, until we get Nvidia code drop.

This reverts commit 9a867a8798

DO NOT MERGE

Change-Id: I7b5dbc4db46ef3d97dc8598057d5487d6971178b
2013-03-01 16:14:59 -08:00
Dave Burke
bbb57f3331 Revert "Change SurfaceControl setPosition to take floats"
Temporary, to fix weekend build, until we get Nvidia code drop.

This reverts commit 9a867a8798

DO NOT MERGE

Change-Id: I7b5dbc4db46ef3d97dc8598057d5487d6971178b
2013-03-01 16:06:48 -08:00
Nick Kralevich
98ca63e6d1 am 22641851: Merge "dumpstate: use correct header file."
* commit '22641851c48fee6e79d01adcfab01c0b625cfb3c':
  dumpstate: use correct header file.
2013-03-01 18:05:56 +00:00
Nick Kralevich
5ec3e781c5 Merge "installd: use correct header file." into jb-mr2-dev 2013-03-01 17:42:32 +00:00
Nick Kralevich
22641851c4 Merge "dumpstate: use correct header file." 2013-03-01 16:39:58 +00:00
Jesse Hall
01e29054e6 Init displays to null layer stack
When a display is added, initialize it to use an empty layer stack, so
if it is somehow visible it will show black. It will be assigned the
real layer stack -- along with a projection and other properties -- by
window manager soon. Normally a display remains blanked until window
manager has decided what to show on it, but for HDMI connected at boot
that isn't currently the case.

Bug: 7258935
Change-Id: Ic9bb25f7a9b8d9d3772b097ab1d6fa03bc8780a1
2013-02-28 21:05:30 -08:00
Mathias Agopian
3da1672acb implement display projection clipping in h/w composer
- cropping to the projection's "viewport" is "simply"
  accomplished by intersecting it with the window crop
  expressed in layerstack space.

Bug: 7149437
Change-Id: I0e90b3f37945292314b5d78a8f134935967e8053
2013-02-28 18:43:04 -08:00
Mathias Agopian
a8bca8d84b refactor the crop region for hwc is calculated/set
- the crop region is now always calculated and set
  in LayerBase::setGeometry which uses new virtuals to
  access the "content" crop and transform (which are
  provided by the Layer subclass)

Change-Id: Ib7769bdec0917dd248f926600c14ddf9ea84897a
2013-02-28 18:43:04 -08:00
Mathias Agopian
f5f714aa18 apply the projection's viewport to the visibleregion passed to hwc
each desplay's projection's viewport essentially clips each layer,
so this should be reflected in the visibleregion passed to
h/w composer.

DisplayDevice getViewport and getFrame are now guaranteed to return
valid Rects.

Change-Id: I4c25f34fb26af10179eb26d429ca6c384c671e91
2013-02-28 18:43:04 -08:00
Mathias Agopian
5219a06d61 set correct crop rectangle in LayerBase::setCrop
The crop always had left=top=0, because the crop position
and the layer's transform were merged together in
computeBounds() (which really used to compute the
bounds in screen space, which we usually call the
"frame" elsewhere in the code)

Note: in practice this crop value is not used by
hwc, because it's overridden in Layer::setGeometry(), which
is why this bug was never apparent.

Change-Id: I1ec6400a8fc8314408e4252708f43ea98c2fe64e
2013-02-28 18:43:04 -08:00
Nick Kralevich
d747129e1e installd: use correct header file.
This is a port of https://android-review.googlesource.com/52540 ,
which doesn't apply cleanly to master.

Change-Id: I2824bb7afd4e343b5dc8bed9f24002ec1dcbf07f
2013-02-28 16:59:13 -08:00