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..
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.
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:
r23270 also disables GL_BLEND
once we're done painting the cursor
Works great.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1497