[PATCH v2 1/5] winevulkan: Support prefixing function parameters.

Rémi Bernon rbernon at codeweavers.com
Fri Dec 10 08:00:49 CST 2021


On 12/10/21 14:41, Jacek Caban wrote:
> On 12/10/21 10:41 AM, Rémi Bernon wrote:
>> On 12/10/21 10:37, Derek Lesho wrote:
>>>
>>> On 12/10/21 10:26, Rémi Bernon wrote:
>>>> On 12/10/21 03:07, Jacek Caban wrote:
>>>>>
>>>>> To allow them being accessed from a struct.
>>>>>
>>>>> Signed-off-by: Jacek Caban <jacek at codeweavers.com>
>>>>> ---
>>>>> v2: make remaining direct calls more similar to __wine_unix_call
>>>>>
>>>>>   dlls/winevulkan/make_vulkan | 59 
>>>>> ++++++++++++++++++++-----------------
>>>>>   1 file changed, 32 insertions(+), 27 deletions(-)
>>>>>
>>>>>
>>>>
>>>> Thanks, it indeed fixes the issue with Control DX12.
>>>>
>>>> Now that it works I could measure that the series causes a ~25% fps 
>>>> drop in that same game, from an average of 165fps to 125fps measured 
>>>> with WINEDEBUG=+fps, while being steady near the beginning of the game.
>>>>
>>>> Maybe this could wait after 7.0 and take some more time to explore 
>>>> possible mitigations?
>>> Would sending patches during the code freeze optimize this path count 
>>> as regression fixing? 😅
>>
>> I guess, but I don't really see why this would be critical to include 
>> now, I believe Wine 7.0 will still be missing critical pieces to make 
>> winevulkan wow64 usable.
> 
> 
> I don't think this is critical. The most important parts of the series 
> were committed yesterday and with them, we no longer need old style Unix 
> libs. The rest would be still nice to have. Even if we don't enable 
> syscalls for everything, it would be nice to be prepared for them.
> 
> 
> BTW, wow64 is not everything. For example, the patchset avoids Windows 
> debuggers being confused by Vulkan calls.
> 

I completely understand that, and we definitely want the developers to 
be able to debug their games seamlessly.

However I think it's a specific and minority use case, and most people 
will just run the games and are only interested in having the best 
performance they can get with their hardware.

In the same way as debug builds could be worth for developers (debug 
symbols ofc, but we could go further than that), but are clearly not 
something we want to have for normal users, maybe we can consider having 
a compile-time switch for this kind of "full debugger support" feature?

I'm not completely aware of why the full FPU context needs to be saved 
and restored for instance, but if it's only for the debugging 
experience, could that simply be stripped in such builds?

Cheers,
-- 
Rémi Bernon <rbernon at codeweavers.com>



More information about the wine-devel mailing list