Heyas!

I'm writing a compositing window manager that renders using opengl 
(https://redhog.github.io/InfiniteGlass/ ). To render windows, I'm using 
XCompositeNameWindowPixmap and glXCreatePixmap.

Calling glXCreatePixmap for each damage / content update is expensive. On some 
Xorg servers / display drivers it works to only call it one when calling 
XCompositeNameWindowPixmap, while on others hat means window content freezes. 
Specifically it doesn't seem to work under llvmpipe.

Setups where it works:

- A stock Ubuntu 18.04 on a physical machine with Mesa DRI Intel(R) UHD 
Graphics (CML GT2).

Setups where it doesn't work:

- Xephyr with llvmpipe (LLVM 10.0.0, 256 bits)
- A stock Ubuntu 18.04 under VirtualBox with llvmpipe (LLVM 12.0.0, 256 bits) 
(Not sure why this doesn't get hardware acceleration)

My question: What's the rule? Is there one? How do I detect whether I need to 
call it on every update or not?

Thanks in advance,
Egil

Reply via email to