[prev in list] [next in list] [prev in thread] [next in thread]
List: freedesktop-xorg
Subject: XCompositeNameWindowPixmap / glXCreatePixmap
From: redhogxorg <redhogxorg () protonmail ! com>
Date: 2022-03-21 21:43:32
Message-ID: jUqVvaaT91kPfRFB38hTtBwojz-Di2h4KhObQg0PfSvNgbW_oWh_mqttDwxjmUcBerIUviOHduDsLnFCeislZKTDVeenkI5UADD6tk570NQ= () protonmail ! com
[Download RAW message or body]
[Attachment #2 (text/plain)]
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
[Attachment #3 (text/html)]
<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>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic