Zero-copy display-buffer import for GPU rendering to avoid rutabaga_resource_transfer_read CPU readback on custom hypervisor backend
- Dominant language
- C++
- Stars
- 56
- Forks
- 37
- Avg merge
- 3d 8h
- Merged PRs (30d)
- 10
Description
We have successfully run the gfxstream solution on our self-developed hypervisor, but we've found a performance issue. The most severe one is that after the GPU finishes rendering a frame, the rendered data is read back from the GPU into the display's sanout buffer via
"rutabaga_resource_transfer_read", and this incurs significant performance overhead. So I'd like to ask: is there a way to import the display's buffer to the GPU for rendering, achieving memory sharing and avoiding this memory readback/copy?
Contributor guide
Research direction
Start by tracing the gfxstream path around rutabaga_resource_transfer_read and the display's sanout buffer. Determine whether the custom hypervisor backend exposes an import or shared-memory entry point for GPU rendering. Done means the display buffer can be rendered to without the GPU-to-CPU readback or copy, with performance validated on that backend.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100