<div style="font-family: arial; font-size: 14px;">Heyas!</div><div style="font-family: arial; font-size: 14px;"><br></div><div style="font-family: arial; font-size: 14px;">I'm writing a compositing window manager that renders using opengl (<span><a target="_blank" rel="noreferrer nofollow noopener" href="https://redhog.github.io/InfiniteGlass/">https://redhog.github.io/InfiniteGlass/</a> ). To render windows, I'm using <span>XCompositeNameWindowPixmap and <span>glXCreatePixmap.</span></span></span></div><div style="font-family: arial; font-size: 14px;"><span><span><span><br></span></span></span></div><div style="font-family: arial; font-size: 14px;"><span><span><span>Calling <span style="background-color:rgb(255, 255, 255);display:inline !important">glXCreatePixmap for each damage / content update is expensive. On some Xorg servers / display drivers it works to only call it one when calling <span style="background-color:rgb(255, 255, 255);display:inline !important">XCompositeNameWindowPixmap, while on others hat means window content freezes. Specifically it doesn't seem to work under llvmpipe.</span></span></span></span></span></div><div style="font-family: arial; font-size: 14px;"><span><span><span><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"><br></span></span></span></span></span></div><div style="font-family: arial; font-size: 14px;"><span><span><span><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important">Setups where it works:</span></span></span></span></span></div><div style="font-family: arial; font-size: 14px;"><ul><li><span><span><span><span><span style="background-color:rgb(255, 255, 255);display:inline !important"><span style="background-color:rgb(255, 255, 255);display:inline !important"></span></span></span></span></span>A stock Ubuntu 18.04 on a physical machine with <span>Mesa DRI Intel(R) UHD Graphics (CML GT2).</span></span></li></ul><div><span><span>Setups where it doesn't work:</span></span></div><div><ul><li><span><span><span></span></span>Xephyr with <span>llvmpipe (LLVM 10.0.0, 256 bits)</span></span></li><li><span>A <span style="background-color:rgb(255, 255, 255);display:inline !important">stock Ubuntu 18.04<span> under VirtualBox with <span>llvmpipe (LLVM 12.0.0, 256 bits) (Not sure why this doesn't get hardware acceleration)</span></span></span></span></li></ul><div><span><span style="background-color:rgb(255, 255, 255);display:inline !important"><span><span><br></span></span></span></span></div></div><div><span><span style="background-color:rgb(255, 255, 255);display:inline !important"><span><span>My question: What's the rule? Is there one? How do I detect whether I need to call it on every update or not?</span></span></span></span></div><div><span><span style="background-color:rgb(255, 255, 255);display:inline !important"><span><span><br></span></span></span></span></div><div><span><span style="background-color:rgb(255, 255, 255);display:inline !important"><span><span>Thanks in advance,</span></span></span></span></div><div><span><span style="background-color:rgb(255, 255, 255);display:inline !important"><span><span>Egil</span></span></span></span></div><div><span><span style="background-color:rgb(255, 255, 255);display:inline !important"><span><span><br></span></span></span></span></div></div><div class="protonmail_signature_block" style="font-family: arial; font-size: 14px;">
</div>