Merge "[RenderEngine] Convert BT2020 to SRGB by default." into pi-dev
diff --git a/cmds/atrace/atrace.cpp b/cmds/atrace/atrace.cpp
index 70164ea..9060937 100644
--- a/cmds/atrace/atrace.cpp
+++ b/cmds/atrace/atrace.cpp
@@ -186,7 +186,10 @@
{ REQ, "events/cpufreq_interactive/enable" },
} },
{ "sync", "Synchronization", 0, {
- { REQ, "events/sync/enable" },
+ // before linux kernel 4.9
+ { OPT, "events/sync/enable" },
+ // starting in linux kernel 4.9
+ { OPT, "events/fence/enable" },
} },
{ "workq", "Kernel Workqueues", 0, {
{ REQ, "events/workqueue/enable" },
diff --git a/services/sensorservice/RecentEventLogger.cpp b/services/sensorservice/RecentEventLogger.cpp
index 62e9ce0..1025a88 100644
--- a/services/sensorservice/RecentEventLogger.cpp
+++ b/services/sensorservice/RecentEventLogger.cpp
@@ -100,7 +100,8 @@
size_t RecentEventLogger::logSizeBySensorType(int sensorType) {
return (sensorType == SENSOR_TYPE_STEP_COUNTER ||
sensorType == SENSOR_TYPE_SIGNIFICANT_MOTION ||
- sensorType == SENSOR_TYPE_ACCELEROMETER) ? LOG_SIZE_LARGE : LOG_SIZE;
+ sensorType == SENSOR_TYPE_ACCELEROMETER ||
+ sensorType == SENSOR_TYPE_LIGHT) ? LOG_SIZE_LARGE : LOG_SIZE;
}
RecentEventLogger::SensorEventLog::SensorEventLog(const sensors_event_t& e) : mEvent(e) {
diff --git a/services/surfaceflinger/DisplayDevice.h b/services/surfaceflinger/DisplayDevice.h
index d051e33..b4100ce 100644
--- a/services/surfaceflinger/DisplayDevice.h
+++ b/services/surfaceflinger/DisplayDevice.h
@@ -336,13 +336,6 @@
bool isSecure() const override { return mDevice->isSecure(); }
bool needsFiltering() const override { return mDevice->needsFiltering(); }
Rect getSourceCrop() const override { return mSourceCrop; }
- bool getWideColorSupport() const override { return mDevice->hasWideColorGamut(); }
- ui::Dataspace getDataSpace() const override {
- return mDevice->getCompositionDataSpace();
- }
- float getDisplayMaxLuminance() const override {
- return mDevice->getHdrCapabilities().getDesiredMaxLuminance();
- }
private:
const sp<const DisplayDevice> mDevice;
diff --git a/services/surfaceflinger/RenderArea.h b/services/surfaceflinger/RenderArea.h
index 4694403..938c3ce 100644
--- a/services/surfaceflinger/RenderArea.h
+++ b/services/surfaceflinger/RenderArea.h
@@ -30,9 +30,6 @@
virtual bool isSecure() const = 0;
virtual bool needsFiltering() const = 0;
virtual Rect getSourceCrop() const = 0;
- virtual bool getWideColorSupport() const = 0;
- virtual ui::Dataspace getDataSpace() const = 0;
- virtual float getDisplayMaxLuminance() const = 0;
virtual void render(std::function<void()> drawLayers) { drawLayers(); }
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index c687e9d..84893a7 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -316,8 +316,7 @@
mLayerTripleBufferingDisabled = atoi(value);
ALOGI_IF(mLayerTripleBufferingDisabled, "Disabling Triple Buffering");
- // TODO (b/74616334): Reduce the default value once we isolate the leak
- const size_t defaultListSize = 4 * MAX_LAYERS;
+ const size_t defaultListSize = MAX_LAYERS;
auto listSize = property_get_int32("debug.sf.max_igbp_list_size", int32_t(defaultListSize));
mMaxGraphicBufferProducerListSize = (listSize > 0) ? size_t(listSize) : defaultListSize;
@@ -3140,12 +3139,14 @@
parent->addChild(lbc);
}
- mGraphicBufferProducerList.insert(IInterface::asBinder(gbc).get());
- // TODO (b/74616334): Change this back to a fatal assert once the leak is fixed
- ALOGE_IF(mGraphicBufferProducerList.size() > mMaxGraphicBufferProducerListSize,
- "Suspected IGBP leak: %zu IGBPs (%zu max), %zu Layers",
- mGraphicBufferProducerList.size(), mMaxGraphicBufferProducerListSize,
- mNumLayers);
+ if (gbc != nullptr) {
+ mGraphicBufferProducerList.insert(IInterface::asBinder(gbc).get());
+ LOG_ALWAYS_FATAL_IF(mGraphicBufferProducerList.size() >
+ mMaxGraphicBufferProducerListSize,
+ "Suspected IGBP leak: %zu IGBPs (%zu max), %zu Layers",
+ mGraphicBufferProducerList.size(),
+ mMaxGraphicBufferProducerListSize, mNumLayers);
+ }
mLayersAdded = true;
mNumLayers++;
}
@@ -4810,12 +4811,6 @@
return mCrop;
}
}
- bool getWideColorSupport() const override { return false; }
- Dataspace getDataSpace() const override { return Dataspace::UNKNOWN; }
- float getDisplayMaxLuminance() const override {
- return DisplayDevice::sDefaultMaxLumiance;
- }
-
class ReparentForDrawing {
public:
const sp<Layer>& oldParent;
@@ -5013,12 +5008,9 @@
ALOGE("Invalid crop rect: b = %d (> %d)", sourceCrop.bottom, raHeight);
}
- Dataspace outputDataspace = Dataspace::UNKNOWN;
- if (renderArea.getWideColorSupport()) {
- outputDataspace = renderArea.getDataSpace();
- }
- engine.setOutputDataSpace(outputDataspace);
- engine.setDisplayMaxLuminance(renderArea.getDisplayMaxLuminance());
+ // assume ColorMode::SRGB / RenderIntent::COLORIMETRIC
+ engine.setOutputDataSpace(Dataspace::SRGB);
+ engine.setDisplayMaxLuminance(DisplayDevice::sDefaultMaxLumiance);
// make sure to clear all GL error flags
engine.checkErrors();