[PATCH 0/5] sandbox: video: Refactor out of uclass, try partial screen updates

Alper Nebi Yasak alpernebiyasak at gmail.com
Mon Aug 21 20:13:34 CEST 2023

While working on the video damage tracking series [1], I noticed the
10Hz limitation on the sandbox screen refresh rate, and thought maybe
applying the damage tracking idea to SDL would make it reasonable to
increase the rate or even remove the limit completely.

Experimenting on that idea resulted in a bit of a refactoring to pull
sandbox out of the video uclass, so I'm sending it as a series in case
some of it could be useful.

As for the partial update idea itself, I found that having the delay
around 1/refresh-rate appears to be the most visually smooth (about
7ms for 144Hz, 16ms for 60Hz etc.), but couldn't exactly evaluate CPU
usage for which the original 10Hz rate limit was set. In any case, the
visual appeal of sandbox doesn't really matter, so I don't exactly care.

Of course, this applies onto the video damage tracking series that I
recently updated and sent [1], but only the "partial updates" patch
is functionally dependent on it.

[1] https://lore.kernel.org/u-boot/20230821135111.3558478-1-alpernebiyasak@gmail.com/

Alper Nebi Yasak (5):
  sandbox: video: Display copy framebuffer if enabled
  video: Allow deferring and retrying driver-specific video sync
  sandbox: video: Move sync rate limit into SDL code
  sandbox: video: Move sandbox video sync to a driver operation
  RFC: sandbox: video: Use partial updates for SDL display

 arch/sandbox/cpu/sdl.c         | 34 ++++++++++++++++++++++++++--------
 arch/sandbox/include/asm/sdl.h | 13 ++++++++++---
 drivers/video/sandbox_sdl.c    | 30 ++++++++++++++++++++++++++++++
 drivers/video/video-uclass.c   | 14 ++------------
 include/video.h                |  3 ++-
 test/dm/video.c                |  2 +-
 6 files changed, 71 insertions(+), 25 deletions(-)

base-commit: 3881c9fbb7fdd98f6eae5cd33f7e9abe9455a585
prerequisite-patch-id: aad206b8942d0e8654ba1b11f28104950baf1518
prerequisite-patch-id: ee3d21bb91062ebbcf0c3a75342d7fa37d5630ce
prerequisite-patch-id: 7fcaec0bb8b5bbb5b3813bda896034c9b98b67b9
prerequisite-patch-id: aa4173ebedc3f6d0f04f72bf49bed642614f42a7
prerequisite-patch-id: 06676907c4d262880f7904fed33de11057e886f0
prerequisite-patch-id: 63bbfd7808bddea8b39120d50bb61ac1c4b3eeb8
prerequisite-patch-id: 8941f56b57f7ece319eed67ce8584e7769a36a3b
prerequisite-patch-id: b89b375a3221ac1f89f3eb15fa20a2140ea5687c
prerequisite-patch-id: 950508eaecbbc01560a2f24778786dd50e7c20e8
prerequisite-patch-id: c30b2a60881bc813e4d8a7e1a99fd99c368957d2
prerequisite-patch-id: 963770b5a43c750bac620788562ce549ac48dacd
prerequisite-patch-id: 500af25e869687516da147ce7c819c6b32a9bc92
prerequisite-patch-id: b064cd6b7db9cd122f10c2ae2573328ac945b3be

More information about the U-Boot mailing list