07:41 MrCooper: zf: the X server implicitly synchronizes to client GPU work flushed before the server processes the request, and the client has to implicitly synchronize to server GPU work flushed before it sends the PresentIdleNotify event; note that unfortunately the nvidia driver doesn't implement this, so with that driver only explicit synchronization via PresentPixmapSynced can work correctly
14:19 zf: MrCooper: is that any GPU work at all? if I have a dma_buf shared between x and gl/vulkan and I write to it with the latter without any extra sync, that works and the kernel is supposed to figure it out?
14:19 MrCooper: it's about the GPU work generated by GL / Vulkan
14:20 zf: (for a bit of explanation, we're looking into replacing the swapchain implementation in wine with direct use of Xpresent, for reasons mostly having to do with having to emulate a compositor in some cases)
14:20 MrCooper: upstream kernel/Mesa drivers handle implicit sync, nvidia doesn't
14:22 MrCooper: does the Xorg nvidia driver (properly) support the Present extension? Honestly not sure
14:23 zf: er right, I shouldn't say "any GPU work at all", just, like, I don't have to do anything special on my end to say "hey, this buffer is written, synchronize with it please :-)"
14:23 zf: yeah, nvidia is a bit intimidating, but one step at a time and all that
14:26 MrCooper: at a minimum you need to flush the GPU work to the kernel before submitting the PresentPixmap request to the X server
14:27 zf: right, yeah
14:28 zf: but like, vkQueueSubmit() / glFlush() then PresentPixmap is enough for mesa?
14:39 MrCooper: glFlush yes, not sure about vkQueueSubmit though, implicit sync might be handled by Mesa's WSI code, at least with some drivers
17:15 zf: urgh, sounds like this may be a fool's errand then :-/ well, thanks for the help at least
19:57 pixelcluster: sghuge: rather close, i'd say? only blocker right now is review
19:58 sghuge: pixelcluster: Okay, I will get on it. I will try my best to grasp as much as possible. Sorry I haven't look at it very closely yet.
19:59 sghuge: I will also make sure you test it on multiple platforms and games..
20:29 karolherbst: sooo I might be blind.. but don't we have an optimization for (fmul (fmul a const) (fmul b const))? I though we had something but I can't find it..