Jacek Caban (@jacek) commented about dlls/winevulkan/vulkan_thunks.c:
return (void *)out;
}
+static inline void convert_VkDeviceOrHostAddressKHR_win32_to_host(const VkDeviceOrHostAddressKHR32 *in, VkDeviceOrHostAddressKHR *out) +{
- if (!in) return;
- out->deviceAddress = in->deviceAddress;
- out->hostAddress = (void *)UlongToPtr(in->hostAddress);
FWIW, this will not do the right thing on wow64 when the address is meant to be device address. It will override the upper part of deviceAddress. It was broken in a different way before that commit by not zeroing upper 32 bits when host address should be used, so it essentially depended on caller to initialize that part. Unfortunately, I don't see a good way of solving it properly.