Avoid slow read-back from VRAM.
* include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t): Move from here ... * grub-core/video/fb/video_fb.c (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments. * grub-core/video/fb/video_fb.c (framebuf_t): New type. (front_target): Remove front_target. Add pages. (grub_video_fb_init): Skip setting front_pages. (grub_video_fb_fini): Likewise. (doublebuf_blit_update_screen): Use pages. (grub_video_fb_doublebuf_blit_init): Likewise. (doublebuf_pageflipping_init): Allocate offscreen buffer. (doublebuf_pageflipping_update_screen): Use offscreen buffer. (grub_video_fb_setup): Prefer doublebuffing.
This commit is contained in:
parent
377c98cba2
commit
ba67e2c635
4 changed files with 83 additions and 128 deletions
|
@ -115,10 +115,6 @@ grub_video_fb_get_active_render_target (struct grub_video_fbrender_target **targ
|
|||
grub_err_t
|
||||
grub_video_fb_set_active_render_target (struct grub_video_fbrender_target *target);
|
||||
|
||||
typedef grub_err_t
|
||||
(*grub_video_fb_doublebuf_update_screen_t) (struct grub_video_fbrender_target *front,
|
||||
struct grub_video_fbrender_target *back);
|
||||
|
||||
typedef grub_err_t (*grub_video_fb_set_page_t) (int page);
|
||||
|
||||
grub_err_t
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue