#478 closed defect (fixed)
opengl backend should preserve fbo contents when resizing
Reported by: | Antoine Martin | Owned by: | Antoine Martin |
---|---|---|---|
Priority: | critical | Milestone: | 3.0 |
Component: | client | Version: | |
Keywords: | opengl | Cc: |
Description (last modified by )
At the moment, when we change the size of the backing, we do an almost full gl_init()
which clears the textures and fbos.
This makes the screen flicker a little because we have to wait for the next frame before we can paint the actual contents, unlike the pixmap backing which paints the old backing contents onto the new one.
A patch is attached which detects screen size changes and tries to avoid clearing the buffers, but this leads to buffer bleeding on the edges of the old dimensions!? (screenshot also attached)
Another thing we should be able to do is to paint both the fbo and the backbuffer at the same time, instead of painting onto the fbo then doing a full update of the backbuffer from the fbo using present_fbo
. Or at the very least, we should pass the coordinates of the region to paint rather than painting the whole window!
Attachments (5)
Change History (22)
Changed 7 years ago by
Attachment: | gl-noclear.patch added |
---|
Changed 7 years ago by
Attachment: | gl-noclear-screenshot.png added |
---|
results of resizing with the noclear patch..
comment:1 Changed 7 years ago by
Owner: | changed from Antoine Martin to Antoine Martin |
---|---|
Status: | new → assigned |
comment:2 Changed 7 years ago by
Description: | modified (diff) |
---|---|
Milestone: | 0.12 → 0.13 |
Priority: | major → critical |
Too late for 0.12, but important so raising the priority.
comment:4 Changed 6 years ago by
Milestone: | 0.15 → future |
---|
Best done by someone who understands opengl better than me.
comment:5 Changed 5 years ago by
This should be easier now that we have code that swaps framebuffers: r12878
But blocked by ticket:1233#comment:3
Changed 5 years ago by
Attachment: | gl-resize.patch added |
---|
try to use blitframebuffer and the tmpfbo to preserve the contents - no workee
comment:6 Changed 5 years ago by
Is this related to window resizing? with latest 0.18 build window content is visually shifted and shredded when resizing with opengl switched on.
comment:7 Changed 5 years ago by
Owner: | changed from Antoine Martin to psycho_zs |
---|---|
Status: | assigned → new |
@psycho_zs: it is, can you check if the shredding still occurs if you run the client with XPRA_SCROLL_ENCODING=0 xpra attach ...
or with opengl turned off? (see #1232 for details)
comment:8 Changed 5 years ago by
No shredding with opengl turned off.
still occurs with XPRA_SCROLL_ENCODING=0 on client side. (xpra 0.18.0, beta package of 2016-06-28)
comment:9 Changed 5 years ago by
@psycho_zs: can you please post your gl_info (or even the full bug report zip)?
comment:10 Changed 5 years ago by
is that what you've asked, or you mean something from xpra debug output?
comment:11 Changed 5 years ago by
@psycho_zs: see wiki/ClientRendering/OpenGL: python xpra/client/gl/gl_check.py
comment:12 Changed 5 years ago by
* renderer : Mesa DRI Intel(R) Ivybridge Mobile * vendor : Intel Open Source Technology Center
The Intel drivers don't work properly and should have been greylisted by the gl_check code.
@psycho_zs: can you run with the latest beta build with:
XPRA_OPENGL_DEBUG=1 python xpra/client/gl/gl_check.py
comment:13 Changed 5 years ago by
@psycho_zs: that's now correct and shows:
* safe : False
And opengl will not be enabled by default with this Intel card (more info here: #1233), the visual corruption should disappear.
comment:14 Changed 3 years ago by
Milestone: | future → 4.0 |
---|---|
Owner: | changed from psycho_zs to Antoine Martin |
Status: | new → assigned |
Not heard back, so I assume that the corruption is fixed.
comment:15 Changed 19 months ago by
Milestone: | 4.0 → 3.0 |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
comment:17 Changed 5 weeks ago by
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/478
tries not to clear the textures and fbos when resizing