https://bugs.winehq.org/show_bug.cgi?id=45277
--- Comment #14 from Zhiyi Zhang zzhang@codeweavers.com --- (In reply to Roderick Colenbrander from comment #13)
(In reply to Zhiyi Zhang from comment #12)
Created attachment 63338 [details] patch
This fixed World of Final Fantasy for me.
While the patch probably works, unfortunately it is not the correct fix. There is a reason I waited implementing this feature. Let me share some background we had the same child window rendering issue for OpenGL. We couldn't directly use X11 windows, so had to resort to offscreen rendering using XComposite + XCopyArea and as a fallback we had a XPixmap backend as well.
We need a similar solution as well for Vulkan. Though first we need some conformance tests providing child window rendering is allowed for Vulkan. Besides for DXVK path, I didn't find any Vulkan child window apps at the time. I always suspect child window rendering is allowed (the spec doesn't disallow it).
In case we render directly to the client window, I suppose we need a patch like yours (likely needs some tweaking). In other cases we need something like the XComposite path. However doing it properly requires probably unifying it with the OpenGL code. I recall I have a patch for this floating around somewhere, but didn't have time to finish... May do a stab at it later..
I had a sense that this is not correct. I haven't figure out how to do the offscreen rendering properly yet. Since you're already working on this, would you like to finish it or would you like me to take over?