93 lines
2.3 KiB
C
93 lines
2.3 KiB
C
#ifndef _VG_LCDC_H_
|
|
#define _VG_LCDC_H_
|
|
|
|
#if defined (__cplusplus)
|
|
extern "C"{
|
|
#endif
|
|
|
|
// 定义VG的FB模式 ()
|
|
// FB_COUNT = 2, 为双缓存模式
|
|
// FB_COUNT = 1, 为单帧模式
|
|
#ifndef FB_COUNT
|
|
#define FB_COUNT 2
|
|
//#define FB_COUNT 1
|
|
#endif
|
|
|
|
|
|
// 获取VG可用的framebuffer个数(固定为2个)
|
|
unsigned int xm_vg_get_fb_count (void);
|
|
|
|
|
|
// 获取VG帧(GPU帧)的每行数据字节长度
|
|
unsigned int xm_vg_get_stride (void);
|
|
|
|
// 获取OSD帧的每行数据字节长度
|
|
unsigned int xm_vg_get_osd_stride (void);
|
|
|
|
// 获取VG帧(GPU帧/OSD帧)的bpp设置
|
|
// 16 (RGB565)
|
|
// 32 (ARGB8888)
|
|
unsigned int xm_vg_get_bpp (void);
|
|
|
|
// 获取一个新的VG帧的GPU fb物理地址, 用于GPU后台渲染
|
|
// VG帧是OSD帧内部的开窗区域, 用于GPU绘图使用
|
|
// 返回值
|
|
// 指向VG帧的原点(左上角)
|
|
unsigned int xm_vg_require_gpu_fb (void);
|
|
|
|
|
|
// 释放当前后台渲染(GPU渲染)所使用的VG帧.
|
|
// 该VG帧(GPU)关联的OSD帧可用于LCD显示更新
|
|
void xm_vg_release_gpu_fb (void);
|
|
|
|
// 检查指定的基址是否是有效的GPU framebuffer
|
|
// 返回值
|
|
// 1 是有效的GPU framebuffer地址
|
|
// 0 不是
|
|
int xm_vg_is_valid_gpu_fb (unsigned int base);
|
|
|
|
// 设置VG帧在OSD帧内部的开窗位置
|
|
// VG帧属于OSD帧的内部开窗
|
|
void xm_vg_set_osd_window ( unsigned int x, // VG帧原点(左上角)相对于OSD帧原点(左上角)的像素偏移
|
|
unsigned int y,
|
|
unsigned int w, // VG帧的像素尺寸
|
|
unsigned int h
|
|
);
|
|
void xm_vg_set_x (unsigned int x);
|
|
void xm_vg_set_y (unsigned int y);
|
|
void xm_vg_set_width (unsigned int w);
|
|
void xm_vg_set_height (unsigned int h);
|
|
|
|
|
|
// 读取VG帧在OSD帧内部的开窗位置
|
|
// VG帧属于OSD帧的内部开窗
|
|
void xm_vg_get_osd_window ( unsigned int* x, // 相对于OSD帧原点(左上角)的像素偏移
|
|
unsigned int* y,
|
|
unsigned int* w, // VG帧的像素尺寸
|
|
unsigned int* h,
|
|
unsigned int* stride // VG帧的每行字节长度
|
|
);
|
|
// 获取VG帧相对于OSD帧原点(左上角)的像素偏移
|
|
unsigned int xm_vg_get_x (void);
|
|
unsigned int xm_vg_get_y (void);
|
|
// 获取VG帧的像素宽度
|
|
unsigned int xm_vg_get_width (void);
|
|
// 获取VG帧的像素高度
|
|
unsigned int xm_vg_get_height (void);
|
|
|
|
// 获取当前正在渲染的OSD framebuffer
|
|
// *no == -1 表示获取当前正在渲染的OSD framebuffer
|
|
// 返回值
|
|
// 当前正在渲染的OSD framebuffer基址
|
|
unsigned int xm_vg_get_osd_fb (int *no);
|
|
|
|
// 获取VG帧填充的背景图基址(与GPU FB相同尺寸/规格)
|
|
void* xm_vg_get_gpu_background_image (void);
|
|
|
|
|
|
#if defined (__cplusplus)
|
|
}
|
|
#endif /* end of __cplusplus */
|
|
|
|
#endif /* _XM_SIGNAL_H_ */
|