rust-windowing / rust-windowing/softbuffer

Investigate more optimal way to implement CoreGraphics backend

Open
#83 19 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

DS - CoreGraphics
Dominant language
Rust
Stars
506
Forks
85
PR merge metrics
No merged PRs in 30d

Description

Apparently macOS (and iOS, https://github.com/rust-windowing/softbuffer/issues/43) has a framework called IOSurface for exchanging framebuffers and textures between processes, which sounds similar to the idea behind dmabufs on Linux. I think we should be use IOSurfaces for a front and back buffer, and use IOSurfaceGetBaseAddress to get a pointer to write into for no-copy presentation (https://github.com/rust-windowing/softbuffer/pull/65)? Assuming it can work with the right pixel format.

Or are there issues with this, or a better way?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing CoreGraphics backend and linked pull request #65, then study the IOSurface API and its framebuffer and pixel-format constraints. Compare the proposed front/back-buffer approach with the current implementation and document whether it is viable or whether a better approach is needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
macos, rust
Domain
computer-graphics
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.