ChanServ changed the topic of #zink to: official development channel for the mesa3d zink driver || https://docs.mesa3d.org/drivers/zink.html
pendingchaos_ has joined #zink
pendingchaos has quit [Ping timeout: 480 seconds]
jekstrand has quit [Remote host closed the connection]
jekstrand has joined #zink
jekstrand has quit [Ping timeout: 480 seconds]
jekstrand has joined #zink
LexSfX has quit []
LexSfX has joined #zink
LexSfX has quit []
LexSfX has joined #zink
pendingchaos_ is now known as pendingchaos
lygstate has joined #zink
<lygstate> Hello, does zink support for double frame buffer? I am trying to fixing zink resize issue on windows
kchibisov has joined #zink
<kchibisov> What is required for opengl(egl) clients to resize on wayland under zink?
<zmike> lygstate: zink can do whatever the frontend passes into it
<zmike> kchibisov: is there a problem with it?
<kchibisov> Yeah, the problem on wayland that the window is usually gets resized via egl_window_resize.
<kchibisov> So with zink the viewport is getting updated, however the back buffer is the one created for initial window.
<kchibisov> That happens with every egl client I've tried... Maybe some library preloading should be involved or something like that?
<zmike> 🤔
<zmike> will check it out in a few
<zmike> kchibisov: what are some examples of apps you've tested?
<kchibisov> alacritty/kitty on sway.
<kchibisov> Was doing MESA_LOADER_DRIVER_OVERRIDE=zink alacritty/kitty.
<zmike> I assume you have your LD_LIBRARY_PATH to use the same libegl as zink?
<kchibisov> yes, zink is installed with system mesa.
<kchibisov> Or am I missing something, since I don't see zink linking to anything egl with ldd?
<zmike> it wouldn't
<zmike> but zink from 22.1 and on is incompatible with other versions of libegl
<kchibisov> Hm, I do use mesa 22.1.
<kchibisov> Though, the libegl is comming from mesa as well.
<kchibisov> Since I'm using amdgpu.
<zmike> huh
<zmike> yup that's pretty broken
<zmike> ajax: this seems like something you'd want to have input in
<zmike> wayland egl hits the zink_kopper_update case in kopper_update_drawable_info, so it never resizes the swapchain
<zmike> or...hm the other path isn't where it should go either
<zmike> think this should do it
<zmike> argh airlied you tricked me!
<kchibisov> zmike: hm, while you're at it do you have any clue wrt https://gitlab.freedesktop.org/mesa/mesa/-/issues/6547 ?
<kchibisov> Since I think while debugging my issue with native egl resizing I was trying to do something you've done, but for all the egl code.
* kchibisov is talking about the lines you've added for wayland egl platform.
<zmike> what client were you triggering this with
<kchibisov> alacritty.
<kchibisov> But it happens only on window creation and when asking for multiple egl surfaces...
<kchibisov> Well, or delition. But you should trigger resize of all the windows near at the same time.
<kchibisov> I've checked the client, libwayland-egl, and only mesa was doing something I don't understand.
<kchibisov> I got kind of lost when debugging it, since it happens randomly when closing one egl surface and others get resized at the same time.
<kchibisov> And in those rare cases they all mark the surface for resize, but continue to use old buffer for the swap_buffers.
<kchibisov> Note, you'd need something to trigger resize at the same time for all the surfaces for one particular instance, so some tiling manager should be used. Not sure such things could happen on e.g. gnome given that other surfaces don't resize...
<kchibisov> zmike: I just don't quite get the line you've added after swapBuffers, since mesa is doing exactly the same before swapping and pointing to the back that will be used for the next frame, but then you manually advance it?
<zmike> no, mesa doesn't handle this
<kchibisov> Ah, zink is using swrast?
<zmike> no, zink is using kopper
<kchibisov> No, I mean the dri2_wl_swrast_display_vtbl?
<zmike> ah
<zmike> yes
<kchibisov> Yeah, it's doing so on the other path for native opengl.
<kchibisov> So probably I'd be able to verify whether my original issue with resizing is present with zink(which is why I've decided to use zink in the first place).
<kchibisov> Since if it's not, it's other platform path issue.
<ajax> zmike: i have to run to an appointment in a few, will take a look when i get back but that might be much later tonight
<zmike> yeah no rush
<Soroush> Hi, what is the coding style for zink?
<zmike> same as general mesa
<zmike> 3 spaces
<Soroush> Thanks, I am looking into implementing PIPE_QUERY_PRIMITIVES_GENERATED with VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT instead of the current situation where it uses 3 different queries. The platform I am working on doesn't have pipelineStatisticsQuery
<zmike> that's already been done though 🤔
<Soroush> Oh is it? I am looking at the 22.0 branch. I'll check the main
<zmike> might be new in 22.1
<Soroush> yup implemented in a9451f25
<Soroush> I'll see if I can backport it easily to 22.0
eukara has quit [Remote host closed the connection]
<zmike> ajax: got more dmabuf/wsi-related MRs up now
<zmike> they're multiplying
<kchibisov> zmike: the patch you've linked doesn't compile for me when applying on mesa main. I'd assume it's based on some other work, given that there's no `drm_fd` on `zink_screen`?
eukara has joined #zink
<zmike> huh?
<kchibisov> I mean, 16814 doesn't build for me without 16815, due to screen->drm_fd missing.
<kchibisov> Since drm_fd on screen is being added in 16815.
<kchibisov> But the issue seems like fixed.
<zmike> 🤔
<zmike> looks like some unrelated changes got squashed in somehow
LexSfX has quit [Ping timeout: 480 seconds]
<zmike> fixed
LexSfX has joined #zink
lygstate has quit [Remote host closed the connection]