On Wed Jun 3 10:14:46 2026 +0000, Rémi Bernon wrote:
This kind of interop with third-party projects has proven to be quite annoying when refactoring Wine internals and I expect this area to require a lot more of it in the future. It would be nicer to find a more standard way, or that depends less on internal implementation and especially not on internal structures. But we are not depending on any internals structures here, no?
The consumer of the API just needs to get a metal layer for its HWND, and this is much better than the usage of get_win_data, create_metal_device, create_metal_view, get_metal_layer, release_win_data, that is currently done by downstream projects (for more recent versions even through a compatibility shim, since Wine internals did change there). The surface pointer is just something opaque the consumer needs to release after it is done with the Metal layer, not something that is used in any other way... -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11058#note_142090