Commit Graph

49369 Commits

Author SHA1 Message Date
Jamie Gennis
faf77cce9d SurfaceFlinger: SW-based vsync events
This change adds the DispSync class, which models the hardware vsync event
times to allow vsync event callbacks to be done at an arbitrary phase offset
from the hardware vsync.  This can be used to reduce the minimum latency from
Choreographer wake-up to on-screen image presentation.

Bug: 10624956
Change-Id: I8c7a54ceacaa4d709726ed97b0dcae4093a7bdcf
2013-10-07 17:59:53 -07:00
The Android Automerger
38234af6bd merge in klp-release history after reset to klp-dev 2013-10-06 06:01:27 -07:00
Alex Ray
859d1e490b am d457ec52: Add feature android.hardware.consumerir xml file
* commit 'd457ec52d7023e9a6112f313cd2bf94293162214':
  Add feature android.hardware.consumerir xml file
2013-10-04 14:18:35 -07:00
Marco Nelissen
e71575bed4 am 48d3741b: Merge "Allow blaming a single uid for work done" into klp-dev
* commit '48d3741ba5f4b3bb411ee5c083a11f4f52f9e907':
  Allow blaming a single uid for work done
2013-10-03 15:40:30 -07:00
Lajos Molnar
04e6ab6e27 am b1f94ef3: Merge "media/hardware/HardwareAPI.h: Added PrepareForAdaptivePlaybackParams" into klp-dev
* commit 'b1f94ef3f97bd20b928cf980791526861650eab9':
  media/hardware/HardwareAPI.h: Added PrepareForAdaptivePlaybackParams
2013-10-03 15:40:30 -07:00
Alex Ray
d457ec52d7 Add feature android.hardware.consumerir xml file
Bug: 10676690
Change-Id: I2cc62b9c97a71588c43ff96ca38d470976bde9b0
2013-10-03 13:09:37 -07:00
Marco Nelissen
48d3741ba5 Merge "Allow blaming a single uid for work done" into klp-dev 2013-10-03 16:34:51 +00:00
Lajos Molnar
b1f94ef3f9 Merge "media/hardware/HardwareAPI.h: Added PrepareForAdaptivePlaybackParams" into klp-dev 2013-10-03 16:10:25 +00:00
Marco Nelissen
9a7706bb17 Allow blaming a single uid for work done
This lets audioflinger assign blame for wakelocks to a single uid.
Currently this is only used for recording wakelocks.
b/10985160

Change-Id: Idc9adb22c29030010ac690d4cb95e7e7ea6b91e6
2013-10-03 08:49:07 -07:00
The Android Automerger
25274b00b0 merge in klp-release history after reset to klp-dev 2013-10-03 06:02:17 -07:00
Jesse Hall
062019b8ce Set the outbuf acquire fence after we actually have it.
In GLES-only mode, we don't have the outbuf acquire fence until after
GLES composition is done for the frame. We were setting the fence in
HWC's state immediately after dequeueing the buffer from the consumer,
before GLES had started. This fence got passed through HWC and on to
the consumer, so the consumer was reading the buffer before GLES was
done writing to it.

Now we update HWC's state just before set(), when we know we have the
right fence.

Bug: 11000763
Change-Id: Iea9db4c69634c352dc2d600f0bdb6bef2a432636
2013-10-02 14:44:42 -07:00
Mathias Agopian
d5350dea05 only clear FB when asked for the opaque layer
a layer need to be considered NOT opaque if it has a
plane-alpha.

Bug: 10846930
Change-Id: Ibd8981b63ede4560c7096bacc4cff46a7eb2a8bb
2013-10-02 14:44:42 -07:00
Jesse Hall
8eb7a481ab Treat composition frames with no layers as using GLES composition
When there are no window layers for a display, SurfaceFlinger clears
the undefined region using GLES. Some of the places that check for
GLES composition weren't considering this special case, in particular:

- We were skipping the eglSwapBuffers() on these frames.
- We were putting VirtualDisplaySurface in HWC-only composition mode.

This change centralizes the logic for this special case.

Bug: 10957068
Change-Id: I2deaf2ed101e8ea76708862a6bb67751b6078794
2013-10-02 14:44:42 -07:00
Jamie Gennis
6be1d210ee am f0cf5f10: BufferQueue: fix a test crash
* commit 'f0cf5f103cf9c54d59de4ed6f1d8ddd2302dec1b':
  BufferQueue: fix a test crash
2013-10-02 11:16:59 -07:00
Jamie Gennis
f0cf5f103c BufferQueue: fix a test crash
Bug: 10935880
Change-Id: If76e9fb055103bad0db7e6c16487532671573149
2013-10-02 18:02:28 +00:00
Jamie Gennis
886b152111 am a9c47f32: Merge "GLConsumer: start using EGL_ANDROID_image_crop" into klp-dev
* commit 'a9c47f327373cbe48e187442c7f9554d24a75c08':
  GLConsumer: start using EGL_ANDROID_image_crop
