Hi,
Thanks for pointing out the errors in the page, I have to update it, albeit seems that in this case you don't need to do crosscompilation and you are on the right track compiling proton.
On 11/27/24 9:34 AM, zhengxianwei wrote:
Unfortunately, when using VKD3D-Proton to run the program, new issues arise. Specifically, its HLSL implementation (part of the VKD3D module) seems to lack support for function overloads (source code reference https://gitlab.winehq.org/wine/vkd3d/-/blob/master/libs/vkd3d-shader/ hlsl.y?ref_type=heads#L3014).
The issue here is that function overload is not implemented yet.
Initially we had the policy of always prioritizing an exact type match overload if there is any, which made a lot of shaders compile, but we removed this in:
fef118555cd6341eb648f482a4517d61c347a0d3
because there are some odd cases where this isn't true: e.g. functions with "float" and "float1" arguments. And we want to avoid misscompilations on vkd3d upstream.
The version of vkd3d in stable releases of Proton (not to be confused with vkd3d-proton) keep this hack to avoid regressions.
You can apply the following patch to your vkd3d in proton before compiling proton to add the hack again.
https://gitlab.winehq.org/fcasas/vkd3d/-/commit/4d2637bfc66edd449745b7410043...
We are working on a proper implementation of overload resolution but it might take time.
Best regards, Francisco.