summaryrefslogtreecommitdiff
path: root/libs/hwui/Properties.cpp
diff options
context:
space:
mode:
author Alec Mouri <alecmouri@google.com> 2020-12-14 14:47:57 -0800
committer Alec Mouri <alecmouri@google.com> 2021-01-13 14:35:58 -0800
commitaa3e498bbc9825b8c07a2094dc83e15b6bb47ffc (patch)
tree2ef76f41611f7b60a140836abf68f585800f5f7f /libs/hwui/Properties.cpp
parentf717288022eccd07183b2cdcac591aec023d8edf (diff)
Turn on vk unit tests
* Degrade error when changing the rendering backend from Properties to no longer be fatal. * Support using a single graphics queue for the Vulkan backend. Cloud devices only support a single queue and some Vulkan implementations such as Swiftshader expose only one queue for simplying their implementation, so we'll need to support one. Bug: 175618060 Bug: 162628999 Test: hwui_unit_tests Test: experiment on Pixel 4 enforcing a single queue (settings app, maps, sysui) Change-Id: I495fcabc3c89bd62bbb833998eab4944c6660f6f
Diffstat (limited to 'libs/hwui/Properties.cpp')
-rw-r--r--libs/hwui/Properties.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/libs/hwui/Properties.cpp b/libs/hwui/Properties.cpp
index ba44d056dda3..65f4e8c8ecec 100644
--- a/libs/hwui/Properties.cpp
+++ b/libs/hwui/Properties.cpp
@@ -15,7 +15,9 @@
*/
#include "Properties.h"
+
#include "Debug.h"
+#include "log/log_main.h"
#ifdef __ANDROID__
#include "HWUIProperties.sysprop.h"
#endif
@@ -190,15 +192,12 @@ RenderPipelineType Properties::getRenderPipelineType() {
return sRenderPipelineType;
}
-void Properties::overrideRenderPipelineType(RenderPipelineType type) {
+void Properties::overrideRenderPipelineType(RenderPipelineType type, bool inUnitTest) {
// If we're doing actual rendering then we can't change the renderer after it's been set.
- // Unit tests can freely change this as often as it wants, though, as there's no actual
- // GL rendering happening
- if (sRenderPipelineType != RenderPipelineType::NotInitialized) {
- LOG_ALWAYS_FATAL_IF(sRenderPipelineType != type,
- "Trying to change pipeline but it's already set");
- return;
- }
+ // Unit tests can freely change this as often as it wants.
+ LOG_ALWAYS_FATAL_IF(sRenderPipelineType != RenderPipelineType::NotInitialized &&
+ sRenderPipelineType != type && !inUnitTest,
+ "Trying to change pipeline but it's already set.");
sRenderPipelineType = type;
}