1 Star 0 Fork 4.9K

平凡 / docs

forked from OpenHarmony / docs 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
GrallocFuncs.md 16.43 KB
一键复制 编辑 原始数据 按行查看 历史
wenjun 提交于 2020-09-08 10:08 . add OpenHarmony 1.0 baseline

GrallocFuncs

Overview

Related Modules:

Display

Description:

Defines pointers to the memory driver functions.

Summary

Data Fields

Variable Name

Description

AllocMem )(GrallocBuffer *buffer)

int32_t(* 

Allocates memory based on the parameters passed by the GUI.

FreeMem )(GrallocBuffer *buffer)

void(* 

Releases memory.

Mmap )(GrallocBuffer *buffer)

void *(* 

Maps memory with a specified physical address and size to memory without cache in the process's address space.

MmapCache )(GrallocBuffer *buffer)

void *(* 

Maps memory with a specified physical address and size to memory with cache in the process's address space.

Unmap )(GrallocBuffer *buffer)

int32_t(* 

Unmaps memory, that is, removes any mappings in the process's address space.

FlushCache )(GrallocBuffer *buffer)

int32_t(* 

Flushes data from the cache to memory and invalidates the data in the cache.

FlushMCache )(GrallocBuffer *buffer)

int32_t(* 

Flushes data from the cache mapping to Mmap to memory and invalidates the data in the cache.

Details

Field Documentation

AllocMem

int32_t(* GrallocFuncs::AllocMem) ([GrallocBuffer](GrallocBuffer.md) *buffer)

Description:

Allocates memory based on the parameters passed by the GUI.

Parameters:

Name

Description

hdl Indicates the pointer to the handle of memory.
type Indicates the type of memory to allocate. The value[/table/tgroup/tbody/row/entry/div {""}) [/table/tgroup/tbody/row/entry/div/div {""}) 0 (div] (div] indicates memory without cache, [/table/tgroup/tbody/row/entry/div {""}) [/table/tgroup/tbody/row/entry/div/div {""}) 1 (div] (div] indicates memory with cache, and[/table/tgroup/tbody/row/entry/div {""}) [/table/tgroup/tbody/row/entry/div/div {""}) 2 (div] (div] indicates shared memory.
size Indicates the size of memory to allocate, in bytes.

Returns:

Returns 0 if the operation is successful; returns an error code defined in DispErrCode otherwise.

FlushCache

int32_t(* GrallocFuncs::FlushCache) ([GrallocBuffer](GrallocBuffer.md) *buffer)

Description:

Flushes data from the cache to memory and invalidates the data in the cache.

Parameters:

Name

Description

hdl Indicates the pointer to the handle of the cache.
size Indicates the size of the cache from which data is to flush.

Returns:

Returns 0 if the operation is successful; returns an error code defined in DispErrCode otherwise.

FlushMCache

int32_t(* GrallocFuncs::FlushMCache) ([GrallocBuffer](GrallocBuffer.md) *buffer)

Description:

Flushes data from the cache mapping to Mmap to memory and invalidates the data in the cache.

Parameters:

Name

Description

hdl Indicates the pointer to the handle of the cache.
size Indicates the size of the cache from which data is to flush.

Returns:

Returns 0 if the operation is successful; returns an error code defined in DispErrCode otherwise.

FreeMem

void(* GrallocFuncs::FreeMem) ([GrallocBuffer](GrallocBuffer.md) *buffer)

Description:

Releases memory.

Parameters:

Name

Description

hdl Indicates the pointer to the handle of memory that has been applied for.

Mmap

void*(* GrallocFuncs::Mmap) ([GrallocBuffer](GrallocBuffer.md) *buffer)

Description:

Maps memory with a specified physical address and size to memory without cache in the process's address space.

Parameters:

Name

Description

phyAddr Indicates the physical address of memory to map.
size Indicates the size of memory to map.

Returns:

Returns the pointer to a valid address if the operation is successful; returns NULL otherwise.

MmapCache

void*(* GrallocFuncs::MmapCache) ([GrallocBuffer](GrallocBuffer.md) *buffer)

Description:

Maps memory with a specified physical address and size to memory with cache in the process's address space.

Parameters:

Name

Description

phyAddr Indicates the physical address of memory to map.
size Indicates the size of memory to map.

Returns:

Returns the pointer to a valid address if the operation is successful; returns NULL otherwise.

Unmap

int32_t(* GrallocFuncs::Unmap) ([GrallocBuffer](GrallocBuffer.md) *buffer)

Description:

Unmaps memory, that is, removes any mappings in the process's address space.

Parameters:

Name

Description

virAddr Indicates the pointer to the virtual address of memory to unmap.
size Indicates the size of memory to unmap.

Returns:

Returns 0 if the operation is successful; returns an error code defined in DispErrCode otherwise.

1
https://gitee.com/pingfan_vs_hs/docs.git
git@gitee.com:pingfan_vs_hs/docs.git
pingfan_vs_hs
docs
docs
master

搜索帮助