diff options
author | Matvii Zorin <matvii.zorin@globallogic.com> | 2020-08-11 15:29:21 +0300 |
---|---|---|
committer | Matvii Zorin <matvii.zorin@globallogic.com> | 2020-08-26 14:43:23 +0300 |
commit | 7f7efd80b5c4d1f970be0991a9b6dcf5f3230636 (patch) | |
tree | 907f490cd59fb77d8cf8d367baa8a39fa62a07eb /backend | |
parent | ef3c797daff14f3df798fe78f2843c41f549c6c5 (diff) | |
download | drm_hwcomposer-7f7efd80b5c4d1f970be0991a9b6dcf5f3230636.tar.gz |
drm_hwcomposer: Add composition skipping backend
This display backend may be chosen by setting the hwc.backend_override
system property to the "client" value.
Suggested-by: Andrii Chepurnyi <andrii_chepurnyi@epam.com>
Signed-off-by: Matvii Zorin <matvii.zorin@globallogic.com>
Diffstat (limited to 'backend')
-rw-r--r-- | backend/backendclient.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/backend/backendclient.cpp b/backend/backendclient.cpp new file mode 100644 index 0000000..3f3cd44 --- /dev/null +++ b/backend/backendclient.cpp @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2020 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "backendclient.h" +#include "backendmanager.h" +#include "drmhwctwo.h" + +namespace android { + +HWC2::Error BackendClient::ValidateDisplay(DrmHwcTwo::HwcDisplay *display, + uint32_t *num_types, + uint32_t * /*num_requests*/) { + for (auto & [ layer_handle, layer ] : display->layers()) { + layer.set_validated_type(HWC2::Composition::Client); + ++*num_types; + } + return HWC2::Error::HasChanges; +} + +REGISTER_BACKEND("client", BackendClient); + +} // namespace android |