<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.