google / google/gfxstream

Zero-copy display-buffer import for GPU rendering to avoid rutabaga_resource_transfer_read CPU readback on custom hypervisor backend

Open
#183 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.