summaryrefslogtreecommitdiff
path: root/libs/hwui/Properties.cpp
AgeCommit message (Collapse)Author
2021-03-10Use `ro.boot.qemu` to check if the device is an emulatorRoman Kiryanov
`ro.kernel.qemu` is deprecated. Bug: 182291166 Test: presubmit Signed-off-by: Roman Kiryanov <rkir@google.com> Change-Id: Id42d79af90b1fe7e182a96c53c84248e81a7c259
2019-10-25[HWUI] Get DeviceInfo through stable ABIAlec Mouri
This also removes the dependency on ui/DeviceInfo other than in test code. Bug: 136263392 Bug: 136263238 Test: builds, boots Change-Id: I6a4687e981359f0e6beb83be8a5501ed7fd16f15
2019-05-31Merge "Delete wrap_gles capability"John Reck
2019-05-29Delete wrap_gles capabilityJohn Reck
* Error enforcement doesn't work with libhwui anymore * We can just do the real, proper thing for unit tests & microbenchmarks, which is arguably better anyway * hwui doesn't have much opengl code left that was wrapped Fixes: 128629988 Test: hwuiunit, hwuimacro, and hwuimicro all still run Change-Id: If2568ea0745a67f83e1290860d474c1a01870376
2019-05-29Build native android graphics library for desktopJerome Gaillard
The purpose of this is to be able to use the native graphics code from the Android platform directly in Android Studio (running on desktop) to do layout rendering. This creates a host library that is a subset of libandroid_runtime including only the JNI files relevant to Android graphics. It also includes LayoutlibLoader.cpp which is used to load the JNI when using it as part of layoutlib (the graphics library for Android Studio). This also creates libhwui-host, a host library that is a subset of libhwui. Bug: 117921091 Test: lunch sdk && m libandroid_runtime Change-Id: I3850020d2d4c13c85e377476bc463d3eb6a01c6d
2019-05-28Use libbase API to access system properties in libhwuiJerome Gaillard
Calls to licutils properties API are replaced by calls to libbase properties API. This will make it easier to make a host target for libhwui as libbase provides a host implementation for its properties API. Bug: 117921091 Test: N/A Change-Id: I15b4fe1a16d2bc7b271387d8cf3403940b8aae2d
2019-04-26Merge "Zygote: add a way to preload Vulkan driver" into qt-devTreeHugger Robot
2019-04-25Zygote: add a way to preload Vulkan driverYiwei Zhang
Since HWUI render pipeline has both GL and Vulkan backends now, we'd like to preload either GL or Vulkan driver based upon HWUI's choice on the render backend. 1) Keep using ro.zygote.disable_gl_preload property to disable Vulkan driver preloading if HWUI's render pipeline uses Vulkan backend. Properly rename the corresponding APIs for driver preloading. 2) Add a path to preload Vulkan driver based on HWUI's render backend. Bug: 131249898 Test: build, flash and boot. Test: verified with set USE_VULKAN=true Test: verified with setprop debug.hwui.renderer skiagl/skiavk Change-Id: Ie0bf5d18edcf907c75a25ac3249e2620ec21b63c
2019-04-25Fix some force_dark prop behaviorsJohn Reck
* Make it persist.hwui.force_dark so the dev option survices reboots. * Remove the internal super-override behavior it applied using only the intended ViewRootImpl theme-aware behavior. Fixes: 127350499 Fixes: 130354206 Test: set dev option, verified nothing went dark. Set dark theme, verified non-dark apps were force-darked. Rebooted and verified property still set. Change-Id: I43adcbc25320669510fb03b162c98cbd14612f55
2019-04-18Dynamically adjust renderaheadJohn Reck
Tracks refresh rate changes and adjusts renderahead based off of the active refresh rate. Default is 60hz = 0 render ahead & > 70hz is render ahead 1 Bug: 127822449 Test: systraced stuff Change-Id: I9849aa065262f21f7602d44cd1761373279dc28d
2019-04-12Support render-ahead in vulkanJohn Reck
Bug: 127822449 Test: verified render_ahead working with skiavk Change-Id: Iae1b227a763f6def035057f38cca4b0ab65c7e82
2019-04-04Add back render-ahead supportJohn Reck
Currently only supported in the EGL path. Vulkan support Coming Soon Bug: 127822449 Test: trace of hwuimacro Change-Id: Iac2b039e11d964aab5b8ca1bdf2a5430b187e2ea
2018-12-14Read product property to set Vulkan as default render pipelineStan Iliev
Bug: 119267168 Test: Booted pixel 3 with Vulkan rendering Change-Id: Ibc4b2e00d791b1fb333c0e0f5db2b5f084808c24
2018-12-05Merge "Remove unused HWUI properties."TreeHugger Robot
2018-12-04Remove unused HWUI properties.Derek Sollenberger
Test: compile only Change-Id: Ifef24fe53edcab63af3f9b634849d996dc7960ec
2018-12-03Remove ; from closing namespaces in libs/hwuiChris Blume
When closing a namespace a } is sufficient. It doesn't need to be }; like closing a class or enum. Within frameworks/base/libs/hwui there is a mix between } and }; when closing a namespace. There are even mixes between a .h and the corresponding .cpp files. In a separate CL I was asked to not close with };. That was a good comment. I adopted the style from nearby code. This CL cleans up the nearby code. Test: I made sure the code still built as expected. Change-Id: Ieb314a4f48d6e33752463f3be4361fdc9be97482
2018-10-25Enable smart darkJohn Reck
Bug: 116860870 Test: builds, smart dark applies for targetSdk >= Q && night mode is enabled Change-Id: I66e4ec4ad3e5c886c5260137fd48e2c92ee59552
2018-09-27Wire-up default force-dark based off of isLightThemeJohn Reck
Bug: 102591313 Test: Compared settings in light & dark UI modes with force_dark set to true. Observed that force_dark fixes were not present when UI mode was set to dark, indicating force_dark was appropriately globally-disabled Change-Id: I5882829bb5871829fc8fc9911682f52a6ba5f445
2018-07-09Auto-dark mode prototypeJohn Reck
Experimental force_dark prototype mode. Enabled by setting debug.hwui.force_dark to true. Test: verified nothing changes without prop being set Change-Id: Ib02f3f1a9c591cab1f312b827451f04c782c2f41
2018-07-02Add a debug property to enable Skia systraceStan Iliev
Add a "debug.hwui.skia_atrace_enabled" property that allows to record a systrace with skia drawing ops. App need to be restarted after setting the new propety to true. Test: collected skia trace with systemui Change-Id: I2d1c5911714bfc911894f633ec2df2f6bb953b48
2018-04-18Revert "Add support for render-ahead"John Reck
This reverts commit ec100976e0655acaa204c8800dfb83dadae20cc8. Reason for revert: b/77971494 Test: hwuiunit passes Change-Id: I2e7dc719d2df1dd939b275496c0edc38e458c434
2018-04-12Remove Properties::isSkiaPipeline (3/!?)John Reck
Test: hwuiunit & CtsUiRenderingTestCases pass Change-Id: Ie7b336eacdd1b8660e09653c64eb6ea0a7b4a258
2018-04-11Remove RenderPipelineType::OpenGL (1/many)John Reck
Just removes the define & all things referencing the define. Test: hwui_unit passes Change-Id: I3f98c271e23ef696c40addf260abdc0fb149a70d
2018-04-09Add support for render-aheadJohn Reck
For periods of time during which latency is less important allow a client to request a deeper render-ahead pipeline. The latency tradeoff results in less overall visual jank Test: none, only used by macrobench Change-Id: I516203b70bdc75b6415fa08bf9c4fb1b598b0102
2018-04-06Add ability to change context priority of RT GL contextJorim Jaggi
Test: Use method, observe GPU preemption behavior Bug: 75985430 Change-Id: Idc08d37f8c95f52c5aab7edf09c0cbff72b8482d
2018-03-16Don't use IPC in isolateProcessJohn Reck
Fixes: 74395652 Test: hwuiunit passes in 'shell stop' state (pseudo-isolated process), manually checked non-isolated processes still have working vsync via systrace of RT animations demo Change-Id: I630ea011dc7eb2efa265b25673d3304b3b2510d3
2018-03-01Allow debuggable apps to do skp captureJohn Reck
Change-Id: Ibb56887b28eb8260bf2ca0b38dbe78233e9cfaf4 Fixes: 74086676 Test: verified can still capture an skp
2018-01-24Don't use shader disk cache on emulatorLingfeng Yang
bug: 71900691 Emulator user might switch renderers, migrate a snapshot to a different machine with a different shader binary format, etc. Plus, program binaries don't seem to work so well on some desktop GPUs. Change-Id: I0c6239acbd556097494aa903d6603c963d3141cb
2017-12-06Extreme battery saver: Allow lowering framerate for experiments.John Reck
Bug: 68769804 Test: manual Change-Id: Ic0c95f32c7ba6d86a997997e480e6d8a5f228f25
2017-11-09Allow hwuimacro to choose a rendererJohn Reck
Test: this Change-Id: I500b033257f317f8a3124e8072dc8d39d666b01b
2017-11-03Format the world (or just HWUI)John Reck
Test: No code changes, just ran through clang-format Change-Id: Id23aa4ec7eebc0446fe3a30260f33e7fd455bb8c
2017-10-20Convert skpCaptureEnabled compile time flag into a propertyStan Iliev
Convert SkiaPipeline::skpCaptureEnabled into a system property. Add ability to capture drawing in layers. Add ability to capture animations/sequence of frames. Fix crash when recording a TextureView. Test: Ran capture script. Change-Id: I463eecf6ec90a601a6cc172ad1901bd4bcc86ac8
2017-09-05Switch default renderer to back to Skia's OpenGL pipeline once more.Derek Sollenberger
Bug: 63910712 Test: CtsGraphicsTestCases, CtsUiRenderingTestCases, CtsViewTestCases Change-Id: Idb862a0dece6b13dc7a105f6a47e4e33911ecc4a
2017-08-24Avoid setting high contrast in every view drawJohn Reck
Test: high contrast text still works Change-Id: I6674d1aca8dddf7eb9725a5346aed12ef1dbc195
2017-08-14Revert "Switch default renderer to Skia's OpenGL pipeline."Derek Sollenberger
This reverts commit 4bc27b6e64dcfa43a17f4309b94e2dddc93e8525. Bug: 64487466 Bug: 63910712 Bug: 64683344 Change-Id: Icd4ab774788d72252c4dce0925f0bef20a60511f
2017-08-11Switch default renderer to Skia's OpenGL pipeline.Derek Sollenberger
This is the second attempt now that we have addressed many of the correctness and performance concerns. Bug: 63910712 Change-Id: I3df4ba52c2bc59930f577ffc8d889cb23a16a439 Test: CtsGraphicsTestCases, CtsUiRenderingTestCases, CtsViewTestCases
2017-08-08Revert "Switch default renderer to Skia's OpenGL pipeline."Derek Sollenberger
This reverts commit 312a3a0c28c8e899ff60883fa388c3919ea3b72b. Fixes: 64478761 Change-Id: I8caf95ead1b339447768b5e360a6d0b9705477de
2017-08-07Switch default renderer to Skia's OpenGL pipeline.Derek Sollenberger
Bug: 63910712 Test: CtsGraphicsTestCases, CtsUiRenderingTestCases Change-Id: I901c236cfb5bfadcb59c449a76699479625944f9
2017-07-19Delete all ro.hwui.* propsJohn Reck
Remove all ro.hwui.* tuning props and instead calculate them from the screen resolution. Or just hardcode them to what all devices were hardcoding them to anyway. Bug: 63741221 Test: Check cache size results on sailfish Change-Id: I8b0d210572a246f4fefb076935cf5156a70c274c
2017-06-14Add a workaround for simulate secondary displayJohn Reck
To workaround a deadlock caused by bufferqueue locks we force RenderThread over to use async mode which we enable via eglSwapInterval(0) Bug: 38372997 Test: steps in the bug Change-Id: Ia305f73abbdd64ab0c25d1f7d32792cc6295a0ce
2017-02-23Log rendering pipeline when initializingChris Craik
Test: manual, boots Change-Id: I6e544510053ecf2b397ac998bcc7be9c00295a7d
2017-02-14Add developer setting to set the default GPU renderer.Derek Sollenberger
Test: manual on-device testing Bug: 35345959 Change-Id: I1d846f922a048dd215caf053b10aaa909bdbc74d
2017-01-18Merge "Update hwui_unit_tests to support running with Vulkan backend."Greg Daniel
2017-01-18Update hwui_unit_tests to support running with Vulkan backend.Greg Daniel
Added Macros for RENDERTHREAD_TESTS which run these tests using specific backends. RENDERTHREAD_TESTS - Runs OpenGL, SkiaGL, and SkiaVulkan RENDERTHREAD_SKIA_TESTS - Runs SkiaGL and SkiaVulkan RENDERTHREAD_OPENGL_TESTS - Runs OpenGL Test: manual running of hwui_unit_tests Change-Id: Ia7420ee7a38803a15e2d58394d14b38cae8208d3
2017-01-12resolve merge conflicts of ec7e2a164c37 to masterMark Salyzyn
Test: compile Bug: 26552300 Bug: 31289077 Change-Id: I49c6e41b79061e2b3c0352e3ac8fa5ebb152b6f5
2017-01-11Replace cutils/log.h and log/logger.h with android/log.h or log/log.hMark Salyzyn
(part deux) Test: compile Bug: 26552300 Bug: 31289077 Change-Id: I7417936c4d3666608fccfe51a312c90ecefba2fb
2017-01-11resolve merge conflicts of 082a1721b516 to masterMark Salyzyn
Test: compile Bug: 26552300 Bug: 31289077 Change-Id: I17f178f425975c1c0dbd48091d25b101956d505e
2017-01-09Replace cutils/log.h and log/logger.h with log/log.hMark Salyzyn
Test: compile Bug: 26552300 Bug: 31289077 Change-Id: I578b15b48f0fc2807a92abbc69a377c3d2191496
2016-10-05Initial refactoring to enable the addition of the SkiaOpenGLPipeline.Derek Sollenberger
Test: existing and new HWUI unit tests all pass. Change-Id: I4f5c1dc839a2ed15d8b0f6245fe030684501b083
2016-07-11Move isSkiaEnabled to the Properties classStan Iliev
Move CanvasContext::isSkiaEnabled to Properties:isSkiaEnabled. Change-Id: I0a62f43825cf59ba338a24a056e8c2a56d1c5315