D3D8 Software Vertex Processing
Jan Havran
havran.jan at email.cz
Sun Aug 6 10:19:17 CDT 2017
Hello,
i am trying to fix #9337 [1] for VietCong game (game is crashing during
loading 3D objects) for which exists community util which fixes it. This
util was made to fix issues for VC on newer Windows - fixing this bug in
Wine was just side effect. Anyway, i have talked to creator of this util
(Brchi from The Archi Family) about it. The game originally use software
vertexes only, but he edited the game and switched to hardware vertexes
(which increased FPS rapidly on Windows), but he was facing the same
problem - the game was crashing. Fortunately, he found that the game
uses different code branches when hardware vertex are used - developers
probably never finished support for hardware vertexes and that is reason
why it is crashing when HW vertexes are used. He fixed game code so it
works with HW vertexes (even in Wine).
The problem is that game uses only SW vertexes and these unfinished
branches are called only when HW vertexes are used, which is not a
problem for Windows (which support SW vertexes). But for some reason
Wine uses HW vertexes even if game wants to use SW vertexes. Thats why
the game works in Wine only with this util applied.
I can see from report [2] that game tries to use SW vertexes, which are
unsupported by Wine. Can I simply edit some code in Wine (some D3D flag)
so the game will think that it use SW vertexes, so after checking some
flags by game it will not jump into some unfinished branches for HW
vertexes? I just want to test if it is really caused by this. From
application view, what is difference between using SW and HW vertexes,
do you think that using HW vertexes with code done for SW vertexes will
work?
[1] https://bugs.winehq.org/show_bug.cgi?id=9337
[2] https://bugs.winehq.org/show_bug.cgi?id=9337#c35
Thanks,
Jan
More information about the wine-devel
mailing list