Jacek Caban (@jacek) commented about dlls/winevulkan/make_vulkan:
"vkGetInstanceProcAddr": {"dispatch" : False, "driver" : True, "thunk" : ThunkType.NONE, "loader_thunk" : ThunkType.NONE}, # Instance functions
- "vkCreateDevice" : {"dispatch" : True, "driver" : False, "thunk" : ThunkType.NONE, "loader_thunk" : ThunkType.PRIVATE, "extra_param" : "client_ptr"},
- "vkCreateDevice" : {"dispatch" : True, "driver" : False, "thunk" : ThunkType.PRIVATE, "loader_thunk" : ThunkType.PRIVATE, "extra_param" : "client_ptr"},
This patch gives new meaning to PRIVATE vs. NONE thunk type, unwrapping the chain of one, but not the other. Is it intentional? Currently extension chains are just always unwrapped and it matches what we need. Unless there is a reason to change it (it's not clear from this MR, the new scheme is not used anyway), I'd consider just using bool for the thunk property in FUNCTION_OVERRIDES.