ChanServ changed the topic of #zink to: official development channel for the mesa3d zink driver || https://docs.mesa3d.org/drivers/zink.html
Soroush has joined #zink
Dark-Show has joined #zink
Dark-Show has quit [Ping timeout: 480 seconds]
<neobrain> Managed to resolve yesterday's issue :)
<neobrain> The problem was FEX (sitting between guest zink and the host vulkan driver) messed up one specific member in the queried VkPhysicalDeviceLimits, which led to that zero-byte vkAllocateMemory call, which broke everything after
neobrain has quit [Ping timeout: 480 seconds]
neobrain has joined #zink
<zmike> hooray
illwieckz has quit [Quit: I'll be back!]
illwieckz has joined #zink
sewn has joined #zink
sewn has quit []
<neobrain> Where does zink_resource_object::dt_idx get set to anything other than UINT32_MAX?
<zmike> kopper_acquire
<neobrain> Ah, via vkAcquireNextImageKHR, I see
<neobrain> Getting there, but wl_display_dispatch_queue_pending is returning "Invalid argument" when aquiring the 5th image... any advice on how to figure out what exactly it's tripping over?
<zmike> cc daniels
<daniels> neobrain: export WAYLAND_DISPLAY=client
<daniels> generally that happens because you do something wrong and the server sends you a fatal protocol error, which shows up with $WAYLAND_DEBUG
<daniels> there are some more exotic causes for wl_display_dispatch_queue_pending returning -1 and an errno, but ... not many
<neobrain> Yeah, this is 100% FEX hijacking some state that is passed between zink and the vulkan driver, just need to figure out what exactly it is
<neobrain> WAYLAND_DEBUG=1 didn't print anything obvious, but WAYLAND_DISPLAY=client makes everything fail immediately (vkcube segfaults and my SDL example fails SDL_Init saying "wayland not available" with that envvar set)
skmp__ has joined #zink
<Sachiel> probably meant WAYLAND_DEBUG=client
<daniels> yeah, that
<neobrain> hmmm didn't see anything standing out there either (there's a *lot* of logs before the error), but just noticed this one a while before the call to vkAcquireNextImage: "libEGL debug: EGL user error 0x3003 (EGL_BAD_ALLOC) in eglSwapBuffers: failed to find free buffer"
<neobrain> I'm guessing that's the culprit that causes the subsequent wayland error
<neobrain> Ah, SDL also seems to be operating on an invalid wl_proxy object
sinanmohd has joined #zink
sinanmoh- has quit [Remote host closed the connection]
<zmike> anholt: good news: I've just implemented a variation on tu's bo debugging for zink, and it seems pretty useful even though I'm not entirely sure how to get it to print the most useful info
<anholt> yeah, getting any visibility into memory usage is great usually.