<alyssa>
that sounds vaguely familiar but I don't remember why
<alyssa>
chergert: does it happen with non-asahi mesa drivers?
<alyssa>
(intel, amd?)
<chergert>
alyssa: it works on intel Arc and iGPU it looks like here
ciara has joined #asahi-gpu
<chergert>
the older renderer which i worked on in GTK works fine, it's just our new one (which admitadly pushes things much harder to do more dmabuf stuff)
<chergert>
but if you want an "easy" way to test, build GTK from source, and run epiphany with that. "show overview" (ctrl+shift+o) should expose it
<alyssa>
please send an apitrace
<chergert>
what i do notice is that it's when using webkit here, which uses a gl texture to pass data to GTK
<chergert>
sure, ill record one
<alyssa>
thanks
<chergert>
oh, i think i need to force GL instead of GLES
<chergert>
thankfully same error with GL too
adewart has quit [Remote host closed the connection]
<chergert>
(it prefers GLES iirc to ensure support for DMA-BUF importing)
<alyssa>
can you try getting the apitrace from the intel (iris) ?
<alyssa>
cross-driver apitraces are a little bit spicy but should be ok here
chergert has quit [Quit: chergert]
chergert has joined #asahi-gpu
<chergert>
alyssa: sorry for the delay, will do so quick
<chergert>
uploaded to #38
<alyssa>
thx
<alyssa>
chergert: no dice, the replay still doesn't repro
KxCORP has quit [Quit: Bye!]
KxCORP has joined #asahi-gpu
al3xtjames has quit [Quit: al3xtjames]
wrender has joined #asahi-gpu
al3xtjames has joined #asahi-gpu
opticron has quit [Read error: Connection reset by peer]
opticron has joined #asahi-gpu
<chergert>
alyssa: is there a way to force apitrace to write synchronously?
<chergert>
maybe it's getting dropped from buffering + crash
<chergert>
added a gdb backtrace at least
<alyssa>
I have no clue how that common code would fail on asaahi but pass on iris
<alyssa>
unless it's transfer helper related maybe
<alyssa>
chergert: right before the assert can yo printf the pt->last_level and the lastLevel?
<chergert>
sure, one sec
<alyssa>
thx
<alyssa>
the weird part to me is just that iris is fine
<chergert>
i get a bunch of 8 >= 8, then a single 11 >= 11, then the crashing, 0 >= 11
<alyssa>
Hm.
* alyssa
suspects shenanigans
<alyssa>
valgrind, maybe?
<chergert>
already on it, just waiting heh
<alyssa>
i gotchu
<chergert>
the thing i love about doing GPU for toolkits is that even when its slow to valgrind, it's 100x faster than it was doing pixman in a trenchcoat for the past 20 years
<alyssa>
:D
<i509vcb>
gpu also means I can do frankly dumb things like write a wayland compositor that's almost entirely gpu driven because why not do stuff that makes no sense on the gpu on the gpu
<i509vcb>
and then put in the killing blow by doing async rust as well for that...
<i509vcb>
(I don't know why I like doing these frankly insane projects)
<chergert>
the nice thing about async/await in C is you can finally gdb across segmented stacks
john-cabaj has quit [Remote host closed the connection]
john-cabaj has joined #asahi-gpu
<chergert>
no luck from compiling mesa w/ asan at least, time to add the rest
<chergert>
better than having to maintain an entire futures/fiber library like i did
<chergert>
but i did learn something super cool in the process, you can use io_uring now + eventfd semaphores to do global work queues and only wake up a single worker
<chergert>
neat stuff you could never make work 10 years ago w/ epoll
<i509vcb>
epoll/kqueue is probably fine enough for me
<i509vcb>
I'll probably be able to meet the frame budget for 240Hz easily even with epoll
<chergert>
honestly, unless you're over 1000 fds poll() is probably faster anyway
<i509vcb>
wayland compositors generally sleep the vast majority of the time anyways
chergert has left #asahi-gpu [Good Bye]
chergert has joined #asahi-gpu
<chergert>
i think the valuable thing about something like io_uring in the context of a compositor is that you could make your normal "for every client write this little message" thing do a single context switch
<i509vcb>
I don't have access to the underlying client buffers unfortunately
<i509vcb>
libwayland-server doesn't give you those and wayland-rs can't expose the buffers without some compat footgun
<i509vcb>
short of writing a library to speak the wire protocol, but that's honestly more involved than I want to go
<chergert>
i probably need to do some surgery for the client side for GTK soon, because when I profile we waste so much time going through generic FFI marshalling too
<chergert>
always work to do
* chergert
sighs
<chergert>
as soon as i asan most my things, webkit stops working