2013-10-02 10:41:58 -07:00
Dave Burke
9b4b118094 am 06993503: Merge "only clear FB when asked for the opaque layer" into klp-dev
* commit '0699350336cccc244bb6c52a0d910f9599253812':
  only clear FB when asked for the opaque layer
2013-10-02 10:41:57 -07:00
Jamie Gennis
a9c47f3273 Merge "GLConsumer: start using EGL_ANDROID_image_crop" into klp-dev 2013-10-02 17:36:48 +00:00
Dave Burke
0699350336 Merge "only clear FB when asked for the opaque layer" into klp-dev 2013-10-02 17:36:40 +00:00
Jamie Gennis
dbe9245e2e GLConsumer: start using EGL_ANDROID_image_crop
This change makes GLConsumer use the EGL_ANDROID_image_crop extension when
available on a device.  The crop rectangle is passed to the EGL driver when
creating EGLImages, allowing the crop to be performed by the driver rather than
using the texture transform matrix.

Bug: 10897141
Change-Id: I63e9a5d5c85067376abc420e3639154468346311
2013-10-02 17:34:35 +00:00
Jesse Hall
f3fa071228 am 93573e91: Merge "Treat composition frames with no layers as using GLES composition" into klp-dev
* commit '93573e91c22ba8329222c69cd7f099f5703fb444':
  Treat composition frames with no layers as using GLES composition
2013-10-02 09:37:50 -07:00
Jesse Hall
72d270c5f0 am b716e570: Set the outbuf acquire fence after we actually have it.
* commit 'b716e57048e945d5bceda33c2434c65d06464dba':
  Set the outbuf acquire fence after we actually have it.
2013-10-02 09:37:49 -07:00
Jesse Hall
93573e91c2 Merge "Treat composition frames with no layers as using GLES composition" into klp-dev 2013-10-02 14:54:03 +00:00
Jesse Hall
b716e57048 Set the outbuf acquire fence after we actually have it.
In GLES-only mode, we don't have the outbuf acquire fence until after
GLES composition is done for the frame. We were setting the fence in
HWC's state immediately after dequeueing the buffer from the consumer,
before GLES had started. This fence got passed through HWC and on to
the consumer, so the consumer was reading the buffer before GLES was
done writing to it.

Now we update HWC's state just before set(), when we know we have the
right fence.

Bug: 11000763
Change-Id: Iea9db4c69634c352dc2d600f0bdb6bef2a432636
2013-10-01 17:25:20 -07:00
Mathias Agopian
ac68302e1c only clear FB when asked for the opaque layer
a layer need to be considered NOT opaque if it has a
plane-alpha.

Bug: 10846930
Change-Id: Ibd8981b63ede4560c7096bacc4cff46a7eb2a8bb
2013-10-01 15:36:52 -07:00
Jesse Hall
92d7c3ee03 am b65f32eb: Fix two EGLConfig selection bugs
* commit 'b65f32ebe2c86869b07ac1c986660dfb2187b7d3':
  Fix two EGLConfig selection bugs
2013-09-30 21:38:40 -07:00
Jesse Hall
d05a17fbb3 Treat composition frames with no layers as using GLES composition
When there are no window layers for a display, SurfaceFlinger clears
the undefined region using GLES. Some of the places that check for
GLES composition weren't considering this special case, in particular:

- We were skipping the eglSwapBuffers() on these frames.
- We were putting VirtualDisplaySurface in HWC-only composition mode.

This change centralizes the logic for this special case.

Bug: 10957068
Change-Id: I2deaf2ed101e8ea76708862a6bb67751b6078794
2013-09-30 17:08:28 -07:00
Jesse Hall
6f2bc240e9 Fix two EGLConfig selection bugs
This fixes two bugs introduced by
  Change-Id: Ia8cc084c02a0e3de910def024da8a08d02bbd89d

(a) There is no invalid EGLConfig value, in particular zero is valid.
    Checking return values of eglGetConfigs and eglChooseConfig is the
    only way to determine success.
(b) The "simple" EGLConfig query used as the emulator fallback should
    not include EGL_RECORDABLE; the emulator doesn't have it.

Bug: 10935622
Change-Id: Ib798a24e7cf06a679811c46eaa45d39174a715ec
2013-09-30 16:37:06 -07:00
Jesse Hall
b65f32ebe2 Fix two EGLConfig selection bugs
This fixes two bugs introduced by
  Change-Id: Ia8cc084c02a0e3de910def024da8a08d02bbd89d

(a) There is no invalid EGLConfig value, in particular zero is valid.
    Checking return values of eglGetConfigs and eglChooseConfig is the
    only way to determine success.
(b) The "simple" EGLConfig query used as the emulator fallback should
    not include EGL_RECORDABLE; the emulator doesn't have it.

