50 lines
1.6 KiB
C
50 lines
1.6 KiB
C
#ifndef __PUBLIC_GPU_TASK_H__
|
|
#define __PUBLIC_GPU_TASK_H__
|
|
|
|
|
|
/* ------------------------------------------------------------------------------------*/
|
|
/**
|
|
* @brief GPU 任务名
|
|
*/
|
|
/* ------------------------------------------------------------------------------------*/
|
|
#define GPU_TASK_NAME "gpu"
|
|
|
|
|
|
/* ------------------------------------------------------------------------------------*/
|
|
/**
|
|
* @brief GPU任务消息类型
|
|
*/
|
|
/* ------------------------------------------------------------------------------------*/
|
|
typedef enum {
|
|
GPU_MSG_OTHER,
|
|
GPU_MSG_DRAW,
|
|
GPU_MSG_DUMP,
|
|
GPU_MSG_DRAW_LIST,
|
|
} gpu_task_msg_t;
|
|
|
|
|
|
/* ------------------------------------------------------------------------------------*/
|
|
/**
|
|
* @brief GPU刷新方式标志
|
|
*/
|
|
/* ------------------------------------------------------------------------------------*/
|
|
typedef enum {
|
|
GPU_SYNC_REDRAW, // 同步/串行刷新
|
|
GPU_ASYN_REDRAW, // 异步/并行刷新
|
|
} gpu_redraw_mode_t;
|
|
|
|
int jlgpu_scheduler_async_free_buf(void *p);
|
|
void jlgpu_scheduler_set_redraw_mode(struct draw_context *dc, gpu_redraw_mode_t mode);
|
|
void *jlgpu_scheduler_create_mult_task_list(struct draw_context *dc);
|
|
void jlgpu_scheduler_delete_mult_task_list(struct draw_context *dc);
|
|
void *jlgpu_scheduler_draw_mult_task_list(struct draw_context *dc);
|
|
void jlgpu_scheduler_init(void *(*malloc)(int, u32, u32), void (*free)(void *, u32, u32), u16 lcd_width, u16 lcd_height);
|
|
void jlgpu_scheduler_free();
|
|
int jlgpu_scheduler_wait_sync();
|
|
int jlgpu_scheduler_async_free_jpeg_res(void *p);
|
|
int jlgpu_scheduler_get_redraw_mode();
|
|
|
|
#endif
|
|
|
|
|