ChanServ changed the topic of #zink to: official development channel for the mesa3d zink driver || https://docs.mesa3d.org/drivers/zink.html
<zmike> ajax: congrats, this is the first ci pipeline in months that hasn't had a glx@glx-multi-window-single-context flake
<zmike> huge patch
fahien has joined #zink
omegatron has joined #zink
fahien has quit [Ping timeout: 480 seconds]
fahien has joined #zink
<zmike> ajax: it seems kopper doesn't implement buffer age
<zmike> and this makes cts very unhappy
<ajax> cts needs buffer age?
<zmike> yep
<zmike> e.g., dEQP-EGL.functional.buffer_age.preserve.no_resize.odd_clear_clear_even_clear
<ajax> well then.
<ajax> i hate to be a stickler about this kind of thing but i don't think vulkan actually makes any promises that the swapchain image is unchanged between when you present it and next you acquire it
<zmike> cc jekstrand
<zmike> and bnieuwenhuizen
<ajax> yeah, we don't even wire up the vtable slot. was that just copypasta to get the extn list to match what pre-kopper had?
<zmike> probably
<zmike> I was filling them in as I went
<ajax> well the easy way to make those fails go away is to not lie about being able to do them, but probably we want it to actually work too
<ajax> which: may be tricky
<jekstrand> ajax: IDK that it does.
<jekstrand> ajax: I mean, we might be able to ammend the spec so that it does but I don't know for sure.
<ajax> i could also really use a "please mister display server release that last image back to me, allocate and blit if you have to replace it" extension
<ajax> assuming i can actually get the above immutability promises
<ajax> jekstrand: VK_KHR_present_maintenance1 maybe
<ajax> although. the "pixel ownership test" exists for exactly this reason, the display server may in fact not be able to or want to guarantee that those pixels didn't change
<jekstrand> Vulkan swapchains do have damage rects
<jekstrand> But that doesn't mean you can make assumptions
<ajax> which... sounds like i want an extension to AcquireNextImage that lets the winsys feed me back whether it was dirtied
<ajax> and maybe where?
<jekstrand> That doesn't sound too crazy
<ajax> can i please go one week without needing to refer to presentproto.txt
<jekstrand> ajax: I seem to manage to. :P
<ajax> present doesn't have enough mojo to do dirty rect return, sigh
<ajax> and i'm not entirely sure i could bend damage to the task because we're not actually allowed to use non-xge events in libraries, good work team
<ajax> zmike: https://paste.centos.org/view/raw/8f4faca6 plumbs things down to zink, i think kopper_displaytarget needs to start tracking age?
<zmike> 🤔
<ajax> init every sci's age to 0, set it to 1 when presenting, then increment every other image's age that was non-zero
<zmike> hm
<ajax> wow. damage is useless for this too because there's no way to get a Damage that generates no events and is just a Regionable
<ajax> if only xserver actually _had_ the concept of a Regionable
* ajax snaps the rubber band on his wrist
fahien has quit [Quit: fahien]
<jekstrand> I really need to get my per-sample dispatch MR landed.
<jekstrand> Found a very ugly comment in ANV. :-;/
<zmike> ajax: so were you imagining I would finish off that paste or are you just rubber-ducking