Skip to content

feat(gui): 内核双缓冲 present 管线与 FbPageSet 显存页登记#7

Open
Yueban-gzh wants to merge 2 commits into
masterfrom
gui/fb-pageset
Open

feat(gui): 内核双缓冲 present 管线与 FbPageSet 显存页登记#7
Yueban-gzh wants to merge 2 commits into
masterfrom
gui/fb-pageset

Conversation

@Yueban-gzh

Copy link
Copy Markdown
Collaborator

Summary

  • 内核双缓冲:flush_rect / present / wait_fence;dirty bbox 合并;可选 ping-pong remap
  • FbPageSet:VirtIO FB DMA 页 FrameTracker 登记,启动 [fb_seg] 日志
  • Graph VA 0x06a00000 与 FB 0x10000000 分离
  • 合并 master(PR Benchmark/v0 #5 benchmark:GET_TIME_RAW / GET_CYCLE
  • fix:页帧分配期间关中断,避免首次 poll 键盘时 RefCell already borrowed panic
  • ping-pong present_dirty 去掉多余 wait_fence(present 已同步完成)

Test plan

  • ./scripts/docker-mindos.sh build
  • ./scripts/docker-mindos.sh test-gui-all
  • MINDOS_FB_PING_PONG=1 ./scripts/docker-mindos.sh build + run-guigui_tetris
  • 可选:./scripts/test-gui-pingpong.sh

Rebuild on origin/master: substantive changes only, preserve master
CRLF for legacy files, stage .gitattributes last. Add page_table::remap
and export FB_USER_VADDR.

Co-authored-by: Cursor <cursoragent@cursor.com>
gpu.rs polls virtqueues via H::cpu_relax(); expose a default spin_loop
on Hal and re-export Rect for os GPU flush_rect clamping.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant