Xpra: Ticket #1497: fix painting cursor with opengl

Follow up from #1496, see r15576.

We copy the pixels one at a time which is horrid. Someone who understands opengl should fix the texture code instead..



Mon, 22 Jul 2019 16:58:26 GMT - Antoine Martin: status changed

For reference, the current (broken) code can be enabled using:

XPRA_OPENGL_TEXTURE_CURSOR=1 xpra attach ...

And the actual painting code can be seen by looking for TEXTURE_CURSOR in browser/xpra/trunk/src/xpra/client/gl/gl_window_backing_base.py.


Mon, 22 Jul 2019 18:39:02 GMT - Antoine Martin:

Well, I'll be damned!

Following the precious advice that glEnablei(GL_BLEND) was invalid, I removed it in r23265. (after wrongly trying to replace it by glEnable(GL_BLEND) in r23263, which quickly got reverted in r23264 as painting was broken)

r23266 + r23267 does replace it though, but only for the cursor paint code, and now it seems to work! So r23269 enables it by default.

I am keeping this ticket open, because this is going to need a lot more testing. Already tested:


Mon, 22 Jul 2019 18:52:16 GMT - Antoine Martin:

r23270 also disables GL_BLEND once we're done painting the cursor


Thu, 01 Aug 2019 14:57:11 GMT - Antoine Martin: status changed; resolution set

Works great.


Sat, 23 Jan 2021 05:25:55 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1497