b46d5b2d82b021db41a72f4c3eb9250f8a839e04 |
|
07-Jun-2018 |
Chia-I Wu <olv@google.com> |
Merge "surfaceflinger: prime shader cache for P3 conversion" into pi-dev
|
93e14df5b3e0a593c033715b64c8243c578ceb83 |
|
04-Jun-2018 |
Chia-I Wu <olv@google.com> |
surfaceflinger: prime shader cache for P3 conversion Bug: 77287550 Test: no shader compilation when WCG apps start Change-Id: I45cdefc97c5e9060269060e33d79b40304cfdbbf
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
a277ccba0781c07b73afda203fcaabd46104b49d |
|
01-Jun-2018 |
Dan Stoza <stoza@google.com> |
SF: Add workaround to release screenshot buffer Works around driver behavior to force the [E]GL driver to fully release the screenshot buffer immediately after the screenshot is complete rather than deferring until the next instance of client composition. Bug: b/77935566 Test: Manual, inspect 'dumpsys SurfaceFlinger' after launching an app and then returning home (which causes a screenshot for overview) Change-Id: I4f33d89f3ff3020707a9f556a1fcfe34bc9b7adb
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
144e116f45f196396f0d59d5fc09766ab618f885 |
|
21-Dec-2017 |
Lloyd Pique <lpique@google.com> |
SF: Separate RenderEngine into interface and impl This allows the RenderEngine to be substituted by a GMock for tests. RE::RenderEngine is now a pure virtual interface class. RE::impl::RenderEngine is the normal/base implementation. Similarly, RE::Image and RE::Surface are pure virtual interfaces. RE::impl::Image and RE::impl::Surface are the normal implementations. Test: Builds Bug: None Change-Id: Ib5e658df4bb4efc1a9c0ae95feaf0c1e052cdc94
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
5b15ef66927507f01c6ec19ed39b04dfc549a111 |
|
17-Jan-2018 |
Jorim Jaggi <jjaggi@google.com> |
Enable IMG_context_priority depending on availability The config value from the config store can still be used to override it. Test: Enable gpu completion tracing, observe how SF preempts other GPU drawing Bug: 64674361 Change-Id: Id2f6f11019c2e6cae078fb9e64e3d9d72e42533c
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
566a3b4a1d1a2a6d38257113700eea92aa44ea2b |
|
10-Jan-2018 |
Peiyong Lin <lpy@google.com> |
[SurfaceFlinger] Replace NULL with nullptr. Test: make Change-Id: Ia0ecb3160cd5fddf22fb7100c1759d62e723d0b7
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
9f2db77e6e342c6bebc3010a900fd6fb98738587 |
|
01-Dec-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: pass RenderEngine into BufferLayerConsumer Add RenderEngine::isCurrent to replace BufferLayerConsumer::checkAndUpdateEglStateLocked. Remove a duplicated check in updateAndReleaseLocked. Use RenderEngine::checkErrors. Test: SurfaceFlinger_test Change-Id: I6b97534a41a855d101965b498cb1afa72404227e
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
401ef83b9d9cc78a6ebe30d289a80d4eee06286b |
|
01-Dec-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: add image abstraction to RenderEngine Similar to Surface, Image manages the creation and destruction of an EGLImageKHR. Test: builds Change-Id: I2ca98e99013f0a4028f0ea5036f37b20fd67d956
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
767fcf7ef21a2db44ead9e685ebe48f638f3e651 |
|
01-Dec-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: add more sync operations to RenderEngine Add RenderEngine::finish and RenderEngine::waitFence. Rework flush not to fall back to finish. Test: SurfaceFlinger_test Change-Id: I2e5738f72b4aa1186d45d23cab9055f96d90ff23
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
767d7c9fb0caff1e27f368d6256638407f872556 |
|
30-Nov-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: support EGL extensions in GLExtensions Add EGL_VERSION and EGL_EXTENSIONS support to GLExtensions. This also remove the unused mHaveFramebufferObject and rename getExtension to getExtensions. Test: boots and dumpsys Change-Id: I759508f05d3255fc97eba14d298fa92938bafa75
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
b027f805c9a18893556353f44008683e20ebe049 |
|
29-Nov-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: run clang-format on RenderEngine Run clang-format on all files. In Program constructor, use mat4() instead of manually construct a 4x4 identity matrix. Test: builds Change-Id: I84e5eec06d103383c715b1f03c521bbcca5bd92c
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
f846a35a68f14b0eca45e3cd7c6d3ca88a57fe52 |
|
10-Nov-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: use RE::Surface in DisplayDevice This allows us to eliminate all direct use of EGL from DisplayDevice. Test: SurfaceFlinger_test Change-Id: Ic7b006dfd8e3f067625896c3020b55914b9fc65b
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
b523df0c48cefe4b29b5ecbdf1e80c633d3ad36e |
|
09-Nov-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: remove unused EGL data members Remove SurfaceFlinger::mEGLDisplay and SurfaceFlinger::mEGLContext. With this change, SurfaceFlinger does not use EGL directly anymore. This also allows us to get rid of RenderEngine::getEGLContext. Test: SurfaceFlinger_test Change-Id: I7799d935367650508b741e62a53ce325fdc94234
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
eadbaa68dbf0f674b2a5260fc813b408cb42fee3 |
|
09-Nov-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: add RenderEngine::BindNativeBufferAsFramebuffer It replaces BindImageAsFramebuffer and makes EGLImage an implementation detail of RenderEngine. Test: SurfaceFlinger_test Change-Id: I01be2d95fb9af9cbefa1a72131afb0975f1e0296
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
b0c041b61ef38eb1912b8bb4ff372cf836aa8a30 |
|
09-Nov-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: return fence fd from RenderEngine::flush The caller does not need to work with EGLSync after this chnage. Test: SurfaceFlinger_test Change-Id: I1cf7d11d3023d09be8a73001493c39b4309e7542
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
7f40290b223afe1fea1d173da43e8e3d6ae49590 |
|
09-Nov-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: add RenderEngine::setCurrentSurface setCurrentSurface is a wrapper to eglMakeCurrent and it uses the EGL context implied by the RenderEngine. This also allows us to simplify DisplayDevice::makeCurrent. Test: SurfaceFlinger_test Change-Id: Idab581f0ef79af7263159a558d8fad493a198ce7
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
8601f886d506886d72767979c12f393cbcd2a2cd |
|
10-Nov-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: move EGL version/extensions dump into RE Test: SurfaceFlinger_test Change-Id: I0c6e258e5ab2e55c7092d1642627c573038b99ac
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
b01450b71d7d335f72904ca5ee8d3e1e1fc08bcc |
|
10-Nov-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: move EGL termination into RE This defers EGL termination a bit but that should be fine. More importantly, SurfaceFlinger is never destructed. Test: SurfaceFlinger_test Change-Id: I200e2169eb1cc419a587a7626b438d3d5ddedc70
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
d4d9c6fc5616ace39b2c3f23e4590ea8373d3fcf |
|
10-Nov-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: move EGL initialization into RE This defers EGL initialization a bit, from before EventThread initialization to after. Test: SurfaceFlinger_test Change-Id: Icbe9b78d1db189ce5e6aeedf902fe7b62ea2004e
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
2b6386e16ebdc1bdaee81ce37d0e5cbbdfffddb3 |
|
09-Nov-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: add RenderEngine::mEGLDisplay It does not make much sense to have EGLConfig/EGLContext but not EGLDisplay in RenderEngine. We also need this as we move forward on making EGL an implementation detail of RenderEngine. Test: SurfaceFlinger_test Change-Id: I9e2c9b9817e2c2a9b2555ea575be6dcd91927b79
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
b2c762464cb379d07483b25c5f6c1b8222b8c5f5 |
|
10-Nov-2017 |
Chia-I Wu <olv@google.com> |
surfaceflinger: manage RenderEngine with unique_ptr Test: SurfaceFlinger_test Change-Id: I603a399b88963acdcd154f721fe64bf59d9032fd
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
00b15b8f223976d016e16536e4720771ef634695 |
|
10-Aug-2017 |
Jiyong Park <jiyong@google.com> |
Mark libEGL, GLESv1_CM, GLESv2, and GLESv3 as LLNDK They are used by libRSDriver and libRS_internal which are VNDK-SP libraries. Therefore, the EGL/GLES libs must be LLNDK or VNDK-SP. We choose to make them as LLNDK since they already have stable ABIs (as they are NDK). In addition, two more functions of libEGL are exposed to vendors eglQueryStringImplementationANDROID and eglDupNativeFenceFDANDROID are non-NDK symbols but are being used by libgui, which is a library marked with vendor_available:true. In order to provide the symbols to the library, they are added to the map.txt file and tagged as "# vndk" so that they are exposed only when built for vendor libs (and hidden when built for NDK). Furthermore, eglQueryStringImplementationANDROID is changed to C-symbol in order to be mentioned in the map.txt file, where C++ mangled symbol name can't be used. Bug: 64425518 Test: BOARD_VNDK_VERSION=current m -j libRSDriver.vendor Test: BOARD_VNDK_VERSION=current m -j libRS_internal.vendor Change-Id: I4d5bcd5f72fb05a7908887f5192de70fd1d8c8f1
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
d7f49c5e93a554c2f0e85e279a765f92fb1e66f1 |
|
27-Jul-2017 |
Steven Thomas <steventhomas@google.com> |
Use a separate hwcomposer hidl instance for vr flinger Improve robustness of vr flinger <--> surface flinger switching by having vr flinger use a separate hardware composer hidl instance instead of sharing the instance with surface flinger. Sharing the hardware composer instance has proven to be error prone, with situations where both the vr flinger thread and surface flinger main thread would write to the composer at the same time, causing hard to diagnose crashes (b/62925812). Instead of sharing the hardware composer instance, when switching to vr flinger we now delete the existing instance, create a new instance directed to the vr hardware composer shim, and vr flinger creates its own composer instance connected to the real hardware composer. By creating a separate composer instance for vr flinger, crashes like the ones found in b/62925812 are no longer impossible. Most of the changes in this commit are related to enabling surface flinger to delete HWComposer instances cleanly. In particular: - Previously the hardware composer callbacks (which come in on a hwbinder thread) would land in HWC2::Device and bubble up to the SurfaceFlinger object. But with the new behavior the HWC2::Device might be dead or in the process of being destroyed, so instead we have SurfaceFlinger receive the composer callbacks directly, and forward them to HWComposer and HWC2::Device. We include a composer id field in the callbacks so surface flinger can ignore stale callbacks from dead composer instances. - Object ownership for HWC2::Display and HWC2::Layer was shared by passing around shared_ptrs to these objects. This was problematic because they referenced and used the HWC2::Device, which can now be destroyed when switching to vr flinger. Simplify the ownership model by having HWC2::Device own (via unique_ptr<>) instances of HWC2::Display, which owns (again via unique_ptr<>) instances of HWC2::Layer. In cases where we previously passed std::shared_ptr<> to HWC2::Display or HWC2::Layer, instead pass non-owning HWC2::Display* and HWC2::Layer* pointers. This ensures clean composer instance teardown with no stale references to the deleted HWC2::Device. - When the hardware composer instance is destroyed and the HWC2::Layers are removed, notify the android::Layer via a callback, so it can remove the HWC2::Layer from its internal table of hardware composer layers. This removes the burden to explicitly clear out all hardware composer layers when switching to vr flinger, which has been a source of bugs. - We were missing an mStateLock lock in SurfaceFlinger::setVsyncEnabled(), which was necessary to ensure we were setting vsync on the correct hardware composer instance. Once that lock was added, surface flinger would sometimes deadlock when transitioning to vr flinger, because the surface flinger main thread would acquire mStateLock and then EventControlThread::mMutex, whereas the event control thread would acquire the locks in the opposite order. The changes in EventControlThread.cpp are to ensure it doesn't hold a lock on EventControlThread::mMutex while calling setVsyncEnabled(), to avoid the deadlock. I found that without a composer callback registered in vr flinger the vsync_event file wasn't getting vsync timestamps written, so vr flinger would get stuck in an infinite loop trying to parse a vsync timestamp. Since we need to have a callback anyway I changed the code in hardware_composer.cpp to get the vsync timestamp from the callback, as surface flinger does. I confirmed the timestamps are the same with either method, and this lets us remove some extra code for extracting the vsync timestamp that (probably) wasn't compatible with all devices we want to run on anyway. I also added a timeout to the vysnc wait so we'll see an error message in the log if we fail to wait for vsync, instead of looping forever. Bug: 62925812 Test: - Confirmed surface flinger <--> vr flinger switching is robust by switching devices on and off hundreds of times and observing no hardware composer related issues, surface flinger crashes, or hardware composer service crashes. - Confirmed 2d in vr works as before by going through the OOBE flow on a standalone. This also exercises virtual display creation and usage through surface flinger. - Added logs to confirm perfect layer/display cleanup when destroying hardware composer instances. - Tested normal 2d phone usage to confirm basic layer create/destroy functionality works as before. - Monitored surface flinger file descriptor usage across dozens of surface flinger <--> vr flinger transitions and observed no file descriptor leaks. - Confirmed the HWC1 code path still compiles. - Ran the surface flinger tests and confirmed there are no new test failures. - Ran the hardware composer hidl in passthrough mode on a Marlin and confirmed it works. - Ran CTS tests for virtual displays and confirmed they all pass. - Tested Android Auto and confirmed basic graphics functionality still works. Change-Id: I17dc0e060bfb5cb447ffbaa573b279fc6d2d8bd1 Merged-In: I17dc0e060bfb5cb447ffbaa573b279fc6d2d8bd1
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
bbdcf1f4fa87e942bae7ee9bbef0ecc9a786900d |
|
23-May-2017 |
Kalle Raita <kraita@google.com> |
Remove GLES2Renderer dependency on config stores Test: Builds, code search for RenderEngine::create Change-Id: I7b5032f072d0fc468a8e0eba54035867c5bf74c4
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
0ebaac3fb967f48c9b5f1d579ede853fc495a7cd |
|
13-Apr-2017 |
Courtney Goeltzenleuchter <courtneygo@google.com> |
Add surface details to dumpsys SurfaceFlinger Test: adb shell dumpsys SurfaceFlinger Bug: 29940137 Change-Id: Ia0216961aa65726fa70ab9b27949344c423ab6fe
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
ce6e58ab6763d2bbc3525143083cfa67ea696e16 |
|
28-Mar-2017 |
neo.he <neo.he@mstarsemi.com> |
Merge changes If756ad2a,I19aeb7ac am: 15feba03ae am: 47609db709 am: e59f1b0bbe Change-Id: Ic743e74ef2560e1657c8f73750dc747e91d336f2
|
e7f39727a484107b2d2a78eaaaacad3d7f44c24d |
|
21-Mar-2017 |
neo.he <neo.he@mstarsemi.com> |
Add alpha channel for the EGLConfig If the alpha channel is not assigned,the framebuffer will be Opaque. And it will mask the underlying video and make the video invisible when play video width mediaplayer Issue: 258684 Test: media player Change-Id: If756ad2aaa789f6ddb178333b3e8854f52c8eac3
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
c93afd54a05497c4ae42db99ea0310ee69cca492 |
|
13-Mar-2017 |
Fabien Sanglard <sanglardf@google.com> |
[SurfaceFlinger]Use configStore useContextPriority Change-Id: I329b5da0e92822eb0878c8866c8ab87ea13f7e07
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
e0ea99cc4ba89452b9b6b1baa33bddcb11f3351a |
|
12-Jan-2017 |
Mark Salyzyn <salyzyn@google.com> |
resolve merge conflicts of a2c2d11f9 to master Test: compile Bug: 26552300 Bug: 31289077 Change-Id: I84d0ffa430df3beca0dcc6ed205ce220d7be1f87
|
7823e124e00576e20e47ec717cbe8bc89f0f2bf2 |
|
29-Sep-2016 |
Mark Salyzyn <salyzyn@google.com> |
Replace cutils/log.h and rationalize log/log.h and android/log.h - cutils/log.h treat as deprecated and lead by example - android/log.h to be used instead of log/log.h if possible - add system includes that are assumed as side effects - define LOG_TAG first Test: compile Bug: 31289077 Bug: 30465923 Change-Id: I8d99b24c333578c9b5aa9f2a01324bd0bba268dd
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
c03d283e8b3f830d76dd94822b2a13872c05c730 |
|
28-Dec-2016 |
Mark Salyzyn <salyzyn@google.com> |
resolve merge conflicts of 525a5f2 to master Test: build Change-Id: Id1c6d3d9dd158fb086b0d8ab74f7838ef0a51af1
|
a5e161b1207ef447a51e99856097d69d4a6111e1 |
|
29-Sep-2016 |
Mark Salyzyn <salyzyn@google.com> |
Replace cutils/log.h and rationalize log/log.h and android/log.h - cutils/log.h treat as deprecated and lead by example - android/log.h to be used instead of log/log.h if required - add system includes that are assumed as side effects of log.h - modules that use SLOG should use SLOG for all logging (installd) - define LOG_TAG first - remove logging infrastructure if not used Test: build Bug: 31289077 Change-Id: Iea147a0104c7ab7f12451304131d6500f42141e7
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
efb93455b3a95458d68897c3b38f7f98046c697e |
|
04-Oct-2016 |
Fabien Sanglard <sanglardf@google.com> |
Delete RenderEngine path for OpenGL ES 1.0/1.1 Change-Id: Ibf9e80866a38d09a025ff5031590beb11f4c2b72
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
5043c3b32c7a7cec264ac89c767b26e101d7f034 |
|
29-Jul-2016 |
Dan Stoza <stoza@google.com> |
SF: Prime shader cache before boot animation am: 4e63777f75 am: fa37ad521a am: 85c57eb151 Change-Id: I2ef501e59efd2a510db07df998f11f05b563df14
|
4e63777f75e9756c74352e62e79dfa8a994de2b3 |
|
28-Jul-2016 |
Dan Stoza <stoza@google.com> |
SF: Prime shader cache before boot animation Primes the shader cache before launching boot animation to avoid janking when we eventually fall into GLES composition. Bug: 30040263 Change-Id: I76ba66e92c5e6bb05930c325f384f3b774e91101
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
c406791ead6d864ec693ad01a80c5f471bdc2a7a |
|
03-May-2016 |
Chih-Hung Hsieh <chh@google.com> |
Fix google-explicit-constructor warnings. Bug: 28341362 Change-Id: I7e061f68acdde368a3b63c029b928133646ebff2
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
53390e1e8c33ebee5bb8100e846f5263ba05ff73 |
|
04-Aug-2015 |
Pablo Ceballos <pceballos@google.com> |
libgui/SF: Fix some code warnings A couple of fixes to satisfy the Eclipse static code analysis tool. - Initialize all members in constructors - Remove unused forward declarations - Add parentheses when combining logical and bitwise operators - Fix a case statement with no break (it was intentional) Change-Id: Icecb8cc98c6f58b97ab33fffb621f0edc33a7d3c
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
4037c458a7594cb3cd81a14e7e974abc28180187 |
|
13-Nov-2014 |
Andreas Gampe <agampe@google.com> |
resolved conflicts for merge of 07dffa18 to lmp-mr1-dev-plus-aosp Change-Id: I42d8bc291f4f48f3098754b076889159c4b20e41
|
89fd4f7fa6bd17ce5400979c3b9e5ba0bf7e919e |
|
13-Nov-2014 |
Andreas Gampe <agampe@google.com> |
Frameworks/native: Wall Werror in surfaceflinger Turn on -Wall -Werror in services/surfaceflinger. Fix warnings. Change-Id: Ifef830300d9d4bc657d8f1257c02bfe8c2b4d9c5
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
9707f4df640c3369f873a934bb05ffa5a68a5640 |
|
24-Oct-2014 |
Riley Andrews <riandrews@google.com> |
Add glFlush in surfaceflinger screenshot code. After creating a syncKHR object with type EGL_SYNC_NATIVE_FENCE_ANDROID, glFlush must be called before the EGL_SYNC_NATIVE_FENCE_FD_ANDROID attribute is populated with a sync fd. We currently call eglDupNativeFenceFDANDROID before issuing the flush. Bug 18052459 Taken verbatim from matthew.k.gumbel@intel.com. Change-Id: I3781d14f92862076e2bca7d27341a6dc6e7e3775
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
9ae79d869a37633fa956a4f16f3fa45b23c189f1 |
|
31-Jul-2014 |
Michael Lentine <mlentine@google.com> |
Build fix for size_t on 64bit. Change-Id: Ic16895b30d78ba8a635b709adbae31a590501b20
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
19e872912af66c53a4350afcc333bbafaf6a2294 |
|
24-Dec-2013 |
Jesse Hall <jessehall@google.com> |
Implement per-display EGLConfig and configless EGLContext Bug: 12230666 Change-Id: Icca608b108cbdcab9cf01a9236d8cdbda000a836 Signed-off-by: Jesse Hall <jessehall@google.com>
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
05f8c703d4a050669ff8f406be3a9dc2357935f7 |
|
24-Dec-2013 |
Jesse Hall <jessehall@google.com> |
Move EGLConfig selection to RenderEngine Bug: 12230666 Change-Id: I8d1111a7e0fd9d9e2525e6a80da8ce46d7dd085d Signed-off-by: Jesse Hall <jessehall@google.com>
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
d555684cb36dfb959694db76962e570184f98838 |
|
20-Sep-2013 |
Mathias Agopian <mathias@google.com> |
reinstate black-screenshot debugging code turned off by default. Bug: 10809349 Change-Id: I3e6b8c7860e6b0e122b8f07de4020967cd1f005c
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
2185f8b420ee1b150f761893a9c47cffff645cde |
|
19-Sep-2013 |
Mathias Agopian <mathias@google.com> |
Fix GLES context version selection Explicitly selects an ES 2.0 config first, then an ES 1.x config, before attempting the fallback path for the emulator. Bug: 10820214 Change-Id: Ia8cc084c02a0e3de910def024da8a08d02bbd89d
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
ff2ed70fa30f04b90dd1a2c06ec2319e157152d7 |
|
02-Sep-2013 |
Mathias Agopian <mathias@google.com> |
color blindness enhancement This is an attempt at improving the experience of users with color vision impairement. At this time this feature can only be enabled for debugging: adb shell service call SurfaceFlinger 1014 i32 PARAM with PARAM: 0 : disabled 1 : protanomaly/protanopia simulation 2 : deuteranomaly/deuteranopia simulation 3 : tritanopia/tritanomaly simulation 11, 12, 13: same as above w/ attempted correction/enhancement The enhancement algorithm tries to spread the "error" such that tones that would otherwise appear similar can be distinguished. Bug: 9465644 Change-Id: I860f7eed0cb81f54ef9cf24ad78155b6395ade48
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
19733a32799f792125913e746e8644d16f8dc223 |
|
29-Aug-2013 |
Mathias Agopian <mathias@google.com> |
minor clean-up of the GLESRenderer Change-Id: I978dea25b7687fbbbb283f09c24e115d9bad49a2
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
458197de008be8fe561286b09f4edddb2f5c540a |
|
15-Aug-2013 |
Mathias Agopian <mathias@google.com> |
Fix ES2 composition on some devices - turns out fragment shaders don't have default precision by default - GLES 1.x extensions that became core in GLES 2.0 don't always work as extensions in GLES 2.0 (!) Bug: 8679321 Change-Id: I5a4a93e158247910399325a965af5d2e3bbece9b
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
6db4ff621898573b41abf570271a04a13bd36a69 |
|
15-Aug-2013 |
Andy McFadden <fadden@android.com> |
Disable GLES 2.x rendering Bug 10340705 Change-Id: I91f3baf0d79655d8d031c100d0b116f745c2fbef
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
5cdc8994a0ecd751a6350b16a1bef8b6b0d09b11 |
|
14-Aug-2013 |
Mathias Agopian <mathias@google.com> |
don't reallocate the mesh each time we use it the Mesh object can be part of each Layer (at least currently). also reworked the Mesh code a bit to make it easier to access the vertex data. Change-Id: I0490851ba898f0aa2e55b62958dcd8bdb535e98b
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
3f84483382be2d528918cc1a6fbc6a7d68e0b181 |
|
08-Aug-2013 |
Mathias Agopian <mathias@google.com> |
SurfaceFlinger now uses GLES 2.x when available Bug: 8679321 Change-Id: I2b152d01fb4e2de2ea9fe87f1ddbd6826d7520d7
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|
875d8e1323536e16dcfc90c9674d7ad32116a69a |
|
08-Jun-2013 |
Mathias Agopian <mathias@google.com> |
Refactor SF. Move all GL operations in their own class. this is the first step to add support for GLES 2.x, this change breaks the dependency of SF on GLES 1.x by moving all operation into their own class. Bug: 8679321 Change-Id: I0d2741eca2cefe67dfd9cf837cac10c4d126928b
/frameworks/native/services/surfaceflinger/RenderEngine/RenderEngine.cpp
|