[PATCH 5/6] winevulkan: Support using __wine_unix_call interface for Vulkan functions.

Jacek Caban jacek at codeweavers.com
Thu Dec 9 07:04:06 CST 2021


On 12/9/21 12:52 PM, Georg Lehmann wrote:
>
>
> On 09.12.21 03:16, Jacek Caban wrote:
>> Signed-off-by: Jacek Caban <jacek at codeweavers.com>
>> ---
>> vkEndCommandBuffer is used just as an example.
>>
>>   dlls/winevulkan/make_vulkan | 152 +++++++++++++++++++++++++++++++-----
>>   1 file changed, 131 insertions(+), 21 deletions(-)
>>
>>
>
> Hi Jacek,
>
> why did you decide to introduce the wrap_vkX functions on the unix 
> side instead of modifying the functions in vulkan.c directly?


That abstracts things from vulkan.c a bit more. During mu 
experimentations with those patches, I found it useful to be able to 
change how particular functions (or sets of functions) are handled by 
simply changing one make_vulkan line. Now that I think of it, I could 
probably structure the series better and use those structs even for 
direct calls. I will revisit it.


> Also, I'm not particularly a fan of copy-pasting needs_alignment into 
> VkParam from VkMember, but I'm not sure if there is a better solution.


Yeah, I'm not a fan neither. I was looking at leveraging VkMember for 
that, but it doesn't seem to be meant to be used that way. Another 
solution would be to introduce a separate class, which would be shared 
between VkMember and VkParam, but I don't feel like needs_alignment is 
enough to justify such a large change.


Thanks,

Jacek




More information about the wine-devel mailing list