summaryrefslogtreecommitdiff
path: root/services/surfaceflinger/Client.cpp
diff options
context:
space:
mode:
author Xin Li <delphij@google.com> 2020-09-09 20:21:16 -0700
committer Xin Li <delphij@google.com> 2020-09-09 20:21:16 -0700
commitac07d0f5ab16bb9e8bbbabb589d1c7d36817baa9 (patch)
treef7110d50445c67a337105034b1f2db3946a88fef /services/surfaceflinger/Client.cpp
parent171cac1b603e4bb83412eb596d05a500af5d7a76 (diff)
parentc83049d93712f12279dbeabfa1857c1921804979 (diff)
Merge Android R
Bug: 168057903 Merged-In: I1428ead11c6c2d6fd107a014df0082fdbfa9ba8a Change-Id: I7e084a4c5a3fd06152ea6f1bfe17c53f95faba79
Diffstat (limited to 'services/surfaceflinger/Client.cpp')
-rw-r--r--services/surfaceflinger/Client.cpp20
1 files changed, 16 insertions, 4 deletions
diff --git a/services/surfaceflinger/Client.cpp b/services/surfaceflinger/Client.cpp
index c526f7f18f..78bbcba4b4 100644
--- a/services/surfaceflinger/Client.cpp
+++ b/services/surfaceflinger/Client.cpp
@@ -14,6 +14,10 @@
* limitations under the License.
*/
+// TODO(b/129481165): remove the #pragma below and fix conversion issues
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wconversion"
+
#include <stdint.h>
#include <sys/types.h>
@@ -75,17 +79,18 @@ sp<Layer> Client::getLayerUser(const sp<IBinder>& handle) const
status_t Client::createSurface(const String8& name, uint32_t w, uint32_t h, PixelFormat format,
uint32_t flags, const sp<IBinder>& parentHandle,
LayerMetadata metadata, sp<IBinder>* handle,
- sp<IGraphicBufferProducer>* gbp) {
+ sp<IGraphicBufferProducer>* gbp, uint32_t* outTransformHint) {
// We rely on createLayer to check permissions.
return mFlinger->createLayer(name, this, w, h, format, flags, std::move(metadata), handle, gbp,
- parentHandle);
+ parentHandle, nullptr, outTransformHint);
}
status_t Client::createWithSurfaceParent(const String8& name, uint32_t w, uint32_t h,
PixelFormat format, uint32_t flags,
const sp<IGraphicBufferProducer>& parent,
LayerMetadata metadata, sp<IBinder>* handle,
- sp<IGraphicBufferProducer>* gbp) {
+ sp<IGraphicBufferProducer>* gbp,
+ uint32_t* outTransformHint) {
if (mFlinger->authenticateSurfaceTexture(parent) == false) {
ALOGE("failed to authenticate surface texture");
return BAD_VALUE;
@@ -98,7 +103,11 @@ status_t Client::createWithSurfaceParent(const String8& name, uint32_t w, uint32
}
return mFlinger->createLayer(name, this, w, h, format, flags, std::move(metadata), handle, gbp,
- nullptr, layer);
+ nullptr, layer, outTransformHint);
+}
+
+status_t Client::mirrorSurface(const sp<IBinder>& mirrorFromHandle, sp<IBinder>* outHandle) {
+ return mFlinger->mirrorLayer(this, mirrorFromHandle, outHandle);
}
status_t Client::clearLayerFrameStats(const sp<IBinder>& handle) const {
@@ -121,3 +130,6 @@ status_t Client::getLayerFrameStats(const sp<IBinder>& handle, FrameStats* outSt
// ---------------------------------------------------------------------------
}; // namespace android
+
+// TODO(b/129481165): remove the #pragma below and fix conversion issues
+#pragma clang diagnostic pop // ignored "-Wconversion"