Skip to content

Conversation

@gulafaran
Copy link
Contributor

if we have no screenshader, no transforms we can use glBlitFramebuffer to blit offloadFB to the outFB. which is a much faster way to render the content.

if we have no screenshader, no transforms we can use glBlitFramebuffer
to blit offloadFB to the outFB. which is a much faster way to render the
content.
@vaxerski
Copy link
Member

vaxerski commented Jan 1, 2026

are we sure this is actually facster? IIRC most drivers just impl this as a textured pass

@gulafaran
Copy link
Contributor Author

are we sure this is actually facster? IIRC most drivers just impl this as a textured pass

yeah cant say what drivers exactly do behind the scene but had to research besides my testing of it, i used a ceglsync and measured avg rendertimes of each call when fd syncs in a nested sessions, and tried to keep things as isolated as possible. saw a slight improvement. it all stems from seeing various other projects using it aswell mpv-player/mpv@883d311 , Use glBlitFramebuffer() instead of another shader pass. It should be faster.

but since you ask i tried to research it a bit on various forums and it seems to be driver dependent. in my mind and as above committer it should be faster because of not requiring yet another shader pass etc then just simply transfer a rectangle of pixel values from one region of a read framebuffer to another region of a draw framebuffer.

but if all drivers suck and is slower or simply doing the exact same thing anyways on the "lesser" path i got no clue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants