https://bugs.winehq.org/show_bug.cgi?id=49813
Georg Lehmann dadschoorseapi@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dadschoorseapi@gmail.com
--- Comment #1 from Georg Lehmann dadschoorseapi@gmail.com --- I'm working on an implementation for this.
I think I found a way to implement calling convention conversion for the callback calls, by using the user data parameter to store a the applications callback + data and unwraping that in a general function.
But additionally those callbacks get the effected handle(s) as an argument.
This is major issue since winevulkan wraps some handles (VkCommandBuffer VkDevice VkInstance VkCommandPool VkPhysicalDevice VkQueue).
We need to somehow get the wrapper from a native handle. Otherwise we would return invalid handles to the application running in wine.
I see no easy way that fix this, other than to store a mapping of the effected handles per instance. This could be enabled only if an effected extension is activated.
A simpler alternative would be to fallback to the instance as the reporting object, although I'm not sure if this couldn't cause other issues.
Either way, there might also be the handle in the message string itself, but I strongly hope no application uses that for anything other than logging.