Bug: 10935622
Change-Id: Ib798a24e7cf06a679811c46eaa45d39174a715ec
2013-09-30 10:49:16 -07:00
The Android Automerger
08db4d4ef7 merge in klp-release history after reset to klp-dev 2013-09-29 06:01:19 -07:00
Elliott Hughes
b7f3742feb am d9be16f9: Merge "Fix OpenGL stub exception handling."
* commit 'd9be16f920f7c2581fda3ca495c1e6fc88857a6c':
  Fix OpenGL stub exception handling.
2013-09-27 15:38:04 -07:00
Elliott Hughes
d9be16f920 Merge "Fix OpenGL stub exception handling." 2013-09-27 22:31:19 +00:00
Mathias Agopian
8499e93f4d fix crashers with wifi/virtual displays
Bug: 10647742
Change-Id: I4b8ed9da52ef95af3a3b3a04b98514a3776a674d
2013-09-27 11:30:59 -07:00
Mathias Agopian
338acd6869 am 86206b41: Merge "fix initialization of framebuffer target crop rect on hwc 1.3" into klp-dev
* commit '86206b41b2ff000e086301c6bafb8da577e563b2':
  fix initialization of framebuffer target crop rect on hwc 1.3
2013-09-26 12:44:27 -07:00
Mathias Agopian
0ff4b28396 am 6da15f46: fix crashers with wifi/virtual displays
* commit '6da15f46f5f8b38e31384d641f8d3db2c3c6ea30':
  fix crashers with wifi/virtual displays
2013-09-26 12:44:27 -07:00
Mathias Agopian
86206b41b2 Merge "fix initialization of framebuffer target crop rect on hwc 1.3" into klp-dev 2013-09-26 19:41:22 +00:00
Mathias Agopian
8f63c2049b fix initialization of framebuffer target crop rect on hwc 1.3
Bug: 10936771
Change-Id: If283e5e231ca34b93e0b1784bb4e8e4c7bfd75de
2013-09-25 20:44:34 -07:00
Mathias Agopian
6da15f46f5 fix crashers with wifi/virtual displays
Bug: 10647742
Change-Id: I4b8ed9da52ef95af3a3b3a04b98514a3776a674d
2013-09-25 20:40:07 -07:00
Elliott Hughes
2adde7c837 Fix OpenGL stub exception handling.
Bug: https://code.google.com/p/android/issues/detail?id=60390
Change-Id: I2bdc22c5fe75f5e41ffb9dd9259ae92cf8a12917
2013-09-24 17:18:05 -07:00
The Android Automerger
dbf6e66206 merge in klp-release history after reset to klp-dev 2013-09-22 10:51:13 -07:00
Nick Kralevich
e4e91c4ead resolved conflicts for merge of e678897f to klp-dev-plus-aosp
Change-Id: Ie2a5e7a917ab7f5a0ee98300b880d22c7a10bf70
2013-09-20 12:45:20 -07:00
Nick Kralevich
e678897f3a Merge "Proper security labeling of multi-user data directories." 2013-09-20 19:35:36 +00:00
Eino-Ville Talvala
a7395b4078 GLConsumer: Add query for current frame number.
Surface the underlying frame number of the current texture.

Bug: 10830400
Change-Id: Ide3a7da12ea0aac54588beb6bf00dbfe2cd37653
2013-09-20 03:37:01 -07:00
Mathias Agopian
754bad4534 am d555684c: reinstate black-screenshot debugging code
* commit 'd555684cb36dfb959694db76962e570184f98838':
  reinstate black-screenshot debugging code
2013-09-19 17:13:52 -07:00
Mathias Agopian
d555684cb3 reinstate black-screenshot debugging code
turned off by default.

Bug: 10809349
Change-Id: I3e6b8c7860e6b0e122b8f07de4020967cd1f005c
2013-09-19 17:09:26 -07:00
Mathias Agopian
f589dd2915 am e2a3e872: Merge "Fix GLES context version selection" into klp-dev
* commit 'e2a3e8727408937bb7107c206444fa49a150f358':
  Fix GLES context version selection
2013-09-19 15:34:15 -07:00
Mathias Agopian
e2a3e87274 Merge "Fix GLES context version selection" into klp-dev 2013-09-19 22:29:30 +00:00
Eino-Ville Talvala
1160e89d31 am d171da97: GLConsumer: Add query for current frame number.
* commit 'd171da973de3c6b30263011334fdcd916739144f':
  GLConsumer: Add query for current frame number.
2013-09-19 14:59:51 -07:00
Eino-Ville Talvala
d171da973d GLConsumer: Add query for current frame number.
Surface the underlying frame number of the current texture.

Bug: 10830400
Change-Id: Ide3a7da12ea0aac54588beb6bf00dbfe2cd37653
2013-09-19 13:36:07 -07:00
The Android Automerger
7fa91dc3a7 merge in klp-release history after reset to klp-dev 2013-09-19 06:01:50 -07:00