Just tracked down a crash in the game Dark Age of Camelot (daoc) when pixelshaders are enabled. The game issues a GetDeviceCaps() and then checks if MaxVertexBlendMatrices >= 4, which on wine is set to zero on my videocard (Geforce 6800), whereas a windows box returns 4.
I found this old post concerning MaxVertexBlendMatrices causing issues in another game (EQ): http://www.winehq.org/pipermail/wine-devel/2008-February/062432.html http://www.winehq.org/pipermail/wine-devel/2008-February/062437.html
So I was wondering what the proper way to fix this would be? Should this be made overrideable by a registry setting for certain games? Or should the GL check be changed? Or is that software emulated vertex blending patch needed to correctly fix the issue?
Bugzilla has 3 other games where the simple 'fix' of returning 4 makes the game work (Warhammer, EQ, Shin Megami Tensei Online): http://bugs.winehq.org/buglist.cgi?quicksearch=MaxVertexBlendMatrices
-- For reference the daoc bug is http://bugs.winehq.org/show_bug.cgi?id=10832