• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023-2024 Huawei Device Co., Ltd.
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 express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "display_buffer_mt.h"
17 #include "hdf_base.h"
18 #include "hdf_log.h"
19 #include "v1_0/display_composer_type.h"
20 #include "gtest/gtest.h"
21 #include <cinttypes>
22 #include <cstring>
23 #include <securec.h>
24 #include <thread>
25 #include <unistd.h>
26 #include <vector>
27 
28 namespace OHOS {
29 namespace HDI {
30 namespace Display {
31 namespace TEST {
32 using namespace OHOS::HDI::Display::Composer::V1_0;
33 using namespace OHOS::HDI::Display::Buffer::V1_0;
34 using namespace OHOS;
35 using namespace testing::ext;
36 
37 static IDisplayBuffer *g_dispbuf = nullptr;
38 static const int SIZE_TIMES = 3;
39 static const int HANDLE_NUM_1 = 2;
40 static const int HANDLE_NUM_2 = 32;
41 static const int MAX_VALUE = 1024;
42 static const int MIN_VALUE = 1;
43 static const int SLOTID_1 = 0;
44 
45 #define HDF_LOG_TAG display_buffer_module_test
WriteBuffer(const BufferHandle & handle)46 static void WriteBuffer(const BufferHandle &handle)
47 {
48     const char verifyMsg[] = "12345678, (*~*)";
49     int strSize = strlen(verifyMsg) + 1;
50     int i = 0;
51     char *ptr = reinterpret_cast<char *>(handle.virAddr);
52     if (ptr == nullptr) {
53         HDF_LOGE("cast ptr failed");
54         return;
55     }
56 
57     for (; i < handle.size - strSize;) {
58         errno_t ret = memcpy_s(&ptr[i], sizeof(verifyMsg), verifyMsg, sizeof(verifyMsg));
59         if (ret != EOK) {
60             HDF_LOGE("memcpy_s error : %d", ret);
61             return;
62         }
63         i += strSize;
64         ptr[i - 1] = 0;
65     }
66     for (i = i - 1; i < handle.size; i++) {
67         ptr[i] = 'z';
68     }
69 
70     HDF_LOGD("%{public}s(%{public}d), buffer size:%{public}d, len:%{public}d", __func__, __LINE__, handle.size,
71              strSize);
72     for (i = 0; i < handle.size - SIZE_TIMES * strSize; i = i + strSize) {
73         if (strncmp(verifyMsg, &ptr[i], sizeof(verifyMsg)) != 0) {
74             HDF_LOGD("%{public}s(%{public}d), buffer[%{public}d]:%{public}s", __func__, __LINE__, i, &ptr[i]);
75         }
76     }
77 
78     for (i = handle.size - HANDLE_NUM_1; i < (handle.size - HANDLE_NUM_2); i++) {
79         HDF_LOGD("%{public}s(%{public}d), i:%{public}d, str:%{public}s", __func__, __LINE__, i, &ptr[i]);
80     }
81 }
82 
DumpBufferHandle(const BufferHandle & handle)83 static void DumpBufferHandle(const BufferHandle &handle)
84 {
85     HDF_LOGD("-------------------------------------");
86     HDF_LOGD("fd                =%{public}d", handle.fd);
87     HDF_LOGD("width             =%{public}d", handle.width);
88     HDF_LOGD("stride            =%{public}d", handle.stride);
89     HDF_LOGD("height            =%{public}d", handle.height);
90     HDF_LOGD("size              =0x%{public}x", handle.size);
91     HDF_LOGD("format            =%{public}d", handle.format);
92     HDF_LOGD("usage             =0x%{public}" PRIx64 "", handle.usage);
93     HDF_LOGD("reserveFds        =%{public}d", handle.reserveFds);
94     HDF_LOGD("reserveInts       =%{public}d", handle.reserveInts);
95     HDF_LOGD("-------------------------------------");
96 }
97 
RunTest(const AllocInfo & info)98 int32_t DisplayBufferMtAdditional::RunTest(const AllocInfo &info)
99 {
100     BufferHandle *bHandle = nullptr;
101     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
102     if (ec != HDF_SUCCESS || bHandle == nullptr) {
103         HDF_LOGE("%{public}s, line=%{public}d, AllocMem failed. ec=0x%{public}x", __func__, __LINE__, ec);
104         return HDF_FAILURE;
105     }
106 
107     void *buffer = g_dispbuf->Mmap(*bHandle);
108     if (buffer == nullptr) {
109         HDF_LOGE("Mmap failed.");
110         g_dispbuf->FreeMem(*bHandle);
111         return HDF_FAILURE;
112     }
113     HDF_LOGD("Mmap successful");
114 
115     DumpBufferHandle(*bHandle);
116     WriteBuffer(*bHandle);
117 
118     ec = g_dispbuf->InvalidateCache(*bHandle);
119     if (ec != HDF_SUCCESS) {
120         HDF_LOGE("InvalidateCache failed.");
121         g_dispbuf->Unmap(*bHandle);
122         g_dispbuf->FreeMem(*bHandle);
123         return HDF_FAILURE;
124     }
125     ec = g_dispbuf->FlushCache(*bHandle);
126     if (ec != HDF_SUCCESS) {
127         HDF_LOGE("flushCache failed.");
128         g_dispbuf->Unmap(*bHandle);
129         g_dispbuf->FreeMem(*bHandle);
130         return HDF_FAILURE;
131     }
132     HDF_LOGD("flush Cache success.");
133     g_dispbuf->Unmap(*bHandle);
134     g_dispbuf->FreeMem(*bHandle);
135     return HDF_SUCCESS;
136 }
137 
SetUpTestCase()138 void DisplayBufferMtAdditional::SetUpTestCase()
139 {
140     g_dispbuf = IDisplayBuffer::Get();
141     ASSERT_TRUE(g_dispbuf != nullptr);
142 }
143 
AfterCache(BufferHandle * handle)144 int32_t DisplayBufferMtAdditional::AfterCache(BufferHandle *handle)
145 {
146     // free buffer
147     g_dispbuf->Unmap(*handle);
148     g_dispbuf->FreeMem(*handle);
149     return HDF_SUCCESS;
150 }
151 
152 /**
153  * @tc.number : SUB_Driver_Display_Buffer_Mmap_0100
154  * @tc.name   : testDisplayBufferMmap001
155  * @tc.desc   : Reliability of function(Mmap)
156  */
157 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap001, Function | MediumTest | Level1)
158 {
159     BufferHandle *bHandle = nullptr;
160     AllocInfo info;
161     info.width = 1024;
162     info.height = 1024;
163     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ;
164     info.format = PIXEL_FMT_BGRA_8888;
165 
166     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
167     EXPECT_EQ(HDF_SUCCESS, ec);
168     void *buffer = g_dispbuf->Mmap(*bHandle);
169     EXPECT_NE(nullptr, buffer);
170 }
171 
172 /**
173  * @tc.number : SUB_Driver_Display_Buffer_Mmap_0200
174  * @tc.name   : testDisplayBufferMmap002
175  * @tc.desc   : Reliability of function(Mmap)
176  */
177 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap002, Function | MediumTest | Level1)
178 {
179     BufferHandle *bHandle = nullptr;
180     AllocInfo info;
181     info.width = 1024;
182     info.height = 1024;
183     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE;
184     info.format = PIXEL_FMT_BGRA_8888;
185 
186     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
187     EXPECT_EQ(HDF_SUCCESS, ec);
188     void *buffer = g_dispbuf->Mmap(*bHandle);
189     EXPECT_NE(nullptr, buffer);
190 }
191 
192 /**
193  * @tc.number : SUB_Driver_Display_Buffer_Mmap_0300
194  * @tc.name   : testDisplayBufferMmap003
195  * @tc.desc   : Reliability of function(Mmap)
196  */
197 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap003, Function | MediumTest | Level1)
198 {
199     BufferHandle *bHandle = nullptr;
200     AllocInfo info;
201     info.width = 1024;
202     info.height = 1024;
203     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ;
204     info.format = PIXEL_FMT_BGRA_8888;
205 
206     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
207     EXPECT_EQ(HDF_SUCCESS, ec);
208     void *buffer = g_dispbuf->Mmap(*bHandle);
209     EXPECT_NE(nullptr, buffer);
210     int32_t ret = g_dispbuf->Unmap(*bHandle);
211     EXPECT_EQ(HDF_SUCCESS, ret);
212 }
213 
214 /**
215  * @tc.number : SUB_Driver_Display_Buffer_Mmap_0400
216  * @tc.name   : testDisplayBufferMmap004
217  * @tc.desc   : Reliability of function(Mmap)
218  */
219 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap004, Function | MediumTest | Level1)
220 {
221     BufferHandle *bHandle = nullptr;
222     AllocInfo info;
223     info.width = 1024;
224     info.height = 1024;
225     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA;
226     info.format = PIXEL_FMT_BGRA_8888;
227 
228     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
229     EXPECT_EQ(HDF_SUCCESS, ec);
230     void *buffer = g_dispbuf->Mmap(*bHandle);
231     EXPECT_NE(nullptr, buffer);
232     int32_t ret = g_dispbuf->Unmap(*bHandle);
233     EXPECT_EQ(HDF_SUCCESS, ret);
234 }
235 
236 /**
237  * @tc.number : SUB_Driver_Display_Buffer_Mmap_0500
238  * @tc.name   : testDisplayBufferMmap005
239  * @tc.desc   : Reliability of function(Mmap)
240  */
241 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap005, Function | MediumTest | Level1)
242 {
243     BufferHandle *bHandle = nullptr;
244     AllocInfo info;
245     info.width = 1024;
246     info.height = 1024;
247     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE;
248     info.format = PIXEL_FMT_BGRA_8888;
249 
250     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
251     EXPECT_EQ(HDF_SUCCESS, ec);
252     void *buffer = g_dispbuf->Mmap(*bHandle);
253     EXPECT_NE(nullptr, buffer);
254     int32_t ret = g_dispbuf->Unmap(*bHandle);
255     EXPECT_EQ(HDF_SUCCESS, ret);
256 }
257 
258 /**
259  * @tc.number : SUB_Driver_Display_Buffer_Mmap_0600
260  * @tc.name   : testDisplayBufferMmap006
261  * @tc.desc   : Reliability of function(Mmap)
262  */
263 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap006, Function | MediumTest | Level1)
264 {
265     BufferHandle *bHandle = nullptr;
266     AllocInfo info;
267     info.width = 1024;
268     info.height = 1024;
269     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE;
270     info.format = PIXEL_FMT_BGRA_8888;
271 
272     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
273     EXPECT_EQ(HDF_SUCCESS, ec);
274     void *buffer = g_dispbuf->Mmap(*bHandle);
275     EXPECT_NE(nullptr, buffer);
276     int32_t ret = g_dispbuf->Unmap(*bHandle);
277     EXPECT_EQ(HDF_SUCCESS, ret);
278 }
279 
280 /**
281  * @tc.number : SUB_Driver_Display_Buffer_Mmap_0700
282  * @tc.name   : testDisplayBufferMmap007
283  * @tc.desc   : Reliability of function(Mmap)
284  */
285 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap007, Function | MediumTest | Level1)
286 {
287     BufferHandle *bHandle = nullptr;
288     AllocInfo info;
289     info.width = 1024;
290     info.height = 1024;
291     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB;
292     info.format = PIXEL_FMT_BGRA_8888;
293 
294     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
295     EXPECT_EQ(HDF_SUCCESS, ec);
296     void *buffer = g_dispbuf->Mmap(*bHandle);
297     EXPECT_NE(nullptr, buffer);
298     int32_t ret = g_dispbuf->Unmap(*bHandle);
299     EXPECT_EQ(HDF_SUCCESS, ret);
300 }
301 
302 /**
303  * @tc.number : SUB_Driver_Display_Buffer_Mmap_0800
304  * @tc.name   : testDisplayBufferMmap008
305  * @tc.desc   : Reliability of function(Mmap)
306  */
307 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap008, Function | MediumTest | Level1)
308 {
309     BufferHandle *bHandle = nullptr;
310     AllocInfo info;
311     info.width = 1024;
312     info.height = 1024;
313     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE;
314     info.format = PIXEL_FMT_BGRA_8888;
315 
316     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
317     EXPECT_EQ(HDF_SUCCESS, ec);
318     void *buffer = g_dispbuf->Mmap(*bHandle);
319     EXPECT_NE(nullptr, buffer);
320     int32_t ret = g_dispbuf->Unmap(*bHandle);
321     EXPECT_EQ(HDF_SUCCESS, ret);
322 }
323 
324 /**
325  * @tc.number : SUB_Driver_Display_Buffer_Mmap_0900
326  * @tc.name   : testDisplayBufferMmap009
327  * @tc.desc   : Reliability of function(Mmap)
328  */
329 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap009, Function | MediumTest | Level1)
330 {
331     BufferHandle *bHandle = nullptr;
332     AllocInfo info;
333     info.width = 1024;
334     info.height = 1024;
335     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER;
336     info.format = PIXEL_FMT_BGRA_8888;
337 
338     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
339     EXPECT_EQ(HDF_SUCCESS, ec);
340     void *buffer = g_dispbuf->Mmap(*bHandle);
341     EXPECT_NE(nullptr, buffer);
342     int32_t ret = g_dispbuf->Unmap(*bHandle);
343     EXPECT_EQ(HDF_SUCCESS, ret);
344 }
345 
346 /**
347  * @tc.number : SUB_Driver_Display_Buffer_Mmap_1000
348  * @tc.name   : testDisplayBufferMmap010
349  * @tc.desc   : Reliability of function(Mmap)
350  */
351 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap010, Function | MediumTest | Level1)
352 {
353     BufferHandle *bHandle = nullptr;
354     AllocInfo info;
355     info.width = 1024;
356     info.height = 1024;
357     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE;
358     info.format = PIXEL_FMT_BGRA_8888;
359 
360     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
361     EXPECT_EQ(HDF_SUCCESS, ec);
362     void *buffer = g_dispbuf->Mmap(*bHandle);
363     EXPECT_NE(nullptr, buffer);
364     int32_t ret = g_dispbuf->Unmap(*bHandle);
365     EXPECT_EQ(HDF_SUCCESS, ret);
366 }
367 
368 /**
369  * @tc.number : SUB_Driver_Display_Buffer_Mmap_1100
370  * @tc.name   : testDisplayBufferMmap011
371  * @tc.desc   : Reliability of function(Mmap)
372  */
373 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap011, Function | MediumTest | Level1)
374 {
375     BufferHandle *bHandle = nullptr;
376     AllocInfo info;
377     info.width = 1024;
378     info.height = 1024;
379     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER;
380     info.format = PIXEL_FMT_BGRA_8888;
381 
382     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
383     EXPECT_EQ(HDF_SUCCESS, ec);
384     void *buffer = g_dispbuf->Mmap(*bHandle);
385     EXPECT_NE(nullptr, buffer);
386     int32_t ret = g_dispbuf->Unmap(*bHandle);
387     EXPECT_EQ(HDF_SUCCESS, ret);
388 }
389 
390 /**
391  * @tc.number : SUB_Driver_Display_Buffer_Mmap_1200
392  * @tc.name   : testDisplayBufferMmap012
393  * @tc.desc   : Reliability of function(Mmap)
394  */
395 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap012, Function | MediumTest | Level1)
396 {
397     BufferHandle *bHandle = nullptr;
398     AllocInfo info;
399     info.width = 1024;
400     info.height = 1024;
401     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED;
402     info.format = PIXEL_FMT_BGRA_8888;
403 
404     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
405     EXPECT_EQ(HDF_SUCCESS, ec);
406     void *buffer = g_dispbuf->Mmap(*bHandle);
407     EXPECT_NE(nullptr, buffer);
408     int32_t ret = g_dispbuf->Unmap(*bHandle);
409     EXPECT_EQ(HDF_SUCCESS, ret);
410 }
411 
412 /**
413  * @tc.number : SUB_Driver_Display_Buffer_Mmap_1300
414  * @tc.name   : testDisplayBufferMmap013
415  * @tc.desc   : Reliability of function(Mmap)
416  */
417 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap013, Function | MediumTest | Level1)
418 {
419     BufferHandle *bHandle = nullptr;
420     AllocInfo info;
421     info.width = 1024;
422     info.height = 1024;
423     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED;
424     info.format = PIXEL_FMT_RGBA_8888;
425 
426     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
427     EXPECT_EQ(HDF_SUCCESS, ec);
428     void *buffer = g_dispbuf->Mmap(*bHandle);
429     EXPECT_NE(nullptr, buffer);
430     int32_t ret = g_dispbuf->Unmap(*bHandle);
431     EXPECT_EQ(HDF_SUCCESS, ret);
432 }
433 
434 /**
435  * @tc.number : SUB_Driver_Display_Buffer_Mmap_1400
436  * @tc.name   : testDisplayBufferMmap014
437  * @tc.desc   : Reliability of function(Mmap)
438  */
439 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap014, Function | MediumTest | Level1)
440 {
441     BufferHandle *bHandle = nullptr;
442     AllocInfo info;
443     info.width = 1024;
444     info.height = 1024;
445     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ;
446     info.format = PIXEL_FMT_BGRA_8888;
447 
448     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
449     EXPECT_EQ(HDF_SUCCESS, ec);
450     void *buffer = g_dispbuf->Mmap(*bHandle);
451     EXPECT_NE(nullptr, buffer);
452     int32_t ret = g_dispbuf->Unmap(*bHandle);
453     EXPECT_EQ(HDF_SUCCESS, ret);
454 }
455 
456 /**
457  * @tc.number : SUB_Driver_Display_Buffer_Mmap_1500
458  * @tc.name   : testDisplayBufferMmap015
459  * @tc.desc   : Reliability of function(Mmap)
460  */
461 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap015, Function | MediumTest | Level1)
462 {
463     BufferHandle *bHandle = nullptr;
464     AllocInfo info;
465     info.width = 1024;
466     info.height = 1024;
467     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE;
468     info.format = PIXEL_FMT_BGRA_8888;
469 
470     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
471     EXPECT_EQ(HDF_SUCCESS, ec);
472     void *buffer = g_dispbuf->Mmap(*bHandle);
473     EXPECT_NE(nullptr, buffer);
474     int32_t ret = g_dispbuf->Unmap(*bHandle);
475     EXPECT_EQ(HDF_SUCCESS, ret);
476 }
477 
478 /**
479  * @tc.number : SUB_Driver_Display_Buffer_Mmap_1600
480  * @tc.name   : testDisplayBufferMmap016
481  * @tc.desc   : Reliability of function(Mmap)
482  */
483 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap016, Function | MediumTest | Level1)
484 {
485     BufferHandle *bHandle = nullptr;
486     AllocInfo info;
487     info.width = 1024;
488     info.height = 1024;
489     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER;
490     info.format = PIXEL_FMT_BGRA_8888;
491 
492     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
493     EXPECT_EQ(HDF_SUCCESS, ec);
494     void *buffer = g_dispbuf->Mmap(*bHandle);
495     EXPECT_NE(nullptr, buffer);
496     int32_t ret = g_dispbuf->Unmap(*bHandle);
497     EXPECT_EQ(HDF_SUCCESS, ret);
498 }
499 
500 /**
501  * @tc.number : SUB_Driver_Display_Buffer_Mmap_1700
502  * @tc.name   : testDisplayBufferMmap017
503  * @tc.desc   : Reliability of function(Mmap)
504  */
505 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap017, Function | MediumTest | Level1)
506 {
507     BufferHandle *bHandle = nullptr;
508     AllocInfo info;
509     info.width = 1024;
510     info.height = 1024;
511     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER;
512     info.format = PIXEL_FMT_BGRA_8888;
513 
514     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
515     EXPECT_EQ(HDF_SUCCESS, ec);
516     void *buffer = g_dispbuf->Mmap(*bHandle);
517     EXPECT_NE(nullptr, buffer);
518     int32_t ret = g_dispbuf->Unmap(*bHandle);
519     EXPECT_EQ(HDF_SUCCESS, ret);
520 }
521 
522 /**
523  * @tc.number : SUB_Driver_Display_Buffer_Mmap_1800
524  * @tc.name   : testDisplayBufferMmap018
525  * @tc.desc   : Reliability of function(Mmap)
526  */
527 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap018, Function | MediumTest | Level1)
528 {
529     BufferHandle *bHandle = nullptr;
530     AllocInfo info;
531     info.width = 1024;
532     info.height = 1024;
533     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN;
534     info.format = PIXEL_FMT_BGRA_8888;
535 
536     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
537     EXPECT_EQ(HDF_SUCCESS, ec);
538     void *buffer = g_dispbuf->Mmap(*bHandle);
539     EXPECT_NE(nullptr, buffer);
540     int32_t ret = g_dispbuf->Unmap(*bHandle);
541     EXPECT_EQ(HDF_SUCCESS, ret);
542 }
543 
544 /**
545  * @tc.number : SUB_Driver_Display_Buffer_Mmap_1900
546  * @tc.name   : testDisplayBufferMmap019
547  * @tc.desc   : Reliability of function(Mmap)
548  */
549 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap019, Function | MediumTest | Level1)
550 {
551     BufferHandle *bHandle = nullptr;
552     AllocInfo info;
553     info.width = 1024;
554     info.height = 1024;
555     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
556     info.format = PIXEL_FMT_BGRA_8888;
557 
558     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
559     EXPECT_EQ(HDF_SUCCESS, ec);
560     void *buffer = g_dispbuf->Mmap(*bHandle);
561     EXPECT_NE(nullptr, buffer);
562     int32_t ret = g_dispbuf->Unmap(*bHandle);
563     EXPECT_EQ(HDF_SUCCESS, ret);
564 }
565 
566 /**
567  * @tc.number : SUB_Driver_Display_Buffer_Mmap_2000
568  * @tc.name   : testDisplayBufferMmap020
569  * @tc.desc   : Reliability of function(Mmap)
570  */
571 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap020, Function | MediumTest | Level1)
572 {
573     BufferHandle *bHandle = nullptr;
574     AllocInfo info;
575     info.width = 1024;
576     info.height = 1024;
577     info.usage =
578         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
579         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
580         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
581         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
582         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
583         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
584         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
585         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
586         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
587         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
588         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
589         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
590         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
591         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
592     info.format = PIXEL_FMT_RGBX_4444;
593 
594     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
595     EXPECT_EQ(HDF_SUCCESS, ec);
596     void *buffer = g_dispbuf->Mmap(*bHandle);
597     EXPECT_NE(nullptr, buffer);
598     int32_t ret = g_dispbuf->Unmap(*bHandle);
599     EXPECT_EQ(HDF_SUCCESS, ret);
600 }
601 
602 /**
603  * @tc.number : SUB_Driver_Display_Buffer_Mmap_2100
604  * @tc.name   : testDisplayBufferMmap021
605  * @tc.desc   : Reliability of function(Mmap)
606  */
607 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap021, Function | MediumTest | Level1)
608 {
609     BufferHandle *bHandle = nullptr;
610     AllocInfo info;
611     info.width = 1024;
612     info.height = 1024;
613     info.usage =
614         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
615         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
616         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
617         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
618         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
619         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
620         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
621         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
622         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
623         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
624         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
625         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
626         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
627         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
628     info.format = PIXEL_FMT_RGBA_4444;
629 
630     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
631     EXPECT_EQ(HDF_SUCCESS, ec);
632     void *buffer = g_dispbuf->Mmap(*bHandle);
633     EXPECT_NE(nullptr, buffer);
634     int32_t ret = g_dispbuf->Unmap(*bHandle);
635     EXPECT_EQ(HDF_SUCCESS, ret);
636 }
637 
638 /**
639  * @tc.number : SUB_Driver_Display_Buffer_Mmap_2200
640  * @tc.name   : testDisplayBufferMmap022
641  * @tc.desc   : Reliability of function(Mmap)
642  */
643 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap022, Function | MediumTest | Level1)
644 {
645     BufferHandle *bHandle = nullptr;
646     AllocInfo info;
647     info.width = 1024;
648     info.height = 1024;
649     info.usage =
650         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
651         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
652         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
653         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
654         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
655         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
656         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
657         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
658         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
659         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
660         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
661         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
662         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
663         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
664     info.format = PIXEL_FMT_RGBX_8888;
665 
666     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
667     EXPECT_EQ(HDF_SUCCESS, ec);
668     void *buffer = g_dispbuf->Mmap(*bHandle);
669     EXPECT_NE(nullptr, buffer);
670     int32_t ret = g_dispbuf->Unmap(*bHandle);
671     EXPECT_EQ(HDF_SUCCESS, ret);
672 }
673 
674 /**
675  * @tc.number : SUB_Driver_Display_Buffer_Mmap_2300
676  * @tc.name   : testDisplayBufferMmap023
677  * @tc.desc   : Reliability of function(Mmap)
678  */
679 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap023, Function | MediumTest | Level1)
680 {
681     BufferHandle *bHandle = nullptr;
682     AllocInfo info;
683     info.width = 1024;
684     info.height = 1024;
685     info.usage =
686         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
687         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
688         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
689         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
690         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
691         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
692         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
693         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
694         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
695         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
696         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
697         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
698         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
699         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
700     info.format = PIXEL_FMT_RGBA_8888;
701 
702     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
703     EXPECT_EQ(HDF_SUCCESS, ec);
704     void *buffer = g_dispbuf->Mmap(*bHandle);
705     EXPECT_NE(nullptr, buffer);
706     int32_t ret = g_dispbuf->Unmap(*bHandle);
707     EXPECT_EQ(HDF_SUCCESS, ret);
708 }
709 
710 /**
711  * @tc.number : SUB_Driver_Display_Buffer_Mmap_2400
712  * @tc.name   : testDisplayBufferMmap024
713  * @tc.desc   : Reliability of function(Mmap)
714  */
715 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap024, Function | MediumTest | Level1)
716 {
717     BufferHandle *bHandle = nullptr;
718     AllocInfo info;
719     info.width = 1024;
720     info.height = 1024;
721     info.usage =
722         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
723         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
724         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
725         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
726         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
727         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
728         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
729         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
730         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
731         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
732         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
733         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
734         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
735         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
736     info.format = PIXEL_FMT_RGB_888;
737 
738     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
739     EXPECT_EQ(HDF_SUCCESS, ec);
740     void *buffer = g_dispbuf->Mmap(*bHandle);
741     EXPECT_NE(nullptr, buffer);
742     int32_t ret = g_dispbuf->Unmap(*bHandle);
743     EXPECT_EQ(HDF_SUCCESS, ret);
744 }
745 
746 /**
747  * @tc.number : SUB_Driver_Display_Buffer_Mmap_2500
748  * @tc.name   : testDisplayBufferMmap025
749  * @tc.desc   : Reliability of function(Mmap)
750  */
751 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap025, Function | MediumTest | Level1)
752 {
753     BufferHandle *bHandle = nullptr;
754     AllocInfo info;
755     info.width = 1024;
756     info.height = 1024;
757     info.usage =
758         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
759         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
760         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
761         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
762         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
763         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
764         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
765         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
766         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
767         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
768         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
769         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
770         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
771         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
772     info.format = PIXEL_FMT_BGR_565;
773 
774     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
775     EXPECT_EQ(HDF_SUCCESS, ec);
776     void *buffer = g_dispbuf->Mmap(*bHandle);
777     EXPECT_NE(nullptr, buffer);
778     int32_t ret = g_dispbuf->Unmap(*bHandle);
779     EXPECT_EQ(HDF_SUCCESS, ret);
780 }
781 
782 /**
783  * @tc.number : SUB_Driver_Display_Buffer_Mmap_2600
784  * @tc.name   : testDisplayBufferMmap026
785  * @tc.desc   : Reliability of function(Mmap)
786  */
787 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap026, Function | MediumTest | Level1)
788 {
789     BufferHandle *bHandle = nullptr;
790     AllocInfo info;
791     info.width = 1024;
792     info.height = 1024;
793     info.usage =
794         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
795         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
796         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
797         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
798         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
799         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
800         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
801         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
802         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
803         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
804         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
805         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
806         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
807         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
808     info.format = PIXEL_FMT_BGRX_4444;
809 
810     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
811     EXPECT_EQ(HDF_SUCCESS, ec);
812     void *buffer = g_dispbuf->Mmap(*bHandle);
813     EXPECT_NE(nullptr, buffer);
814     int32_t ret = g_dispbuf->Unmap(*bHandle);
815     EXPECT_EQ(HDF_SUCCESS, ret);
816 }
817 
818 /**
819  * @tc.number : SUB_Driver_Display_Buffer_Mmap_2700
820  * @tc.name   : testDisplayBufferMmap027
821  * @tc.desc   : Reliability of function(Mmap)
822  */
823 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap027, Function | MediumTest | Level1)
824 {
825     BufferHandle *bHandle = nullptr;
826     AllocInfo info;
827     info.width = 1024;
828     info.height = 1024;
829     info.usage =
830         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
831         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
832         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
833         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
834         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
835         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
836         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
837         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
838         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
839         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
840         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
841         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
842         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
843         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
844     info.format = PIXEL_FMT_BGRA_4444;
845 
846     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
847     EXPECT_EQ(HDF_SUCCESS, ec);
848     void *buffer = g_dispbuf->Mmap(*bHandle);
849     EXPECT_NE(nullptr, buffer);
850     int32_t ret = g_dispbuf->Unmap(*bHandle);
851     EXPECT_EQ(HDF_SUCCESS, ret);
852 }
853 
854 /**
855  * @tc.number : SUB_Driver_Display_Buffer_Mmap_2800
856  * @tc.name   : testDisplayBufferMmap028
857  * @tc.desc   : Reliability of function(Mmap)
858  */
859 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap028, Function | MediumTest | Level1)
860 {
861     BufferHandle *bHandle = nullptr;
862     AllocInfo info;
863     info.width = 1024;
864     info.height = 1024;
865     info.usage =
866         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
867         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
868         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
869         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
870         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
871         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
872         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
873         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
874         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
875         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
876         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
877         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
878         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
879         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
880     info.format = PIXEL_FMT_BGRX_5551;
881 
882     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
883     EXPECT_EQ(HDF_SUCCESS, ec);
884     void *buffer = g_dispbuf->Mmap(*bHandle);
885     EXPECT_NE(nullptr, buffer);
886     int32_t ret = g_dispbuf->Unmap(*bHandle);
887     EXPECT_EQ(HDF_SUCCESS, ret);
888 }
889 
890 /**
891  * @tc.number : SUB_Driver_Display_Buffer_Mmap_2900
892  * @tc.name   : testDisplayBufferMmap029
893  * @tc.desc   : Reliability of function(Mmap)
894  */
895 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap029, Function | MediumTest | Level1)
896 {
897     BufferHandle *bHandle = nullptr;
898     AllocInfo info;
899     info.width = 1024;
900     info.height = 1024;
901     info.usage =
902         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
903         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
904         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
905         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
906         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
907         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
908         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
909         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
910         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
911         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
912         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
913         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
914         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
915         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
916     info.format = PIXEL_FMT_BGRA_5551;
917 
918     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
919     EXPECT_EQ(HDF_SUCCESS, ec);
920     void *buffer = g_dispbuf->Mmap(*bHandle);
921     EXPECT_NE(nullptr, buffer);
922     int32_t ret = g_dispbuf->Unmap(*bHandle);
923     EXPECT_EQ(HDF_SUCCESS, ret);
924 }
925 
926 /**
927  * @tc.number : SUB_Driver_Display_Buffer_Mmap_3000
928  * @tc.name   : testDisplayBufferMmap030
929  * @tc.desc   : Reliability of function(Mmap)
930  */
931 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap030, Function | MediumTest | Level1)
932 {
933     BufferHandle *bHandle = nullptr;
934     AllocInfo info;
935     info.width = 1024;
936     info.height = 1024;
937     info.usage =
938         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
939         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
940         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
941         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
942         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
943         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
944         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
945         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
946         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
947         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
948         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
949         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
950         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
951         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
952     info.format = PIXEL_FMT_BGRX_8888;
953 
954     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
955     EXPECT_EQ(HDF_SUCCESS, ec);
956     void *buffer = g_dispbuf->Mmap(*bHandle);
957     EXPECT_NE(nullptr, buffer);
958     int32_t ret = g_dispbuf->Unmap(*bHandle);
959     EXPECT_EQ(HDF_SUCCESS, ret);
960 }
961 
962 /**
963  * @tc.number : SUB_Driver_Display_Buffer_Mmap_3100
964  * @tc.name   : testDisplayBufferMmap031
965  * @tc.desc   : Reliability of function(Mmap)
966  */
967 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap031, Function | MediumTest | Level1)
968 {
969     BufferHandle *bHandle = nullptr;
970     AllocInfo info;
971     info.width = 1024;
972     info.height = 1024;
973     info.usage =
974         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
975         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
976         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
977         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
978         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
979         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
980         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
981         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
982         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
983         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
984         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
985         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
986         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
987         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
988     info.format = PIXEL_FMT_BGRA_8888;
989 
990     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
991     EXPECT_EQ(HDF_SUCCESS, ec);
992     void *buffer = g_dispbuf->Mmap(*bHandle);
993     EXPECT_NE(nullptr, buffer);
994     int32_t ret = g_dispbuf->Unmap(*bHandle);
995     EXPECT_EQ(HDF_SUCCESS, ret);
996 }
997 
998 /**
999  * @tc.number : SUB_Driver_Display_Buffer_Mmap_3200
1000  * @tc.name   : testDisplayBufferMmap032
1001  * @tc.desc   : Reliability of function(Mmap)
1002  */
1003 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap032, Function | MediumTest | Level1)
1004 {
1005     BufferHandle *bHandle = nullptr;
1006     AllocInfo info;
1007     info.width = 1024;
1008     info.height = 1024;
1009     info.usage =
1010         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
1011         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
1012         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
1013         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
1014         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
1015         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
1016         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
1017         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
1018         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
1019         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
1020         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
1021         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
1022         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
1023         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1024     info.format = PIXEL_FMT_YCBCR_422_SP;
1025 
1026     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1027     EXPECT_EQ(HDF_SUCCESS, ec);
1028     void *buffer = g_dispbuf->Mmap(*bHandle);
1029     EXPECT_NE(nullptr, buffer);
1030     int32_t ret = g_dispbuf->Unmap(*bHandle);
1031     EXPECT_EQ(HDF_SUCCESS, ret);
1032 }
1033 
1034 /**
1035  * @tc.number : SUB_Driver_Display_Buffer_Mmap_3300
1036  * @tc.name   : testDisplayBufferMmap033
1037  * @tc.desc   : Reliability of function(Mmap)
1038  */
1039 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap033, Function | MediumTest | Level1)
1040 {
1041     BufferHandle *bHandle = nullptr;
1042     AllocInfo info;
1043     info.width = 1024;
1044     info.height = 1024;
1045     info.usage =
1046         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
1047         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
1048         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
1049         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
1050         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
1051         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
1052         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
1053         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
1054         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
1055         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
1056         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
1057         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
1058         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
1059         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1060     info.format = PIXEL_FMT_YCRCB_422_SP;
1061 
1062     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1063     EXPECT_EQ(HDF_SUCCESS, ec);
1064     void *buffer = g_dispbuf->Mmap(*bHandle);
1065     EXPECT_NE(nullptr, buffer);
1066     int32_t ret = g_dispbuf->Unmap(*bHandle);
1067     EXPECT_EQ(HDF_SUCCESS, ret);
1068 }
1069 
1070 /**
1071  * @tc.number : SUB_Driver_Display_Buffer_Mmap_3400
1072  * @tc.name   : testDisplayBufferMmap034
1073  * @tc.desc   : Reliability of function(Mmap)
1074  */
1075 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap034, Function | MediumTest | Level1)
1076 {
1077     BufferHandle *bHandle = nullptr;
1078     AllocInfo info;
1079     info.width = 1024;
1080     info.height = 1024;
1081     info.usage =
1082         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
1083         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
1084         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
1085         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
1086         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
1087         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
1088         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
1089         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
1090         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
1091         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
1092         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
1093         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
1094         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
1095         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1096     info.format = PIXEL_FMT_YCBCR_420_SP;
1097 
1098     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1099     EXPECT_EQ(HDF_SUCCESS, ec);
1100     void *buffer = g_dispbuf->Mmap(*bHandle);
1101     EXPECT_NE(nullptr, buffer);
1102     int32_t ret = g_dispbuf->Unmap(*bHandle);
1103     EXPECT_EQ(HDF_SUCCESS, ret);
1104 }
1105 
1106 /**
1107  * @tc.number : SUB_Driver_Display_Buffer_Mmap_3500
1108  * @tc.name   : testDisplayBufferMmap035
1109  * @tc.desc   : Reliability of function(Mmap)
1110  */
1111 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap035, Function | MediumTest | Level1)
1112 {
1113     BufferHandle *bHandle = nullptr;
1114     AllocInfo info;
1115     info.width = 1024;
1116     info.height = 1024;
1117     info.usage =
1118         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
1119         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
1120         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
1121         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
1122         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
1123         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
1124         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
1125         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
1126         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
1127         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
1128         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
1129         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
1130         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
1131         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1132     info.format = PIXEL_FMT_YCRCB_420_SP;
1133 
1134     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1135     EXPECT_EQ(HDF_SUCCESS, ec);
1136     void *buffer = g_dispbuf->Mmap(*bHandle);
1137     EXPECT_NE(nullptr, buffer);
1138     int32_t ret = g_dispbuf->Unmap(*bHandle);
1139     EXPECT_EQ(HDF_SUCCESS, ret);
1140 }
1141 
1142 /**
1143  * @tc.number : SUB_Driver_Display_Buffer_Mmap_3600
1144  * @tc.name   : testDisplayBufferMmap036
1145  * @tc.desc   : Reliability of function(Mmap)
1146  */
1147 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap036, Function | MediumTest | Level1)
1148 {
1149     BufferHandle *bHandle = nullptr;
1150     AllocInfo info;
1151     info.width = 1024;
1152     info.height = 1024;
1153     info.usage =
1154         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
1155         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
1156         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
1157         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
1158         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
1159         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
1160         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
1161         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
1162         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
1163         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
1164         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
1165         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
1166         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
1167         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1168     info.format = PIXEL_FMT_YCBCR_422_P;
1169 
1170     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1171     EXPECT_EQ(HDF_SUCCESS, ec);
1172     void *buffer = g_dispbuf->Mmap(*bHandle);
1173     EXPECT_NE(nullptr, buffer);
1174     int32_t ret = g_dispbuf->Unmap(*bHandle);
1175     EXPECT_EQ(HDF_SUCCESS, ret);
1176 }
1177 
1178 /**
1179  * @tc.number : SUB_Driver_Display_Buffer_Mmap_3700
1180  * @tc.name   : testDisplayBufferMmap037
1181  * @tc.desc   : Reliability of function(Mmap)
1182  */
1183 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap037, Function | MediumTest | Level1)
1184 {
1185     BufferHandle *bHandle = nullptr;
1186     AllocInfo info;
1187     info.width = 1024;
1188     info.height = 1024;
1189     info.usage =
1190         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
1191         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
1192         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
1193         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
1194         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
1195         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
1196         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
1197         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
1198         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
1199         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
1200         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
1201         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
1202         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
1203         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1204     info.format = PIXEL_FMT_YCRCB_422_P;
1205 
1206     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1207     EXPECT_EQ(HDF_SUCCESS, ec);
1208     void *buffer = g_dispbuf->Mmap(*bHandle);
1209     EXPECT_NE(nullptr, buffer);
1210     int32_t ret = g_dispbuf->Unmap(*bHandle);
1211     EXPECT_EQ(HDF_SUCCESS, ret);
1212 }
1213 
1214 /**
1215  * @tc.number : SUB_Driver_Display_Buffer_Mmap_3800
1216  * @tc.name   : testDisplayBufferMmap038
1217  * @tc.desc   : Reliability of function(Mmap)
1218  */
1219 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferMmap038, Function | MediumTest | Level1)
1220 {
1221     BufferHandle *bHandle = nullptr;
1222     AllocInfo info;
1223     info.width = 1024;
1224     info.height = 1024;
1225     info.usage =
1226         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
1227         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
1228         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
1229         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
1230         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
1231         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
1232         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
1233         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
1234         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
1235         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
1236         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
1237         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
1238         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
1239         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1240     info.format = PIXEL_FMT_YCBCR_420_P;
1241 
1242     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1243     EXPECT_EQ(HDF_SUCCESS, ec);
1244     void *buffer = g_dispbuf->Mmap(*bHandle);
1245     EXPECT_NE(nullptr, buffer);
1246     int32_t ret = g_dispbuf->Unmap(*bHandle);
1247     EXPECT_EQ(HDF_SUCCESS, ret);
1248 }
1249 
1250 /**
1251  * @tc.number : SUB_Driver_Display_Buffer_Unmap_0100
1252  * @tc.name   : testDisplayBufferUnmap001
1253  * @tc.desc   : Reliability of function(Unmap)
1254  */
1255 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferUnmap001, Function | MediumTest | Level1)
1256 {
1257     BufferHandle *bHandle = nullptr;
1258     AllocInfo info;
1259     info.width = 1024;
1260     info.height = 1024;
1261     info.usage =
1262         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
1263         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
1264         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
1265         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
1266         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
1267         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
1268         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
1269         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
1270         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
1271         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
1272         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
1273         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
1274         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
1275         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1276     info.format = PIXEL_FMT_YCRCB_420_P;
1277 
1278     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1279     EXPECT_EQ(HDF_SUCCESS, ec);
1280     void *buffer = g_dispbuf->Mmap(*bHandle);
1281     EXPECT_NE(nullptr, buffer);
1282     int32_t ret = g_dispbuf->Unmap(*bHandle);
1283     EXPECT_EQ(HDF_SUCCESS, ret);
1284 }
1285 
1286 /**
1287  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_0100
1288  * @tc.name  : testDisplayBufferAllocMem001
1289  * @tc.desc  : Verify the reliability of the AllocMem function info.width as SLOTID_1.
1290  */
1291 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem001, Function | MediumTest | Level2)
1292 {
1293     BufferHandle *bHandle = nullptr;
1294     AllocInfo info;
1295     info.width = SLOTID_1;
1296     info.height = 1024;
1297     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1298     info.format = PIXEL_FMT_RGBX_4444;
1299     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1300     EXPECT_NE(HDF_SUCCESS, ec);
1301     g_dispbuf->FreeMem(*bHandle);
1302 }
1303 
1304 /**
1305  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_0200
1306  * @tc.name  : testDisplayBufferAllocMem002
1307  * @tc.desc  : Verify the reliability of the AllocMem function info.width as MAX_VALUE.
1308  */
1309 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem002, Function | MediumTest | Level1)
1310 {
1311     BufferHandle *bHandle = nullptr;
1312     AllocInfo info;
1313     info.width = MAX_VALUE;
1314     info.height = MAX_VALUE;
1315     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1316     info.format = PIXEL_FMT_RGBX_4444;
1317 
1318     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1319     EXPECT_EQ(HDF_SUCCESS, ec);
1320     g_dispbuf->FreeMem(*bHandle);
1321 }
1322 
1323 /**
1324  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_0300
1325  * @tc.name  : testDisplayBufferAllocMem003
1326  * @tc.desc  : Verify the reliability of the AllocMem function info.width as MIN_VALUE.
1327  */
1328 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem003, Function | MediumTest | Level1)
1329 {
1330     BufferHandle *bHandle = nullptr;
1331     AllocInfo info;
1332     info.width = MIN_VALUE;
1333     info.height = MAX_VALUE;
1334     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1335     info.format = PIXEL_FMT_RGBX_4444;
1336 
1337     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1338     EXPECT_EQ(HDF_SUCCESS, ec);
1339     g_dispbuf->FreeMem(*bHandle);
1340 }
1341 
1342 /**
1343  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_0400
1344  * @tc.name  : testDisplayBufferAllocMem004
1345  * @tc.desc  : Verify the reliability of the AllocMem function info.height as SLOTID_1.
1346  */
1347 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem004, Function | MediumTest | Level2)
1348 {
1349     BufferHandle *bHandle = nullptr;
1350     AllocInfo info;
1351     info.height = SLOTID_1;
1352     info.width = MAX_VALUE;
1353     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1354     info.format = PIXEL_FMT_RGBX_4444;
1355 
1356     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1357     EXPECT_NE(HDF_SUCCESS, ec);
1358     g_dispbuf->FreeMem(*bHandle);
1359 }
1360 
1361 /**
1362  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_0500
1363  * @tc.name  : testDisplayBufferAllocMem005
1364  * @tc.desc  : Verify the reliability of the AllocMem function info.height as MAX_VALUE.
1365  */
1366 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem005, Function | MediumTest | Level1)
1367 {
1368     BufferHandle *bHandle = nullptr;
1369     AllocInfo info;
1370     info.height = MAX_VALUE;
1371     info.width = MAX_VALUE;
1372     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1373     info.format = PIXEL_FMT_RGBX_4444;
1374 
1375     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1376     EXPECT_EQ(HDF_SUCCESS, ec);
1377     g_dispbuf->FreeMem(*bHandle);
1378 }
1379 
1380 /**
1381  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_0600
1382  * @tc.name  : testDisplayBufferAllocMem006
1383  * @tc.desc  : Verify the reliability of the AllocMem function info.height as MIN_VALUE.
1384  */
1385 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem006, Function | MediumTest | Level1)
1386 {
1387     BufferHandle *bHandle = nullptr;
1388     AllocInfo info;
1389     info.height = MIN_VALUE;
1390     info.width = MAX_VALUE;
1391     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1392     info.format = PIXEL_FMT_RGBX_4444;
1393 
1394     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1395     EXPECT_EQ(HDF_SUCCESS, ec);
1396     g_dispbuf->FreeMem(*bHandle);
1397 }
1398 
1399 /**
1400  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_0700
1401  * @tc.name  : testDisplayBufferAllocMem007
1402  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_CPU_READ.
1403  */
1404 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem007, Function | MediumTest | Level1)
1405 {
1406     BufferHandle *bHandle = nullptr;
1407     AllocInfo info;
1408     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ;
1409     info.height = MAX_VALUE;
1410     info.width = MAX_VALUE;
1411     info.format = PIXEL_FMT_RGBX_4444;
1412 
1413     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1414     EXPECT_EQ(HDF_SUCCESS, ec);
1415     g_dispbuf->FreeMem(*bHandle);
1416 }
1417 
1418 /**
1419  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_0800
1420  * @tc.name  : testDisplayBufferAllocMem008
1421  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_CPU_WRITE.
1422  */
1423 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem008, Function | MediumTest | Level1)
1424 {
1425     BufferHandle *bHandle = nullptr;
1426     AllocInfo info;
1427     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE;
1428     info.height = MAX_VALUE;
1429     info.width = MAX_VALUE;
1430     info.format = PIXEL_FMT_RGBX_4444;
1431 
1432     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1433     EXPECT_EQ(HDF_SUCCESS, ec);
1434     g_dispbuf->FreeMem(*bHandle);
1435 }
1436 
1437 /**
1438  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_0900
1439  * @tc.name  : testDisplayBufferAllocMem009
1440  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_MEM_MMZ.
1441  */
1442 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem009, Function | MediumTest | Level1)
1443 {
1444     BufferHandle *bHandle = nullptr;
1445     AllocInfo info;
1446     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ;
1447     info.height = MAX_VALUE;
1448     info.width = MAX_VALUE;
1449     info.format = PIXEL_FMT_RGBX_4444;
1450 
1451     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1452     EXPECT_EQ(HDF_SUCCESS, ec);
1453     g_dispbuf->FreeMem(*bHandle);
1454 }
1455 
1456 /**
1457  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_1000
1458  * @tc.name  : testDisplayBufferAllocMem010
1459  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_MEM_DMA.
1460  */
1461 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem010, Function | MediumTest | Level1)
1462 {
1463     BufferHandle *bHandle = nullptr;
1464     AllocInfo info;
1465     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA;
1466     info.height = MAX_VALUE;
1467     info.width = MAX_VALUE;
1468     info.format = PIXEL_FMT_RGBX_4444;
1469 
1470     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1471     EXPECT_EQ(HDF_SUCCESS, ec);
1472     g_dispbuf->FreeMem(*bHandle);
1473 }
1474 
1475 /**
1476  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_1100
1477  * @tc.name  : testDisplayBufferAllocMem011
1478  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_MEM_SHARE.
1479  */
1480 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem011, Function | MediumTest | Level1)
1481 {
1482     BufferHandle *bHandle = nullptr;
1483     AllocInfo info;
1484     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE;
1485     info.height = MAX_VALUE;
1486     info.width = MAX_VALUE;
1487     info.format = PIXEL_FMT_RGBX_4444;
1488 
1489     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1490     EXPECT_EQ(HDF_SUCCESS, ec);
1491     g_dispbuf->FreeMem(*bHandle);
1492 }
1493 
1494 /**
1495  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_1200
1496  * @tc.name  : testDisplayBufferAllocMem012
1497  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_MEM_MMZ_CACHE.
1498  */
1499 
1500 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem012, Function | MediumTest | Level1)
1501 {
1502     BufferHandle *bHandle = nullptr;
1503     AllocInfo info;
1504     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE;
1505     info.height = MAX_VALUE;
1506     info.width = MAX_VALUE;
1507     info.format = PIXEL_FMT_RGBX_4444;
1508 
1509     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1510     EXPECT_EQ(HDF_SUCCESS, ec);
1511     g_dispbuf->FreeMem(*bHandle);
1512 }
1513 
1514 /**
1515  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_1300
1516  * @tc.name  : testDisplayBufferAllocMem013
1517  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_MEM_FB.
1518  */
1519 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem013, Function | MediumTest | Level1)
1520 {
1521     BufferHandle *bHandle = nullptr;
1522     AllocInfo info;
1523     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB;
1524     info.height = MAX_VALUE;
1525     info.width = MAX_VALUE;
1526     info.format = PIXEL_FMT_RGBX_4444;
1527 
1528     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1529     EXPECT_EQ(HDF_SUCCESS, ec);
1530     g_dispbuf->FreeMem(*bHandle);
1531 }
1532 
1533 /**
1534  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_1400
1535  * @tc.name  : testDisplayBufferAllocMem014
1536  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_ASSIGN_SIZE.
1537  */
1538 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem014, Function | MediumTest | Level1)
1539 {
1540     BufferHandle *bHandle = nullptr;
1541     AllocInfo info;
1542     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE;
1543     info.height = MAX_VALUE;
1544     info.width = MAX_VALUE;
1545     info.format = PIXEL_FMT_RGBX_4444;
1546 
1547     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1548     EXPECT_EQ(HDF_SUCCESS, ec);
1549     g_dispbuf->FreeMem(*bHandle);
1550 }
1551 
1552 /**
1553  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_1500
1554  * @tc.name  : testDisplayBufferAllocMem015
1555  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_HW_RENDER.
1556  */
1557 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem015, Function | MediumTest | Level1)
1558 {
1559     BufferHandle *bHandle = nullptr;
1560     AllocInfo info;
1561     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER;
1562     info.height = MAX_VALUE;
1563     info.width = MAX_VALUE;
1564     info.format = PIXEL_FMT_RGBX_4444;
1565 
1566     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1567     EXPECT_EQ(HDF_SUCCESS, ec);
1568     g_dispbuf->FreeMem(*bHandle);
1569 }
1570 
1571 /**
1572  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_1600
1573  * @tc.name  : testDisplayBufferAllocMem016
1574  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_HW_TEXTURE.
1575  */
1576 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem016, Function | MediumTest | Level1)
1577 {
1578     BufferHandle *bHandle = nullptr;
1579     AllocInfo info;
1580     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE;
1581     info.height = MAX_VALUE;
1582     info.width = MAX_VALUE;
1583     info.format = PIXEL_FMT_RGBX_4444;
1584 
1585     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1586     EXPECT_EQ(HDF_SUCCESS, ec);
1587     g_dispbuf->FreeMem(*bHandle);
1588 }
1589 
1590 /**
1591  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_1700
1592  * @tc.name  : testDisplayBufferAllocMem017
1593  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_HW_COMPOSER.
1594  */
1595 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem017, Function | MediumTest | Level1)
1596 {
1597     BufferHandle *bHandle = nullptr;
1598     AllocInfo info;
1599     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER;
1600     info.height = MAX_VALUE;
1601     info.width = MAX_VALUE;
1602     info.format = PIXEL_FMT_RGBX_4444;
1603 
1604     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1605     EXPECT_EQ(HDF_SUCCESS, ec);
1606     g_dispbuf->FreeMem(*bHandle);
1607 }
1608 
1609 /**
1610  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_1800
1611  * @tc.name  : testDisplayBufferAllocMem018
1612  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_PROTECTED.
1613  */
1614 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem018, Function | MediumTest | Level1)
1615 {
1616     BufferHandle *bHandle = nullptr;
1617     AllocInfo info;
1618     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED;
1619     info.height = MAX_VALUE;
1620     info.width = MAX_VALUE;
1621     info.format = PIXEL_FMT_RGBX_4444;
1622 
1623     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1624     EXPECT_EQ(HDF_SUCCESS, ec);
1625     g_dispbuf->FreeMem(*bHandle);
1626 }
1627 
1628 /**
1629  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_1900
1630  * @tc.name  : testDisplayBufferAllocMem019
1631  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_CAMERA_READ.
1632  */
1633 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem019, Function | MediumTest | Level1)
1634 {
1635     BufferHandle *bHandle = nullptr;
1636     AllocInfo info;
1637     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ;
1638     info.height = MAX_VALUE;
1639     info.width = MAX_VALUE;
1640     info.format = PIXEL_FMT_RGBX_4444;
1641 
1642     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1643     EXPECT_EQ(HDF_SUCCESS, ec);
1644     g_dispbuf->FreeMem(*bHandle);
1645 }
1646 
1647 /**
1648  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_2000
1649  * @tc.name  : testDisplayBufferAllocMem020
1650  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_CAMERA_WRITE.
1651  */
1652 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem020, Function | MediumTest | Level1)
1653 {
1654     BufferHandle *bHandle = nullptr;
1655     AllocInfo info;
1656     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE;
1657     info.height = MAX_VALUE;
1658     info.width = MAX_VALUE;
1659     info.format = PIXEL_FMT_RGBX_4444;
1660 
1661     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1662     EXPECT_EQ(HDF_SUCCESS, ec);
1663     g_dispbuf->FreeMem(*bHandle);
1664 }
1665 
1666 /**
1667  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_2100
1668  * @tc.name  : testDisplayBufferAllocMem021
1669  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_VIDEO_ENCODER.
1670  */
1671 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem021, Function | MediumTest | Level1)
1672 {
1673     BufferHandle *bHandle = nullptr;
1674     AllocInfo info;
1675     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER;
1676     info.height = MAX_VALUE;
1677     info.width = MAX_VALUE;
1678     info.format = PIXEL_FMT_RGBX_4444;
1679 
1680     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1681     EXPECT_EQ(HDF_SUCCESS, ec);
1682     g_dispbuf->FreeMem(*bHandle);
1683 }
1684 
1685 /**
1686  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_2200
1687  * @tc.name  : testDisplayBufferAllocMem022
1688  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_VIDEO_DECODER.
1689  */
1690 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem022, Function | MediumTest | Level1)
1691 {
1692     BufferHandle *bHandle = nullptr;
1693     AllocInfo info;
1694     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER;
1695     info.height = MAX_VALUE;
1696     info.width = MAX_VALUE;
1697     info.format = PIXEL_FMT_RGBX_4444;
1698 
1699     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1700     EXPECT_EQ(HDF_SUCCESS, ec);
1701     g_dispbuf->FreeMem(*bHandle);
1702 }
1703 
1704 /**
1705  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_2300
1706  * @tc.name  : testDisplayBufferAllocMem023
1707  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_CPU_READ_OFTEN.
1708  */
1709 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem023, Function | MediumTest | Level1)
1710 {
1711     BufferHandle *bHandle = nullptr;
1712     AllocInfo info;
1713     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN;
1714     info.height = MAX_VALUE;
1715     info.width = MAX_VALUE;
1716     info.format = PIXEL_FMT_RGBX_4444;
1717 
1718     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1719     EXPECT_EQ(HDF_SUCCESS, ec);
1720     g_dispbuf->FreeMem(*bHandle);
1721 }
1722 
1723 /**
1724  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_2400
1725  * @tc.name  : testDisplayBufferAllocMem024
1726  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_VENDOR_PRI0.
1727  */
1728 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem024, Function | MediumTest | Level1)
1729 {
1730     BufferHandle *bHandle = nullptr;
1731     AllocInfo info;
1732     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1733     info.height = MAX_VALUE;
1734     info.width = MAX_VALUE;
1735     info.format = PIXEL_FMT_RGBX_4444;
1736 
1737     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1738     EXPECT_EQ(HDF_SUCCESS, ec);
1739     g_dispbuf->FreeMem(*bHandle);
1740 }
1741 
1742 /**
1743  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_2500
1744  * @tc.name  : testDisplayBufferAllocMem025
1745  * @tc.desc  : Verify the reliability of the AllocMem function info.usage as HBM_USE_VENDOR_PRI0.
1746  */
1747 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem025, Function | MediumTest | Level1)
1748 {
1749     BufferHandle *bHandle = nullptr;
1750     AllocInfo info;
1751     int32_t ec = 0;
1752     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1753     info.height = MAX_VALUE;
1754     info.width = MAX_VALUE;
1755     info.format = PIXEL_FMT_RGBX_4444;
1756 
1757     for (int i = 0; i < 100; i++) {
1758         ec = g_dispbuf->AllocMem(info, bHandle);
1759         EXPECT_EQ(HDF_SUCCESS, ec);
1760         g_dispbuf->FreeMem(*bHandle);
1761     }
1762 }
1763 
1764 /**
1765  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_2600
1766  * @tc.name  : testDisplayBufferAllocMem026
1767  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_RGBX_4444.
1768  */
1769 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem026, Function | MediumTest | Level1)
1770 {
1771     BufferHandle *bHandle = nullptr;
1772     AllocInfo info;
1773     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1774     info.height = MAX_VALUE;
1775     info.width = MAX_VALUE;
1776     info.format = PIXEL_FMT_RGBX_4444;
1777 
1778     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1779     EXPECT_EQ(HDF_SUCCESS, ec);
1780     g_dispbuf->FreeMem(*bHandle);
1781 }
1782 
1783 /**
1784  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_2700
1785  * @tc.name  : testDisplayBufferAllocMem027
1786  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_RGBA_4444.
1787  */
1788 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem027, Function | MediumTest | Level1)
1789 {
1790     BufferHandle *bHandle = nullptr;
1791     AllocInfo info;
1792     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1793     info.height = MAX_VALUE;
1794     info.width = MAX_VALUE;
1795     info.format = PIXEL_FMT_RGBA_4444;
1796 
1797     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1798     EXPECT_EQ(HDF_SUCCESS, ec);
1799     g_dispbuf->FreeMem(*bHandle);
1800 }
1801 
1802 /**
1803  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_2800
1804  * @tc.name  : testDisplayBufferAllocMem028
1805  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_RGBX_8888.
1806  */
1807 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem028, Function | MediumTest | Level1)
1808 {
1809     BufferHandle *bHandle = nullptr;
1810     AllocInfo info;
1811     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1812     info.height = MAX_VALUE;
1813     info.width = MAX_VALUE;
1814     info.format = PIXEL_FMT_RGBX_8888;
1815 
1816     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1817     EXPECT_EQ(HDF_SUCCESS, ec);
1818     g_dispbuf->FreeMem(*bHandle);
1819 }
1820 
1821 /**
1822  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_2900
1823  * @tc.name  : testDisplayBufferAllocMem029
1824  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_RGBA_8888.
1825  */
1826 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem029, Function | MediumTest | Level1)
1827 {
1828     BufferHandle *bHandle = nullptr;
1829     AllocInfo info;
1830     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1831     info.height = MAX_VALUE;
1832     info.width = MAX_VALUE;
1833     info.format = PIXEL_FMT_RGBA_8888;
1834 
1835     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1836     EXPECT_EQ(HDF_SUCCESS, ec);
1837     g_dispbuf->FreeMem(*bHandle);
1838 }
1839 
1840 /**
1841  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_3000
1842  * @tc.name  : testDisplayBufferAllocMem030
1843  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_RGB_888.
1844  */
1845 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem030, Function | MediumTest | Level1)
1846 {
1847     BufferHandle *bHandle = nullptr;
1848     AllocInfo info;
1849     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1850     info.height = MAX_VALUE;
1851     info.width = MAX_VALUE;
1852     info.format = PIXEL_FMT_RGB_888;
1853 
1854     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1855     EXPECT_EQ(HDF_SUCCESS, ec);
1856     g_dispbuf->FreeMem(*bHandle);
1857 }
1858 
1859 /**
1860  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_3100
1861  * @tc.name  : testDisplayBufferAllocMem031
1862  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_BGR_565.
1863  */
1864 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem031, Function | MediumTest | Level1)
1865 {
1866     BufferHandle *bHandle = nullptr;
1867     AllocInfo info;
1868     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1869     info.height = MAX_VALUE;
1870     info.width = MAX_VALUE;
1871     info.format = PIXEL_FMT_BGR_565;
1872 
1873     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1874     EXPECT_EQ(HDF_SUCCESS, ec);
1875     g_dispbuf->FreeMem(*bHandle);
1876 }
1877 
1878 /**
1879  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_3200
1880  * @tc.name  : testDisplayBufferAllocMem032
1881  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_BGRX_4444.
1882  */
1883 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem032, Function | MediumTest | Level1)
1884 {
1885     BufferHandle *bHandle = nullptr;
1886     AllocInfo info;
1887     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1888     info.height = MAX_VALUE;
1889     info.width = MAX_VALUE;
1890     info.format = PIXEL_FMT_BGRX_4444;
1891 
1892     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1893     EXPECT_EQ(HDF_SUCCESS, ec);
1894     g_dispbuf->FreeMem(*bHandle);
1895 }
1896 
1897 /**
1898  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_3300
1899  * @tc.name  : testDisplayBufferAllocMem033
1900  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_BGRA_4444.
1901  */
1902 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem033, Function | MediumTest | Level1)
1903 {
1904     BufferHandle *bHandle = nullptr;
1905     AllocInfo info;
1906     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1907     info.height = MAX_VALUE;
1908     info.width = MAX_VALUE;
1909     info.format = PIXEL_FMT_BGRA_4444;
1910 
1911     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1912     EXPECT_EQ(HDF_SUCCESS, ec);
1913     g_dispbuf->FreeMem(*bHandle);
1914 }
1915 
1916 /**
1917  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_3400
1918  * @tc.name  : testDisplayBufferAllocMem034
1919  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_BGRX_5551.
1920  */
1921 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem034, Function | MediumTest | Level1)
1922 {
1923     BufferHandle *bHandle = nullptr;
1924     AllocInfo info;
1925     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1926     info.height = MAX_VALUE;
1927     info.width = MAX_VALUE;
1928     info.format = PIXEL_FMT_BGRX_5551;
1929 
1930     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1931     EXPECT_EQ(HDF_SUCCESS, ec);
1932     g_dispbuf->FreeMem(*bHandle);
1933 }
1934 
1935 /**
1936  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_3500
1937  * @tc.name  : testDisplayBufferAllocMem035
1938  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_BGRA_5551.
1939  */
1940 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem035, Function | MediumTest | Level1)
1941 {
1942     BufferHandle *bHandle = nullptr;
1943     AllocInfo info;
1944     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1945     info.height = MAX_VALUE;
1946     info.width = MAX_VALUE;
1947     info.format = PIXEL_FMT_BGRA_5551;
1948 
1949     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1950     EXPECT_EQ(HDF_SUCCESS, ec);
1951     g_dispbuf->FreeMem(*bHandle);
1952 }
1953 
1954 /**
1955  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_3600
1956  * @tc.name  : testDisplayBufferAllocMem036
1957  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_BGRX_8888.
1958  */
1959 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem036, Function | MediumTest | Level1)
1960 {
1961     BufferHandle *bHandle = nullptr;
1962     AllocInfo info;
1963     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1964     info.height = MAX_VALUE;
1965     info.width = MAX_VALUE;
1966     info.format = PIXEL_FMT_BGRX_8888;
1967 
1968     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1969     EXPECT_EQ(HDF_SUCCESS, ec);
1970     g_dispbuf->FreeMem(*bHandle);
1971 }
1972 
1973 /**
1974  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_3700
1975  * @tc.name  : testDisplayBufferAllocMem037
1976  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_BGRA_8888.
1977  */
1978 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem037, Function | MediumTest | Level1)
1979 {
1980     BufferHandle *bHandle = nullptr;
1981     AllocInfo info;
1982     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
1983     info.height = MAX_VALUE;
1984     info.width = MAX_VALUE;
1985     info.format = PIXEL_FMT_BGRA_8888;
1986 
1987     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
1988     EXPECT_EQ(HDF_SUCCESS, ec);
1989     g_dispbuf->FreeMem(*bHandle);
1990 }
1991 
1992 /**
1993  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_3800
1994  * @tc.name  : testDisplayBufferAllocMem038
1995  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_YCBCR_422_SP.
1996  */
1997 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem038, Function | MediumTest | Level1)
1998 {
1999     BufferHandle *bHandle = nullptr;
2000     AllocInfo info;
2001     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2002     info.height = MAX_VALUE;
2003     info.width = MAX_VALUE;
2004     info.format = PIXEL_FMT_YCBCR_422_SP;
2005 
2006     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
2007     EXPECT_EQ(HDF_SUCCESS, ec);
2008     g_dispbuf->FreeMem(*bHandle);
2009 }
2010 
2011 /**
2012  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_3900
2013  * @tc.name  : testDisplayBufferAllocMem039
2014  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_YCRCB_422_SP.
2015  */
2016 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem039, Function | MediumTest | Level1)
2017 {
2018     BufferHandle *bHandle = nullptr;
2019     AllocInfo info;
2020     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2021     info.height = MAX_VALUE;
2022     info.width = MAX_VALUE;
2023     info.format = PIXEL_FMT_YCRCB_422_SP;
2024 
2025     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
2026     EXPECT_EQ(HDF_SUCCESS, ec);
2027     g_dispbuf->FreeMem(*bHandle);
2028 }
2029 
2030 /**
2031  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_4000
2032  * @tc.name  : testDisplayBufferAllocMem040
2033  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_YCBCR_420_SP.
2034  */
2035 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem040, Function | MediumTest | Level1)
2036 {
2037     BufferHandle *bHandle = nullptr;
2038     AllocInfo info;
2039     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2040     info.height = MAX_VALUE;
2041     info.width = MAX_VALUE;
2042     info.format = PIXEL_FMT_YCBCR_420_SP;
2043 
2044     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
2045     EXPECT_EQ(HDF_SUCCESS, ec);
2046     g_dispbuf->FreeMem(*bHandle);
2047 }
2048 
2049 /**
2050  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_4100
2051  * @tc.name  : testDisplayBufferAllocMem041
2052  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_YCRCB_420_SP.
2053  */
2054 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem041, Function | MediumTest | Level1)
2055 {
2056     BufferHandle *bHandle = nullptr;
2057     AllocInfo info;
2058     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2059     info.height = MAX_VALUE;
2060     info.width = MAX_VALUE;
2061     info.format = PIXEL_FMT_YCRCB_420_SP;
2062 
2063     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
2064     EXPECT_EQ(HDF_SUCCESS, ec);
2065     g_dispbuf->FreeMem(*bHandle);
2066 }
2067 
2068 /**
2069  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_4200
2070  * @tc.name  : testDisplayBufferAllocMem042
2071  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_YCBCR_422_P.
2072  */
2073 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem042, Function | MediumTest | Level1)
2074 {
2075     BufferHandle *bHandle = nullptr;
2076     AllocInfo info;
2077     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2078     info.height = MAX_VALUE;
2079     info.width = MAX_VALUE;
2080     info.format = PIXEL_FMT_YCBCR_422_P;
2081 
2082     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
2083     EXPECT_EQ(HDF_SUCCESS, ec);
2084     g_dispbuf->FreeMem(*bHandle);
2085 }
2086 
2087 /**
2088  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_4300
2089  * @tc.name  : testDisplayBufferAllocMem043
2090  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_YCRCB_422_P.
2091  */
2092 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem043, Function | MediumTest | Level1)
2093 {
2094     BufferHandle *bHandle = nullptr;
2095     AllocInfo info;
2096     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2097     info.height = MAX_VALUE;
2098     info.width = MAX_VALUE;
2099     info.format = PIXEL_FMT_YCRCB_422_P;
2100 
2101     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
2102     EXPECT_EQ(HDF_SUCCESS, ec);
2103     g_dispbuf->FreeMem(*bHandle);
2104 }
2105 
2106 /**
2107  * @tc.number: SUB_Driver_Display_Buffer_AllocMem_4400
2108  * @tc.name  : testDisplayBufferAllocMem044
2109  * @tc.desc  : Verify the reliability of the AllocMem function info.format as PIXEL_FMT_YCBCR_420_P.
2110  */
2111 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferAllocMem044, Function | MediumTest | Level1)
2112 {
2113     BufferHandle *bHandle = nullptr;
2114     AllocInfo info;
2115     info.usage = OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2116     info.height = MAX_VALUE;
2117     info.width = MAX_VALUE;
2118     info.format = PIXEL_FMT_YCBCR_420_P;
2119 
2120     int32_t ec = g_dispbuf->AllocMem(info, bHandle);
2121     EXPECT_EQ(HDF_SUCCESS, ec);
2122     g_dispbuf->FreeMem(*bHandle);
2123 }
2124 
2125 /**
2126  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_0100
2127  * @tc.name   : testDisplayBufferFlushCache001
2128  * @tc.desc   : Reliability of function(FlushCache)
2129  */
2130 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache001, Function | MediumTest | Level1)
2131 {
2132     AllocInfo info;
2133     info.width = 1024;
2134     info.height = 1024;
2135     info.usage =
2136         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2137         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2138         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2139         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2140         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2141         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2142         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2143         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2144         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2145         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2146         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2147         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2148         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2149         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2150     info.format = PIXEL_FMT_RGBX_4444;
2151 
2152     BufferHandle *bHandle = nullptr;
2153     g_dispbuf->AllocMem(info, bHandle);
2154     void *buffer = g_dispbuf->Mmap(*bHandle);
2155     if (buffer == nullptr) {
2156         g_dispbuf->FreeMem(*bHandle);
2157     }
2158     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2159     EXPECT_EQ(ret, HDF_SUCCESS);
2160     AfterCache(bHandle);
2161 }
2162 
2163 /**
2164  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_0200
2165  * @tc.name   : testDisplayBufferFlushCache002
2166  * @tc.desc   : Reliability of function(FlushCache)
2167  */
2168 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache002, Function | MediumTest | Level1)
2169 {
2170     AllocInfo info;
2171     info.width = 1024;
2172     info.height = 1024;
2173     info.usage =
2174         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2175         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2176         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2177         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2178         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2179         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2180         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2181         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2182         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2183         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2184         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2185         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2186         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2187         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2188     info.format = PIXEL_FMT_RGBA_4444;
2189 
2190     BufferHandle *bHandle = nullptr;
2191     g_dispbuf->AllocMem(info, bHandle);
2192     void *buffer = g_dispbuf->Mmap(*bHandle);
2193     if (buffer == nullptr) {
2194         g_dispbuf->FreeMem(*bHandle);
2195     }
2196     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2197     EXPECT_EQ(ret, HDF_SUCCESS);
2198     AfterCache(bHandle);
2199 }
2200 
2201 /**
2202  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_0300
2203  * @tc.name   : testDisplayBufferFlushCache003
2204  * @tc.desc   : Reliability of function(FlushCache)
2205  */
2206 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache003, Function | MediumTest | Level1)
2207 {
2208     AllocInfo info;
2209     info.width = 1024;
2210     info.height = 1024;
2211     info.usage =
2212         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2213         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2214         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2215         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2216         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2217         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2218         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2219         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2220         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2221         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2222         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2223         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2224         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2225         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2226     info.format = PIXEL_FMT_RGBX_8888;
2227 
2228     BufferHandle *bHandle = nullptr;
2229     g_dispbuf->AllocMem(info, bHandle);
2230     void *buffer = g_dispbuf->Mmap(*bHandle);
2231     if (buffer == nullptr) {
2232         g_dispbuf->FreeMem(*bHandle);
2233     }
2234     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2235     EXPECT_EQ(ret, HDF_SUCCESS);
2236     AfterCache(bHandle);
2237 }
2238 
2239 /**
2240  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_0400
2241  * @tc.name   : testDisplayBufferFlushCache004
2242  * @tc.desc   : Reliability of function(FlushCache)
2243  */
2244 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache004, Function | MediumTest | Level1)
2245 {
2246     AllocInfo info;
2247     info.width = 1024;
2248     info.height = 1024;
2249     info.usage =
2250         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2251         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2252         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2253         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2254         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2255         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2256         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2257         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2258         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2259         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2260         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2261         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2262         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2263         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2264     info.format = PIXEL_FMT_RGBA_8888;
2265 
2266     BufferHandle *bHandle = nullptr;
2267     g_dispbuf->AllocMem(info, bHandle);
2268     void *buffer = g_dispbuf->Mmap(*bHandle);
2269     if (buffer == nullptr) {
2270         g_dispbuf->FreeMem(*bHandle);
2271     }
2272     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2273     EXPECT_EQ(ret, HDF_SUCCESS);
2274     AfterCache(bHandle);
2275 }
2276 
2277 /**
2278  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_0500
2279  * @tc.name   : testDisplayBufferFlushCache005
2280  * @tc.desc   : Reliability of function(FlushCache)
2281  */
2282 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache005, Function | MediumTest | Level1)
2283 {
2284     AllocInfo info;
2285     info.width = 1024;
2286     info.height = 1024;
2287     info.usage =
2288         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2289         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2290         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2291         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2292         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2293         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2294         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2295         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2296         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2297         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2298         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2299         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2300         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2301         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2302     info.format = PIXEL_FMT_RGB_888;
2303 
2304     BufferHandle *bHandle = nullptr;
2305     g_dispbuf->AllocMem(info, bHandle);
2306     void *buffer = g_dispbuf->Mmap(*bHandle);
2307     if (buffer == nullptr) {
2308         g_dispbuf->FreeMem(*bHandle);
2309     }
2310     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2311     EXPECT_EQ(ret, HDF_SUCCESS);
2312     AfterCache(bHandle);
2313 }
2314 
2315 /**
2316  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_0600
2317  * @tc.name   : testDisplayBufferFlushCache006
2318  * @tc.desc   : Reliability of function(FlushCache)
2319  */
2320 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache006, Function | MediumTest | Level1)
2321 {
2322     AllocInfo info;
2323     info.width = 1024;
2324     info.height = 1024;
2325     info.usage =
2326         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2327         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2328         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2329         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2330         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2331         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2332         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2333         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2334         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2335         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2336         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2337         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2338         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2339         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2340     info.format = PIXEL_FMT_BGR_565;
2341 
2342     BufferHandle *bHandle = nullptr;
2343     g_dispbuf->AllocMem(info, bHandle);
2344     void *buffer = g_dispbuf->Mmap(*bHandle);
2345     if (buffer == nullptr) {
2346         g_dispbuf->FreeMem(*bHandle);
2347     }
2348     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2349     EXPECT_EQ(ret, HDF_SUCCESS);
2350     AfterCache(bHandle);
2351 }
2352 
2353 /**
2354  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_0700
2355  * @tc.name   : testDisplayBufferFlushCache007
2356  * @tc.desc   : Reliability of function(FlushCache)
2357  */
2358 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache007, Function | MediumTest | Level1)
2359 {
2360     AllocInfo info;
2361     info.width = 1024;
2362     info.height = 1024;
2363     info.usage =
2364         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2365         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2366         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2367         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2368         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2369         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2370         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2371         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2372         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2373         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2374         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2375         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2376         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2377         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2378     info.format = PIXEL_FMT_BGRX_4444;
2379 
2380     BufferHandle *bHandle = nullptr;
2381     g_dispbuf->AllocMem(info, bHandle);
2382     void *buffer = g_dispbuf->Mmap(*bHandle);
2383     if (buffer == nullptr) {
2384         g_dispbuf->FreeMem(*bHandle);
2385     }
2386     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2387     EXPECT_EQ(ret, HDF_SUCCESS);
2388     AfterCache(bHandle);
2389 }
2390 
2391 /**
2392  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_0800
2393  * @tc.name   : testDisplayBufferFlushCache008
2394  * @tc.desc   : Reliability of function(FlushCache)
2395  */
2396 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache008, Function | MediumTest | Level1)
2397 {
2398     AllocInfo info;
2399     info.width = 1024;
2400     info.height = 1024;
2401     info.usage =
2402         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2403         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2404         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2405         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2406         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2407         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2408         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2409         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2410         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2411         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2412         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2413         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2414         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2415         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2416     info.format = PIXEL_FMT_BGRA_4444;
2417 
2418     BufferHandle *bHandle = nullptr;
2419     g_dispbuf->AllocMem(info, bHandle);
2420     void *buffer = g_dispbuf->Mmap(*bHandle);
2421     if (buffer == nullptr) {
2422         g_dispbuf->FreeMem(*bHandle);
2423     }
2424     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2425     EXPECT_EQ(ret, HDF_SUCCESS);
2426     AfterCache(bHandle);
2427 }
2428 
2429 /**
2430  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_0900
2431  * @tc.name   : testDisplayBufferFlushCache009
2432  * @tc.desc   : Reliability of function(FlushCache)
2433  */
2434 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache009, Function | MediumTest | Level1)
2435 {
2436     AllocInfo info;
2437     info.width = 1024;
2438     info.height = 1024;
2439     info.usage =
2440         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2441         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2442         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2443         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2444         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2445         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2446         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2447         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2448         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2449         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2450         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2451         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2452         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2453         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2454     info.format = PIXEL_FMT_BGRX_5551;
2455 
2456     BufferHandle *bHandle = nullptr;
2457     g_dispbuf->AllocMem(info, bHandle);
2458     void *buffer = g_dispbuf->Mmap(*bHandle);
2459     if (buffer == nullptr) {
2460         g_dispbuf->FreeMem(*bHandle);
2461     }
2462     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2463     EXPECT_EQ(ret, HDF_SUCCESS);
2464     AfterCache(bHandle);
2465 }
2466 
2467 /**
2468  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_1000
2469  * @tc.name   : testDisplayBufferFlushCache010
2470  * @tc.desc   : Reliability of function(FlushCache)
2471  */
2472 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache010, Function | MediumTest | Level1)
2473 {
2474     AllocInfo info;
2475     info.width = 1024;
2476     info.height = 1024;
2477     info.usage =
2478         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2479         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2480         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2481         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2482         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2483         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2484         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2485         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2486         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2487         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2488         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2489         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2490         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2491         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2492     info.format = PIXEL_FMT_BGRA_5551;
2493 
2494     BufferHandle *bHandle = nullptr;
2495     g_dispbuf->AllocMem(info, bHandle);
2496     void *buffer = g_dispbuf->Mmap(*bHandle);
2497     if (buffer == nullptr) {
2498         g_dispbuf->FreeMem(*bHandle);
2499     }
2500     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2501     EXPECT_EQ(ret, HDF_SUCCESS);
2502     AfterCache(bHandle);
2503 }
2504 
2505 /**
2506  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_1100
2507  * @tc.name   : testDisplayBufferFlushCache011
2508  * @tc.desc   : Reliability of function(FlushCache)
2509  */
2510 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache011, Function | MediumTest | Level1)
2511 {
2512     AllocInfo info;
2513     info.width = 1024;
2514     info.height = 1024;
2515     info.usage =
2516         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2517         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2518         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2519         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2520         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2521         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2522         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2523         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2524         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2525         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2526         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2527         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2528         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2529         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2530     info.format = PIXEL_FMT_BGRX_8888;
2531 
2532     BufferHandle *bHandle = nullptr;
2533     g_dispbuf->AllocMem(info, bHandle);
2534     void *buffer = g_dispbuf->Mmap(*bHandle);
2535     if (buffer == nullptr) {
2536         g_dispbuf->FreeMem(*bHandle);
2537     }
2538     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2539     EXPECT_EQ(ret, HDF_SUCCESS);
2540     AfterCache(bHandle);
2541 }
2542 
2543 /**
2544  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_1200
2545  * @tc.name   : testDisplayBufferFlushCache012
2546  * @tc.desc   : Reliability of function(FlushCache)
2547  */
2548 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache012, Function | MediumTest | Level1)
2549 {
2550     AllocInfo info;
2551     info.width = 1024;
2552     info.height = 1024;
2553     info.usage =
2554         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2555         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2556         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2557         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2558         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2559         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2560         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2561         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2562         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2563         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2564         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2565         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2566         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2567         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2568     info.format = PIXEL_FMT_BGRA_8888;
2569 
2570     BufferHandle *bHandle = nullptr;
2571     g_dispbuf->AllocMem(info, bHandle);
2572     void *buffer = g_dispbuf->Mmap(*bHandle);
2573     if (buffer == nullptr) {
2574         g_dispbuf->FreeMem(*bHandle);
2575     }
2576     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2577     EXPECT_EQ(ret, HDF_SUCCESS);
2578     AfterCache(bHandle);
2579 }
2580 
2581 /**
2582  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_1300
2583  * @tc.name   : testDisplayBufferFlushCache013
2584  * @tc.desc   : Reliability of function(FlushCache)
2585  */
2586 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache013, Function | MediumTest | Level1)
2587 {
2588     AllocInfo info;
2589     info.width = 1024;
2590     info.height = 1024;
2591     info.usage =
2592         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2593         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2594         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2595         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2596         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2597         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2598         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2599         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2600         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2601         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2602         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2603         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2604         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2605         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2606     info.format = PIXEL_FMT_YCBCR_422_SP;
2607 
2608     BufferHandle *bHandle = nullptr;
2609     g_dispbuf->AllocMem(info, bHandle);
2610     void *buffer = g_dispbuf->Mmap(*bHandle);
2611     if (buffer == nullptr) {
2612         g_dispbuf->FreeMem(*bHandle);
2613     }
2614     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2615     EXPECT_EQ(ret, HDF_SUCCESS);
2616     AfterCache(bHandle);
2617 }
2618 
2619 /**
2620  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_1400
2621  * @tc.name   : testDisplayBufferFlushCache014
2622  * @tc.desc   : Reliability of function(FlushCache)
2623  */
2624 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache014, Function | MediumTest | Level1)
2625 {
2626     AllocInfo info;
2627     info.width = 1024;
2628     info.height = 1024;
2629     info.usage =
2630         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2631         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2632         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2633         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2634         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2635         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2636         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2637         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2638         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2639         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2640         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2641         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2642         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2643         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2644     info.format = PIXEL_FMT_YCRCB_422_SP;
2645 
2646     BufferHandle *bHandle = nullptr;
2647     g_dispbuf->AllocMem(info, bHandle);
2648     void *buffer = g_dispbuf->Mmap(*bHandle);
2649     if (buffer == nullptr) {
2650         g_dispbuf->FreeMem(*bHandle);
2651     }
2652     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2653     EXPECT_EQ(ret, HDF_SUCCESS);
2654     AfterCache(bHandle);
2655 }
2656 
2657 /**
2658  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_1500
2659  * @tc.name   : testDisplayBufferFlushCache015
2660  * @tc.desc   : Reliability of function(FlushCache)
2661  */
2662 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache015, Function | MediumTest | Level1)
2663 {
2664     AllocInfo info;
2665     info.width = 1024;
2666     info.height = 1024;
2667     info.usage =
2668         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2669         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2670         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2671         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2672         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2673         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2674         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2675         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2676         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2677         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2678         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2679         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2680         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2681         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2682     info.format = PIXEL_FMT_YCBCR_420_SP;
2683 
2684     BufferHandle *bHandle = nullptr;
2685     g_dispbuf->AllocMem(info, bHandle);
2686     void *buffer = g_dispbuf->Mmap(*bHandle);
2687     if (buffer == nullptr) {
2688         g_dispbuf->FreeMem(*bHandle);
2689     }
2690     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2691     EXPECT_EQ(ret, HDF_SUCCESS);
2692     AfterCache(bHandle);
2693 }
2694 
2695 /**
2696  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_1600
2697  * @tc.name   : testDisplayBufferFlushCache016
2698  * @tc.desc   : Reliability of function(FlushCache)
2699  */
2700 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache016, Function | MediumTest | Level1)
2701 {
2702     AllocInfo info;
2703     info.width = 1024;
2704     info.height = 1024;
2705     info.usage =
2706         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2707         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2708         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2709         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2710         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2711         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2712         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2713         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2714         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2715         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2716         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2717         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2718         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2719         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2720     info.format = PIXEL_FMT_YCRCB_420_SP;
2721 
2722     BufferHandle *bHandle = nullptr;
2723     g_dispbuf->AllocMem(info, bHandle);
2724     void *buffer = g_dispbuf->Mmap(*bHandle);
2725     if (buffer == nullptr) {
2726         g_dispbuf->FreeMem(*bHandle);
2727     }
2728     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2729     EXPECT_EQ(ret, HDF_SUCCESS);
2730     AfterCache(bHandle);
2731 }
2732 
2733 /**
2734  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_1700
2735  * @tc.name   : testDisplayBufferFlushCache017
2736  * @tc.desc   : Reliability of function(FlushCache)
2737  */
2738 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache017, Function | MediumTest | Level1)
2739 {
2740     AllocInfo info;
2741     info.width = 1024;
2742     info.height = 1024;
2743     info.usage =
2744         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2745         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2746         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2747         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2748         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2749         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2750         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2751         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2752         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2753         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2754         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2755         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2756         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2757         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2758     info.format = PIXEL_FMT_YCBCR_422_P;
2759 
2760     BufferHandle *bHandle = nullptr;
2761     g_dispbuf->AllocMem(info, bHandle);
2762     void *buffer = g_dispbuf->Mmap(*bHandle);
2763     if (buffer == nullptr) {
2764         g_dispbuf->FreeMem(*bHandle);
2765     }
2766     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2767     EXPECT_EQ(ret, HDF_SUCCESS);
2768     AfterCache(bHandle);
2769 }
2770 
2771 /**
2772  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_1800
2773  * @tc.name   : testDisplayBufferFlushCache018
2774  * @tc.desc   : Reliability of function(FlushCache)
2775  */
2776 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache018, Function | MediumTest | Level1)
2777 {
2778     AllocInfo info;
2779     info.width = 1024;
2780     info.height = 1024;
2781     info.usage =
2782         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2783         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2784         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2785         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2786         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2787         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2788         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2789         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2790         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2791         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2792         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2793         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2794         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2795         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2796     info.format = PIXEL_FMT_YCRCB_422_P;
2797 
2798     BufferHandle *bHandle = nullptr;
2799     g_dispbuf->AllocMem(info, bHandle);
2800     void *buffer = g_dispbuf->Mmap(*bHandle);
2801     if (buffer == nullptr) {
2802         g_dispbuf->FreeMem(*bHandle);
2803     }
2804     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2805     EXPECT_EQ(ret, HDF_SUCCESS);
2806     AfterCache(bHandle);
2807 }
2808 
2809 /**
2810  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_1900
2811  * @tc.name   : testDisplayBufferFlushCache019
2812  * @tc.desc   : Reliability of function(FlushCache)
2813  */
2814 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache019, Function | MediumTest | Level1)
2815 {
2816     AllocInfo info;
2817     info.width = 1024;
2818     info.height = 1024;
2819     info.usage =
2820         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2821         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2822         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2823         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2824         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2825         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2826         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2827         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2828         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2829         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2830         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2831         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2832         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2833         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2834     info.format = PIXEL_FMT_YCBCR_420_P;
2835 
2836     BufferHandle *bHandle = nullptr;
2837     g_dispbuf->AllocMem(info, bHandle);
2838     void *buffer = g_dispbuf->Mmap(*bHandle);
2839     if (buffer == nullptr) {
2840         g_dispbuf->FreeMem(*bHandle);
2841     }
2842     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2843     EXPECT_EQ(ret, HDF_SUCCESS);
2844     AfterCache(bHandle);
2845 }
2846 
2847 /**
2848  * @tc.number : SUB_Driver_Display_Buffer_FlushCache_2000
2849  * @tc.name   : testDisplayBufferFlushCache020
2850  * @tc.desc   : Reliability of function(FlushCache)
2851  */
2852 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferFlushCache020, Function | MediumTest | Level1)
2853 {
2854     AllocInfo info;
2855     info.width = 1024;
2856     info.height = 1024;
2857     info.usage =
2858         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2859         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2860         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2861         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2862         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2863         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2864         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2865         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2866         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2867         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2868         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2869         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2870         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2871         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2872     info.format = PIXEL_FMT_YCRCB_420_P;
2873 
2874     BufferHandle *bHandle = nullptr;
2875     g_dispbuf->AllocMem(info, bHandle);
2876     void *buffer = g_dispbuf->Mmap(*bHandle);
2877     if (buffer == nullptr) {
2878         g_dispbuf->FreeMem(*bHandle);
2879     }
2880     int32_t ret = g_dispbuf->FlushCache(*bHandle);
2881     EXPECT_EQ(ret, HDF_SUCCESS);
2882     AfterCache(bHandle);
2883 }
2884 
2885 /**
2886  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_0100
2887  * @tc.name   : testDisplayBufferInvalidateCache001
2888  * @tc.desc   : Reliability of function(InvalidateCache)
2889  */
2890 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache001, Function | MediumTest | Level1)
2891 {
2892     AllocInfo info;
2893     info.width = 1024;
2894     info.height = 1024;
2895     info.usage =
2896         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2897         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2898         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2899         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2900         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2901         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2902         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2903         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2904         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2905         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2906         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2907         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2908         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2909         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2910     info.format = PIXEL_FMT_RGBX_4444;
2911 
2912     BufferHandle *bHandle = nullptr;
2913     g_dispbuf->AllocMem(info, bHandle);
2914     void *buffer = g_dispbuf->Mmap(*bHandle);
2915     if (buffer == nullptr) {
2916         g_dispbuf->FreeMem(*bHandle);
2917     }
2918     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
2919     EXPECT_EQ(ret, HDF_SUCCESS);
2920     AfterCache(bHandle);
2921 }
2922 
2923 /**
2924  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_0200
2925  * @tc.name   : testDisplayBufferInvalidateCache002
2926  * @tc.desc   : Reliability of function(InvalidateCache)
2927  */
2928 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache002, Function | MediumTest | Level1)
2929 {
2930     AllocInfo info;
2931     info.width = 1024;
2932     info.height = 1024;
2933     info.usage =
2934         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2935         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2936         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2937         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2938         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2939         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2940         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2941         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2942         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2943         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2944         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2945         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2946         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2947         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2948     info.format = PIXEL_FMT_RGBA_4444;
2949 
2950     BufferHandle *bHandle = nullptr;
2951     g_dispbuf->AllocMem(info, bHandle);
2952     void *buffer = g_dispbuf->Mmap(*bHandle);
2953     if (buffer == nullptr) {
2954         g_dispbuf->FreeMem(*bHandle);
2955     }
2956     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
2957     EXPECT_EQ(ret, HDF_SUCCESS);
2958     AfterCache(bHandle);
2959 }
2960 
2961 /**
2962  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_0300
2963  * @tc.name   : testDisplayBufferInvalidateCache003
2964  * @tc.desc   : Reliability of function(InvalidateCache)
2965  */
2966 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache003, Function | MediumTest | Level1)
2967 {
2968     AllocInfo info;
2969     info.width = 1024;
2970     info.height = 1024;
2971     info.usage =
2972         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
2973         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
2974         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
2975         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
2976         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
2977         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
2978         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
2979         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
2980         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
2981         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
2982         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
2983         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
2984         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
2985         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
2986     info.format = PIXEL_FMT_RGBX_8888;
2987 
2988     BufferHandle *bHandle = nullptr;
2989     g_dispbuf->AllocMem(info, bHandle);
2990     void *buffer = g_dispbuf->Mmap(*bHandle);
2991     if (buffer == nullptr) {
2992         g_dispbuf->FreeMem(*bHandle);
2993     }
2994     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
2995     EXPECT_EQ(ret, HDF_SUCCESS);
2996     AfterCache(bHandle);
2997 }
2998 
2999 /**
3000  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_0400
3001  * @tc.name   : testDisplayBufferInvalidateCache004
3002  * @tc.desc   : Reliability of function(InvalidateCache)
3003  */
3004 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache004, Function | MediumTest | Level1)
3005 {
3006     AllocInfo info;
3007     info.width = 1024;
3008     info.height = 1024;
3009     info.usage =
3010         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3011         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3012         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3013         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3014         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3015         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3016         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3017         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3018         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3019         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3020         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3021         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3022         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3023         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3024     info.format = PIXEL_FMT_RGBA_8888;
3025 
3026     BufferHandle *bHandle = nullptr;
3027     g_dispbuf->AllocMem(info, bHandle);
3028     void *buffer = g_dispbuf->Mmap(*bHandle);
3029     if (buffer == nullptr) {
3030         g_dispbuf->FreeMem(*bHandle);
3031     }
3032     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3033     EXPECT_EQ(ret, HDF_SUCCESS);
3034     AfterCache(bHandle);
3035 }
3036 
3037 /**
3038  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_0500
3039  * @tc.name   : testDisplayBufferInvalidateCache005
3040  * @tc.desc   : Reliability of function(InvalidateCache)
3041  */
3042 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache005, Function | MediumTest | Level1)
3043 {
3044     AllocInfo info;
3045     info.width = 1024;
3046     info.height = 1024;
3047     info.usage =
3048         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3049         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3050         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3051         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3052         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3053         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3054         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3055         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3056         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3057         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3058         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3059         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3060         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3061         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3062     info.format = PIXEL_FMT_RGB_888;
3063 
3064     BufferHandle *bHandle = nullptr;
3065     g_dispbuf->AllocMem(info, bHandle);
3066     void *buffer = g_dispbuf->Mmap(*bHandle);
3067     if (buffer == nullptr) {
3068         g_dispbuf->FreeMem(*bHandle);
3069     }
3070     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3071     EXPECT_EQ(ret, HDF_SUCCESS);
3072     AfterCache(bHandle);
3073 }
3074 
3075 /**
3076  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_0600
3077  * @tc.name   : testDisplayBufferInvalidateCache006
3078  * @tc.desc   : Reliability of function(InvalidateCache)
3079  */
3080 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache006, Function | MediumTest | Level1)
3081 {
3082     AllocInfo info;
3083     info.width = 1024;
3084     info.height = 1024;
3085     info.usage =
3086         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3087         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3088         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3089         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3090         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3091         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3092         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3093         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3094         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3095         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3096         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3097         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3098         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3099         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3100     info.format = PIXEL_FMT_BGR_565;
3101 
3102     BufferHandle *bHandle = nullptr;
3103     g_dispbuf->AllocMem(info, bHandle);
3104     void *buffer = g_dispbuf->Mmap(*bHandle);
3105     if (buffer == nullptr) {
3106         g_dispbuf->FreeMem(*bHandle);
3107     }
3108     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3109     EXPECT_EQ(ret, HDF_SUCCESS);
3110     AfterCache(bHandle);
3111 }
3112 
3113 /**
3114  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_0700
3115  * @tc.name   : testDisplayBufferInvalidateCache007
3116  * @tc.desc   : Reliability of function(InvalidateCache)
3117  */
3118 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache007, Function | MediumTest | Level1)
3119 {
3120     AllocInfo info;
3121     info.width = 1024;
3122     info.height = 1024;
3123     info.usage =
3124         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3125         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3126         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3127         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3128         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3129         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3130         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3131         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3132         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3133         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3134         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3135         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3136         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3137         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3138     info.format = PIXEL_FMT_BGRX_4444;
3139 
3140     BufferHandle *bHandle = nullptr;
3141     g_dispbuf->AllocMem(info, bHandle);
3142     void *buffer = g_dispbuf->Mmap(*bHandle);
3143     if (buffer == nullptr) {
3144         g_dispbuf->FreeMem(*bHandle);
3145     }
3146     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3147     EXPECT_EQ(ret, HDF_SUCCESS);
3148     AfterCache(bHandle);
3149 }
3150 
3151 /**
3152  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_0800
3153  * @tc.name   : testDisplayBufferInvalidateCache008
3154  * @tc.desc   : Reliability of function(InvalidateCache)
3155  */
3156 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache008, Function | MediumTest | Level1)
3157 {
3158     AllocInfo info;
3159     info.width = 1024;
3160     info.height = 1024;
3161     info.usage =
3162         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3163         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3164         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3165         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3166         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3167         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3168         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3169         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3170         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3171         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3172         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3173         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3174         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3175         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3176     info.format = PIXEL_FMT_BGRA_4444;
3177 
3178     BufferHandle *bHandle = nullptr;
3179     g_dispbuf->AllocMem(info, bHandle);
3180     void *buffer = g_dispbuf->Mmap(*bHandle);
3181     if (buffer == nullptr) {
3182         g_dispbuf->FreeMem(*bHandle);
3183     }
3184     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3185     EXPECT_EQ(ret, HDF_SUCCESS);
3186     AfterCache(bHandle);
3187 }
3188 
3189 /**
3190  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_0900
3191  * @tc.name   : testDisplayBufferInvalidateCache009
3192  * @tc.desc   : Reliability of function(InvalidateCache)
3193  */
3194 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache009, Function | MediumTest | Level1)
3195 {
3196     AllocInfo info;
3197     info.width = 1024;
3198     info.height = 1024;
3199     info.usage =
3200         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3201         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3202         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3203         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3204         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3205         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3206         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3207         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3208         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3209         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3210         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3211         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3212         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3213         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3214     info.format = PIXEL_FMT_BGRX_5551;
3215 
3216     BufferHandle *bHandle = nullptr;
3217     g_dispbuf->AllocMem(info, bHandle);
3218     void *buffer = g_dispbuf->Mmap(*bHandle);
3219     if (buffer == nullptr) {
3220         g_dispbuf->FreeMem(*bHandle);
3221     }
3222     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3223     EXPECT_EQ(ret, HDF_SUCCESS);
3224     AfterCache(bHandle);
3225 }
3226 
3227 /**
3228  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_1000
3229  * @tc.name   : testDisplayBufferInvalidateCache010
3230  * @tc.desc   : Reliability of function(InvalidateCache)
3231  */
3232 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache010, Function | MediumTest | Level1)
3233 {
3234     AllocInfo info;
3235     info.width = 1024;
3236     info.height = 1024;
3237     info.usage =
3238         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3239         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3240         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3241         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3242         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3243         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3244         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3245         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3246         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3247         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3248         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3249         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3250         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3251         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3252     info.format = PIXEL_FMT_BGRA_5551;
3253 
3254     BufferHandle *bHandle = nullptr;
3255     g_dispbuf->AllocMem(info, bHandle);
3256     void *buffer = g_dispbuf->Mmap(*bHandle);
3257     if (buffer == nullptr) {
3258         g_dispbuf->FreeMem(*bHandle);
3259     }
3260     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3261     EXPECT_EQ(ret, HDF_SUCCESS);
3262     AfterCache(bHandle);
3263 }
3264 
3265 /**
3266  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_1100
3267  * @tc.name   : testDisplayBufferInvalidateCache011
3268  * @tc.desc   : Reliability of function(InvalidateCache)
3269  */
3270 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache011, Function | MediumTest | Level1)
3271 {
3272     AllocInfo info;
3273     info.width = 1024;
3274     info.height = 1024;
3275     info.usage =
3276         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3277         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3278         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3279         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3280         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3281         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3282         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3283         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3284         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3285         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3286         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3287         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3288         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3289         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3290     info.format = PIXEL_FMT_BGRX_8888;
3291 
3292     BufferHandle *bHandle = nullptr;
3293     g_dispbuf->AllocMem(info, bHandle);
3294     void *buffer = g_dispbuf->Mmap(*bHandle);
3295     if (buffer == nullptr) {
3296         g_dispbuf->FreeMem(*bHandle);
3297     }
3298     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3299     EXPECT_EQ(ret, HDF_SUCCESS);
3300     AfterCache(bHandle);
3301 }
3302 
3303 /**
3304  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_1200
3305  * @tc.name   : testDisplayBufferInvalidateCache012
3306  * @tc.desc   : Reliability of function(InvalidateCache)
3307  */
3308 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache012, Function | MediumTest | Level1)
3309 {
3310     AllocInfo info;
3311     info.width = 1024;
3312     info.height = 1024;
3313     info.usage =
3314         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3315         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3316         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3317         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3318         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3319         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3320         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3321         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3322         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3323         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3324         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3325         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3326         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3327         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3328     info.format = PIXEL_FMT_BGRA_8888;
3329 
3330     BufferHandle *bHandle = nullptr;
3331     g_dispbuf->AllocMem(info, bHandle);
3332     void *buffer = g_dispbuf->Mmap(*bHandle);
3333     if (buffer == nullptr) {
3334         g_dispbuf->FreeMem(*bHandle);
3335     }
3336     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3337     EXPECT_EQ(ret, HDF_SUCCESS);
3338     AfterCache(bHandle);
3339 }
3340 
3341 /**
3342  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_1300
3343  * @tc.name   : testDisplayBufferInvalidateCache013
3344  * @tc.desc   : Reliability of function(InvalidateCache)
3345  */
3346 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache013, Function | MediumTest | Level1)
3347 {
3348     AllocInfo info;
3349     info.width = 1024;
3350     info.height = 1024;
3351     info.usage =
3352         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3353         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3354         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3355         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3356         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3357         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3358         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3359         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3360         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3361         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3362         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3363         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3364         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3365         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3366     info.format = PIXEL_FMT_YCBCR_422_SP;
3367 
3368     BufferHandle *bHandle = nullptr;
3369     g_dispbuf->AllocMem(info, bHandle);
3370     void *buffer = g_dispbuf->Mmap(*bHandle);
3371     if (buffer == nullptr) {
3372         g_dispbuf->FreeMem(*bHandle);
3373     }
3374     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3375     EXPECT_EQ(ret, HDF_SUCCESS);
3376     AfterCache(bHandle);
3377 }
3378 
3379 /**
3380  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_1400
3381  * @tc.name   : testDisplayBufferInvalidateCache014
3382  * @tc.desc   : Reliability of function(InvalidateCache)
3383  */
3384 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache014, Function | MediumTest | Level1)
3385 {
3386     AllocInfo info;
3387     info.width = 1024;
3388     info.height = 1024;
3389     info.usage =
3390         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3391         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3392         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3393         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3394         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3395         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3396         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3397         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3398         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3399         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3400         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3401         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3402         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3403         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3404     info.format = PIXEL_FMT_YCRCB_422_SP;
3405 
3406     BufferHandle *bHandle = nullptr;
3407     g_dispbuf->AllocMem(info, bHandle);
3408     void *buffer = g_dispbuf->Mmap(*bHandle);
3409     if (buffer == nullptr) {
3410         g_dispbuf->FreeMem(*bHandle);
3411     }
3412     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3413     EXPECT_EQ(ret, HDF_SUCCESS);
3414     AfterCache(bHandle);
3415 }
3416 
3417 /**
3418  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_1500
3419  * @tc.name   : testDisplayBufferInvalidateCache015
3420  * @tc.desc   : Reliability of function(InvalidateCache)
3421  */
3422 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache015, Function | MediumTest | Level1)
3423 {
3424     AllocInfo info;
3425     info.width = 1024;
3426     info.height = 1024;
3427     info.usage =
3428         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3429         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3430         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3431         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3432         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3433         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3434         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3435         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3436         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3437         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3438         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3439         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3440         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3441         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3442     info.format = PIXEL_FMT_YCBCR_420_SP;
3443 
3444     BufferHandle *bHandle = nullptr;
3445     g_dispbuf->AllocMem(info, bHandle);
3446     void *buffer = g_dispbuf->Mmap(*bHandle);
3447     if (buffer == nullptr) {
3448         g_dispbuf->FreeMem(*bHandle);
3449     }
3450     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3451     EXPECT_EQ(ret, HDF_SUCCESS);
3452     AfterCache(bHandle);
3453 }
3454 
3455 /**
3456  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_1600
3457  * @tc.name   : testDisplayBufferInvalidateCache016
3458  * @tc.desc   : Reliability of function(InvalidateCache)
3459  */
3460 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache016, Function | MediumTest | Level1)
3461 {
3462     AllocInfo info;
3463     info.width = 1024;
3464     info.height = 1024;
3465     info.usage =
3466         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3467         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3468         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3469         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3470         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3471         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3472         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3473         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3474         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3475         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3476         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3477         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3478         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3479         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3480     info.format = PIXEL_FMT_YCRCB_420_SP;
3481 
3482     BufferHandle *bHandle = nullptr;
3483     g_dispbuf->AllocMem(info, bHandle);
3484     void *buffer = g_dispbuf->Mmap(*bHandle);
3485     if (buffer == nullptr) {
3486         g_dispbuf->FreeMem(*bHandle);
3487     }
3488     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3489     EXPECT_EQ(ret, HDF_SUCCESS);
3490     AfterCache(bHandle);
3491 }
3492 
3493 /**
3494  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_1700
3495  * @tc.name   : testDisplayBufferInvalidateCache017
3496  * @tc.desc   : Reliability of function(InvalidateCache)
3497  */
3498 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache017, Function | MediumTest | Level1)
3499 {
3500     AllocInfo info;
3501     info.width = 1024;
3502     info.height = 1024;
3503     info.usage =
3504         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3505         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3506         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3507         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3508         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3509         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3510         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3511         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3512         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3513         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3514         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3515         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3516         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3517         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3518     info.format = PIXEL_FMT_YCBCR_422_P;
3519 
3520     BufferHandle *bHandle = nullptr;
3521     g_dispbuf->AllocMem(info, bHandle);
3522     void *buffer = g_dispbuf->Mmap(*bHandle);
3523     if (buffer == nullptr) {
3524         g_dispbuf->FreeMem(*bHandle);
3525     }
3526     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3527     EXPECT_EQ(ret, HDF_SUCCESS);
3528     AfterCache(bHandle);
3529 }
3530 
3531 /**
3532  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_1800
3533  * @tc.name   : testDisplayBufferInvalidateCache018
3534  * @tc.desc   : Reliability of function(InvalidateCache)
3535  */
3536 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache018, Function | MediumTest | Level1)
3537 {
3538     AllocInfo info;
3539     info.width = 1024;
3540     info.height = 1024;
3541     info.usage =
3542         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3543         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3544         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3545         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3546         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3547         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3548         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3549         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3550         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3551         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3552         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3553         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3554         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3555         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3556     info.format = PIXEL_FMT_YCRCB_422_P;
3557 
3558     BufferHandle *bHandle = nullptr;
3559     g_dispbuf->AllocMem(info, bHandle);
3560     void *buffer = g_dispbuf->Mmap(*bHandle);
3561     if (buffer == nullptr) {
3562         g_dispbuf->FreeMem(*bHandle);
3563     }
3564     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3565     EXPECT_EQ(ret, HDF_SUCCESS);
3566     AfterCache(bHandle);
3567 }
3568 
3569 /**
3570  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_1900
3571  * @tc.name   : testDisplayBufferInvalidateCache019
3572  * @tc.desc   : Reliability of function(InvalidateCache)
3573  */
3574 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache019, Function | MediumTest | Level1)
3575 {
3576     AllocInfo info;
3577     info.width = 1024;
3578     info.height = 1024;
3579     info.usage =
3580         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3581         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3582         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3583         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3584         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3585         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3586         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3587         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3588         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3589         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3590         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3591         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3592         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3593         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3594     info.format = PIXEL_FMT_YCBCR_420_P;
3595 
3596     BufferHandle *bHandle = nullptr;
3597     g_dispbuf->AllocMem(info, bHandle);
3598     void *buffer = g_dispbuf->Mmap(*bHandle);
3599     if (buffer == nullptr) {
3600         g_dispbuf->FreeMem(*bHandle);
3601     }
3602     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3603     EXPECT_EQ(ret, HDF_SUCCESS);
3604     AfterCache(bHandle);
3605 }
3606 
3607 /**
3608  * @tc.number : SUB_Driver_Display_Buffer_InvalidateCache_2000
3609  * @tc.name   : testDisplayBufferInvalidateCache020
3610  * @tc.desc   : Reliability of function(InvalidateCache)
3611  */
3612 HWTEST_F(DisplayBufferMtAdditional, testDisplayBufferInvalidateCache020, Function | MediumTest | Level1)
3613 {
3614     AllocInfo info;
3615     info.width = 1024;
3616     info.height = 1024;
3617     info.usage =
3618         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_WRITE |
3619         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_DMA |
3620         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_SHARE |
3621         OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_MMZ_CACHE | OHOS::HDI::Display::Composer::V1_0::HBM_USE_MEM_FB |
3622         OHOS::HDI::Display::Composer::V1_0::HBM_USE_ASSIGN_SIZE |
3623         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_RENDER | OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_TEXTURE |
3624         OHOS::HDI::Display::Composer::V1_0::HBM_USE_HW_COMPOSER |
3625         OHOS::HDI::Display::Composer::V1_0::HBM_USE_PROTECTED |
3626         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_READ |
3627         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CAMERA_WRITE |
3628         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_ENCODER |
3629         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VIDEO_DECODER |
3630         OHOS::HDI::Display::Composer::V1_0::HBM_USE_CPU_READ_OFTEN |
3631         OHOS::HDI::Display::Composer::V1_0::HBM_USE_VENDOR_PRI0;
3632     info.format = PIXEL_FMT_YCRCB_420_P;
3633 
3634     BufferHandle *bHandle = nullptr;
3635     g_dispbuf->AllocMem(info, bHandle);
3636     void *buffer = g_dispbuf->Mmap(*bHandle);
3637     if (buffer == nullptr) {
3638         g_dispbuf->FreeMem(*bHandle);
3639     }
3640     int32_t ret = g_dispbuf->InvalidateCache(*bHandle);
3641     EXPECT_EQ(ret, HDF_SUCCESS);
3642     AfterCache(bHandle);
3643 }
3644 
3645 } // namespace TEST
3646 } // namespace Display
3647 } // namespace HDI
3648 } // namespace OHOS