1 // Copyright 2022 The Android Open Source Project
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either expresso or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #include "Hwc2.h"
16 
17 namespace gfxstream {
18 
ToFlatComposeRequest(const ComposeDevice * composeRequest)19 std::unique_ptr<FlatComposeRequest> ToFlatComposeRequest(
20         const ComposeDevice* composeRequest) {
21     auto flatComposeRequest = std::make_unique<FlatComposeRequest>();
22     flatComposeRequest->displayId = 0;
23     flatComposeRequest->targetHandle = composeRequest->targetHandle;
24     for (uint32_t i = 0; i < composeRequest->numLayers; i++) {
25         flatComposeRequest->layers.emplace_back(composeRequest->layer[i]);
26     }
27     return flatComposeRequest;
28 }
29 
ToFlatComposeRequest(const ComposeDevice_v2 * composeRequest)30 std::unique_ptr<FlatComposeRequest> ToFlatComposeRequest(
31         const ComposeDevice_v2* composeRequest) {
32     auto flatComposeRequest = std::make_unique<FlatComposeRequest>();
33     flatComposeRequest->displayId = composeRequest->displayId;
34     flatComposeRequest->targetHandle = composeRequest->targetHandle;
35     for (uint32_t i = 0; i < composeRequest->numLayers; i++) {
36         flatComposeRequest->layers.emplace_back(composeRequest->layer[i]);
37     }
38     return flatComposeRequest;
39 }
40 
41 }  // namespace gfxstream