• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# GrallocFuncs
2
3
4## **概述**
5
6显示内存驱动接口结构体,定义显示内存驱动接口函数指针。
7
8**相关模块:**
9
10[Display](_display.md)
11
12
13## **汇总**
14
15
16### Public 属性
17
18  | 名称 | 描述 |
19| -------- | -------- |
20| ([AllocMem](#allocmem))(const AllocInfo \*info, BufferHandle \*\*handle) | 显示内存分配。 |
21| ([FreeMem](#freemem))(BufferHandle \*handle) | 显示内存释放。 |
22| ([Mmap](#mmap))(BufferHandle \*handle) | 显示内存映射,将内存映射到对应的进程地址空间中。 |
23| ([MmapYUV](#mmapyuv))(BufferHandle \*handle, YUVDescInfo \*info) | YUV 内存映射。 |
24| ([MmapCache](#mmapcache))(BufferHandle \*handle) | 显示内存映射,将内映射为cache内存到对应的进程地址空间中。 |
25| ([Unmap](#unmap))(BufferHandle \*handle) | 内存反映射,将内存进行反映射。 |
26| ([FlushCache](#flushcache))(BufferHandle \*handle) | 刷新cache,刷新cache里的内容到内存并且使cache里的内容无效。 |
27| ([FlushMCache](#flushmcache))(BufferHandle \*handle) | 刷新Mmap映射的cache,刷新Mmap映射的cache里的内容到内存并且使cache里的内容无效。 |
28| ([InvalidateCache](#invalidatecache))(BufferHandle \*handle) | 使cache中的内容无效用以存储更新内存内容。 |
29| ([IsSupportedAlloc](#issupportedalloc))(uint32_t num, const VerifyAllocInfo \*infos, bool \*supporteds) | 检测给定的VerifyAllocInfo数组信息能否申请内存成功。 |
30
31
32## **类成员变量说明**
33
34
35### AllocMem
36
37
38```
39int32_t(* GrallocFuncs::AllocMem) (const AllocInfo *info, BufferHandle **handle)
40```
41
42**描述:**
43
44显示内存分配。
45
46根据GUI图形系统传递的参数分配内存,分配的内存根据类型可分为共享内存、cache内存和非cache内存等。
47
48**参数:**
49
50  | 名称 | 描述 |
51| -------- | -------- |
52| info | 输入参数,指示申请内存AllocInfo信息. |
53| handle | 输入参数,指向申请的内存handle指针。 |
54
55**返回:**
56
57DISPLAY_SUCCESS 表示执行成功。
58
59其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
60
61
62### FlushCache
63
64
65```
66int32_t(* GrallocFuncs::FlushCache) (BufferHandle *handle)
67```
68
69**描述:**
70
71刷新cache,刷新cache里的内容到内存并且使cache里的内容无效。
72
73**参数:**
74
75  | 名称 | 描述 |
76| -------- | -------- |
77| handle | 输出参数,待刷新cache的handle指针。 |
78
79**返回:**
80
81DISPLAY_SUCCESS 表示执行成功。
82
83其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
84
85
86### FlushMCache
87
88
89```
90int32_t(* GrallocFuncs::FlushMCache) (BufferHandle *handle)
91```
92
93**描述:**
94
95刷新Mmap映射的cache,刷新Mmap映射的cache里的内容到内存并且使cache里的内容无效。
96
97**参数:**
98
99  | 名称 | 描述 |
100| -------- | -------- |
101| handle | 输出参数,待刷新cache的handle指针。 |
102
103**返回:**
104
105DISPLAY_SUCCESS 表示执行成功。
106
107其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
108
109
110### FreeMem
111
112
113```
114void(* GrallocFuncs::FreeMem) (BufferHandle *handle)
115```
116
117**描述:**
118
119显示内存释放。
120
121**参数:**
122
123  | 名称 | 描述 |
124| -------- | -------- |
125| handle | 输入参数,待释放的内存handle指针。 |
126
127**返回:**
128
129成功返回有效地址,失败返回NULL。
130
131
132### InvalidateCache
133
134
135```
136int32_t(* GrallocFuncs::InvalidateCache) (BufferHandle *handle)
137```
138
139**描述:**
140
141使cache中的内容无效用以存储更新内存内容。
142
143**参数:**
144
145  | 名称 | 描述 |
146| -------- | -------- |
147| handle | 输出参数,待无效cache的handle指针。 |
148
149**返回:**
150
151DISPLAY_SUCCESS 表示执行成功。
152
153其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
154
155
156### IsSupportedAlloc
157
158
159```
160int32_t(* GrallocFuncs::IsSupportedAlloc) (uint32_t num, const VerifyAllocInfo *infos, bool *supporteds)
161```
162
163**描述:**
164
165检测给定的VerifyAllocInfo数组信息能否申请内存成功。
166
167**参数:**
168
169  | 名称 | 描述 |
170| -------- | -------- |
171| num | 输入参数,[VerifyAllocInfo](_verify_alloc_info.md)数组个数。 |
172| infos | 输出参数,[VerifyAllocInfo](_verify_alloc_info.md)数组首地址。 |
173| supporteds | 输出参数,supporteds数组首地址, 表示能否申请成功。 |
174
175**返回:**
176
177DISPLAY_SUCCESS 表示执行成功。
178
179其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
180
181
182### Mmap
183
184
185```
186void*(* GrallocFuncs::Mmap) (BufferHandle *handle)
187```
188
189**描述:**
190
191显示内存映射,将内存映射到对应的进程地址空间中。
192
193**参数:**
194
195  | 名称 | 描述 |
196| -------- | -------- |
197| handle | 输入参数,待映射内存handle指针。 |
198
199**返回:**
200
201成功返回有效地址,失败返回NULL。
202
203
204### MmapCache
205
206
207```
208void*(* GrallocFuncs::MmapCache) (BufferHandle *handle)
209```
210
211**描述:**
212
213显示内存映射,将内存映射为 cache 内存到对应的进程地址空间中。
214
215**参数:**
216
217  | 名称 | 描述 |
218| -------- | -------- |
219| handle | 输出参数,待映射内存 handle 指针。 |
220
221**返回:**
222
223成功返回有效地址,失败返回 NULL。
224
225
226### MmapYUV
227
228
229```
230void*(* GrallocFuncs::MmapYUV) (BufferHandle *handle, YUVDescInfo *info)
231```
232
233**描述:**
234
235YUV 内存映射。
236
237**参数:**
238
239  | 名称 | 描述 |
240| -------- | -------- |
241| handle | 输出参数,指示内存映射的输出缓存。 |
242| info | 输出参数,指示内存映射的[YUVDescInfo](_yun_desc_info_.md)信息。 |
243
244**返回:**
245
246成功返回有效地址,失败返回 NULL。
247
248
249### Unmap
250
251
252```
253int32_t(* GrallocFuncs::Unmap) (BufferHandle *handle)
254```
255
256**描述:**
257
258内存反映射,将内存进行反映射。
259
260**参数:**
261
262  | 名称 | 描述 |
263| -------- | -------- |
264| handle | 输出参数,待反映射内存handle指针。 |
265
266**返回:**
267
268DISPLAY_SUCCESS 表示执行成功。
269
270其他值表示执行失败,具体错误码查看[DispErrCode](_display.md#disperrcode)。
271