https://bugs.winehq.org/show_bug.cgi?id=45277
--- Comment #13 from Roderick Colenbrander thunderbird2k@gmail.com --- (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..