2041913a05b79b96c5c084f30bb8944049a976c8 |
22-Apr-2017 |
Jiwen 'Steve' Cai <jwcai@google.com> |
BufferQueue: plumbing mConsumerIsProtected This replaces current logic in BufferQueue that uses GRALLOC_USAGE_PROTECTED to indicate whether an ANativeWindow is capable of handling hardware protected gralloc buffers. Current logic is problematic as it enforces producer to use protected buffer no matter whether producer side is capable of writing into a protected buffer. This new solution, however, introduces a new NATIVE_WINDOW_* flag that consumer can set on IGraphicBufferConsumer to indicate its capacity, which can then be queried by producer via Surface::query (or IGraphicBufferProducer::query). When consumer is capable of reading protected buffer (e.g. a protected GL context), the producer can generate either a protected or unprotected buffer. When consumer is not capable of reading protected buffer, the producer should only generate unprotected buffer. Bug: 35726763 Test: videoplayer-nodrm-protected.apk and videoplayer-drm-protected.apk both works. Change-Id: I1bf6814c9f1f81f9e04f0e89646b0733ff1a4758
indow.h
|
dc96fdfa58260867c993fff78611220874753201 |
21-Mar-2017 |
Brian Anderson <brianderson@google.com> |
egl: Differentiate pending vs invalid timestamps. Test: adb shell /data/nativetest/libgui_test/libgui_test --gtest_filter=*GetFrameTimestamps* Change-Id: Iaa418ff1753a4339bfefaa68a6b03e8c96366a87
indow.h
|
6b376713907086c9642e7b7e66e51ddfa531b003 |
04-Apr-2017 |
Brian Anderson <brianderson@google.com> |
egl: Avoid use of retire as present Retire fences from HWC1 are implemented inconsitently, so present emulation doesn't always work well. This patch disables present for all HWC1 based devices. Test: adb shell /data/nativetest/libgui_test/libgui_test --gtest_filter=*GetFrameTimestamps* Bug: 36730849, 36887025 Change-Id: I1eba2f8490c2f6feced2a36d1efc4cd66be7da40
indow.h
|
000879a0eb2156727a2221e42d04b6f3e150aa79 |
21-Mar-2017 |
Mathias Agopian <mathias@google.com> |
VNDK ANativeWindow API - step 2 The vndk API is a superset of the NDK API. Prior to this, vendor would have access to system/window.h which itself is a superset of what they need, exposes too much of the internals. With this change, system/window.h depends on vndk/window.h which depends on android/native_window.h Test: compiled, booted Nexus 6P Bug: 34453351 Change-Id: Iad7bf035143541843309437fe630cc603d96a76e
indow.h
|
a6c0e20ac89b1be29901a7200590bf7cb8b99f78 |
20-Mar-2017 |
Mathias Agopian <mathias@google.com> |
VNDK ANativeWindow API The vndk API is a superset of the NDK API. Prior to this, vendor would have access to system/window.h which itself is a superset of what they need, exposes too much of the internals. With this change, system/window.h depends on vndk/window.h which depends on android/native_window.h Test: compiled, booted Nexus 6P Bug: 34453351 Change-Id: I870e08c652d90b3f2cf4ed7c7ca541ce2893f689
indow.h
|